顯示具有 XOOPS 標籤的文章。 顯示所有文章
顯示具有 XOOPS 標籤的文章。 顯示所有文章

2013年1月30日 星期三

模組的偏好設定陣列值 ( $xoopsModuleConfig ) 應用在通用區塊


模組的偏好設定陣列值 $xoopsModuleConfig 需要應用在通用區塊時..
需要知道模組 mid 才能取得正確對應的 $xoopsModuleConfig 陣列值
在通用區塊的使用下會自動抓取目前所在的模組 mid
因此通用區塊中使用時,為避免模組mid錯誤,應該這樣寫

function b_data_show() {
        global $xoopsDB, $xoopsUser;
        // 指定模組名稱,取得指定模組 mid
        $module_handler =& xoops_gethandler('module');
        $xoopsModule =& $module_handler->getByDirname('
module_name');
        $mid = $xoopsModule->getVar('mid');
        // 取得該 mid 的模組參數
        $config_handler = & xoops_gethandler('config');
        $xoopsModuleConfig = & $config_handler->getConfigsByCat(0, $mid);
        return print_r( $xoopsModuleConfig );
}

2013年1月13日 星期日

xoops資料輸出處理及驗證

//替特殊符號加入脫逸符號,再存入資料庫
$myts =& MyTextSanitizer::getInstance();
$_POST['value']=$myts->addSlashes($_POST['value']);

//過濾不雅文字
$_POST['value']=$myts->censorString($_POST['value']);

//大量文字
$myts->htmlSpecialChars($text, $quote_style=ENT_QUOTES,$charset= 'ISO-8859-1', $double_encode=true)


1.「$text」就是要被處理之後呈現的文字。
2.「$html」是否允許使用HTML語法,用所見即所得編輯器製作出來的請填1。
3.「$smiley」是否轉換表情圖,預設為1,會將:) 這類的符號轉換為圖片。
4.「$xcode」是否使用BBCode,如:[color=red]文字[/color]。
5.「$image」是否允許在文字中使用圖片。若為0,圖片會以連結來顯示。
6.「$br」是否要將「\n」換行符轉換為<br />,用所見即所得編輯器者請設為0。

//一般文字
$myts->htmlSpecialChars($text, $quote_style=ENT_QUOTES,$charset= 'ISO-8859-1', $double_encode=true)


1.「$text」就是要被處理之後呈現的文字。
2.「$quote_style」要處理的引號模式,「ENT_COMPAT」僅處理雙引號;「ENT_QUOTES」處理雙引號和單引號(預設);「ENT_NOQUOTES」不對任何引號進行處理。
3.「$charset」轉換的預設編碼,通常使用預設值即可。
4.「$double_encode」只有PHP 5.2.3之後才有效。若設為false,則不對現有的HTML實體做編碼的動作。

//驗證

$XoopsFormHiddenToken=new XoopsFormHiddenToken();
$token = $XoopsFormHiddenToken->render();

if(!$GLOBALS['xoopsSecurity']->check()){
    $error=implode("<br />" , $GLOBALS['xoopsSecurity']->getErrors());
    redirect_header($_SERVER['PHP_SELF'],3, $error);
}