Index: trunk/kernel/parser.php =================================================================== diff -u -r3351 -r3576 --- trunk/kernel/parser.php (.../parser.php) (revision 3351) +++ trunk/kernel/parser.php (.../parser.php) (revision 3576) @@ -209,9 +209,10 @@ */ function m_suggest_result() { - global $suggest_result; - - return $suggest_result; + global $objSession; + $ret = $objSession->GetVariable('suggest_result'); + $objSession->SetVariable('suggest_result', ''); + return $ret; } /* @@ -231,24 +232,19 @@ */ function m_subscribe_address() { - global $SubscribeAddress; - - if(strlen($_GET["subscribe_email"])) - return $_GET["subscribe_email"]; - - return ""; + global $objSession; + + return $objSession->GetVariable('SubscribeAddress'); } /* @description: Error message of subscribe to mailing list action */ function m_subscribe_error() { - global $SubscribeError; - - if(strlen($SubscribeError)) - return language($SubscribeError); - return ""; + global $objSession; + $error_phrase = $objSession->GetVariable('SubscribeError'); + return $error_phrase ? language($error_phrase) : ''; } @@ -1563,15 +1559,15 @@ if(!$notable) { $per_row = ceil($objCatList->NumItems()/$cols); - $o = ""; - $o .= "
"; + $o = ''; + $o .= '"; + $o .= ''; $o .= "\n
'; $CatCount = $objCatList->NumItems(); foreach($objCatList->Items as $cat) { $parsed=0; if($count==$per_row) { - $o .= ""; + $o .= ''; $count=0; } if($row==0 && strlen($attribs["_firstitemtemplate"])) @@ -1599,7 +1595,7 @@ $row++; } if($count != $per_row) - $o .= "
\n"; } else @@ -1808,12 +1804,12 @@ LoadLinkList($attribs); } */ - $o = $objCatList->GetPageLinkList($DestTemplate); + $o = $objCatList->GetPageLinkList($DestTemplate, '', 10, true, ExtraAttributes($attribs) ); if (strlen($image)) { $o_i = ' '; } if(strlen($o) && strlen($attribs["_label"])) - $o = $o_i.language($attribs["_label"]).$o; + $o = $o_i.language($attribs["_label"]).' '.$o; return $o; } @@ -1846,9 +1842,9 @@ { LoadCatSearchResults($attribs); } - $o = $objSearchCats->GetPageLinkList($DestTemplate); + $o = $objSearchCats->GetPageLinkList($DestTemplate, '', 10, true, ExtraAttributes($attribs)); if(strlen($o) && strlen($attribs["_label"])) - $o = language($attribs["_label"]).$o; + $o = language($attribs["_label"]).' '.$o; return $o; } @@ -2313,8 +2309,9 @@ */ function m_codevalidationresult($attribs=Array()) { - global $m_var_list_update; - return $m_var_list_update['codevalidationresult']; + global $objSession; + $result_phrase = $objSession->GetVariable('codevalidationresult'); + return $result_phrase ? language($result_phrase) : ''; } /* @@ -3710,6 +3707,49 @@ return IsDebugMode() ? true : ''; } + function m_param($params) + { + $parser_params = GetVar('parser_params'); + $param_name = strtolower($params['_name']); + $value = getArrayValue($parser_params, $param_name); + + if ($value) { + if (getArrayValue($params, '_asphrase')) { + $value = language($value); + } + } + + return $value; + } + + function m_set_category($params) + { + global $m_var_list; + + if (getArrayValue($params, '_onlyonce') && $m_var_list['cat']) return ; + + $db =& GetADODBConnection(); + $category_id = getArrayValue($params, '_catid'); + if (!$category_id) { + $module = getArrayValue($params, '_module'); + if ($module) { + + $sql = 'SELECT RootCat FROM '.GetTablePrefix().'Modules WHERE LOWER(Name) = '.$db->qstr( strtolower($module) ); + $category_id = $db->GetOne($sql); + } + } + + if ($category_id) { + $m_var_list['cat'] = $category_id; + } + } + + function m_template_equals($params) + { + $t = preg_replace('/(.*)\.tpl/', '\\1', $params['_template']); + return $GLOBALS['var_list']['t'] == $t ? true : ''; + } + /*function m_object($attribs=Array()) { $element = new clsHtmlTag();