Index: trunk/core/kernel/utility/http_query.php =================================================================== diff -u -r3258 -r3344 --- trunk/core/kernel/utility/http_query.php (.../http_query.php) (revision 3258) +++ trunk/core/kernel/utility/http_query.php (.../http_query.php) (revision 3344) @@ -1,6 +1,6 @@ Conn =& $this->Application->GetADODBConnection(); @@ -316,7 +316,7 @@ $this->Application->VerifyLanguageId(); $this->Application->Phrases->Init('phrases'); $this->Application->VerifyThemeId(); -// $this->Get('m_lang') ); + $this->Set('t', $this->getDefaultTemplate('') ); $this->finalizeParsing('m'); return false; @@ -366,6 +366,7 @@ $category_stack = Array(); $category_found = false; $category_path = ''; + $rets = Array(); // just in case someone has used this variable before do { $category_path = trim($category_path.'/'.$url_part, '/'); @@ -395,6 +396,10 @@ $this->Set('m_cat_id', $category_id); } } + elseif (!$category_found && getArrayValue($rets, 2)) + { + $url_part = array_shift($url_parts); + } } // match module @@ -535,7 +540,6 @@ { // env=SID:TEMPLATE:m-1-1-1-1:l0-0-0:n-0-0-0:bb-0-0-1-1-1-0 - $env_var = $this->Get(ENV_VAR_NAME); if($env_var) { @@ -673,64 +677,22 @@ } return $array; } - + /** - * Returns the hash of http params - * matching the mask with values + * Returns all $_GET array excluding system parameters, that are not allowed to be passed through generated urls * - * @param string $mask * @return Array - * @access public */ - function GetSelectedValues($mask) + function getRedirectParams() { - return $this->Application->ExtractByMask($this->Vars, $mask); - } - - /** - * Returns the sprintf'ed by format list of - * http params matching the mask and set to on - * - * @param string $mask - * @param string $format - * @return string - * @access public - */ - function GetSelectedIDs($mask, $format) - { - if ($mask == '') return; - $result = ''; - foreach ($this->GetParams() as $name => $val) + $unset_vars = Array(ENV_VAR_NAME, 'rewrite', '_mod_rw_url_', 'Action'); + $ret = $this->Get; + foreach ($unset_vars as $var_name) { - if (eregi($mask, $name, $regs) && $val == 'on') { - - $result.= sprintf($format, $regs[1]); - } + if( isset($ret[$var_name]) ) unset( $ret[$var_name] ); } - return $result; + return $ret; } - - /** - * Returns the sprintf'ed by format list of - * http params matching the mask and set to on - * - * @param string $mask - * @param string $value_mask - * @return Array - * @access public - */ - function GetSelectedIDsArray($mask, $value_mask="%s,") - { - $str = $this->GetSelectedIDs($mask, $value_mask); - $str = rtrim($str, ','); - if (!empty($str)) { - $ids = split(',', $str); - if ($ids !== false) - return $ids; - else return Array(); - } - else return Array(); - } } ?> \ No newline at end of file