Index: trunk/globals.php =================================================================== diff -u -r3021 -r3124 --- trunk/globals.php (.../globals.php) (revision 3021) +++ trunk/globals.php (.../globals.php) (revision 3124) @@ -1928,5 +1928,65 @@ if(!defined($const_name)) define($const_name,$const_value); } } + + function HREF_Wrapper($t = '', $params = null, $index_file = null ) + { + $ret = GetIndexURL(2).'?env='.BuildEnv(); + if( isset($params) ) + { + $map_link = ''; + if( is_array($params) ) + { + if( isset($params['anchor']) ) + { + $map_link = '#'.$params['anchor']; + unset($params['anchor']); + } + foreach ($params as $param_name => $param_value) + { + $ret .= '&'.$param_name.'='.urlencode($param_value); + } + } + else + { + $app =& kApplication::Instance(); + $app->Debugger->appendTrace(); + trigger_error('Incorrect HREF_Wrapper call', E_USER_WARNING); + } + } + return $ret.$map_link; + + /*$application =& kApplication::Instance(); + return $application->HREF($t, '', $params, $index_file);*/ + } + + /** + * Set url params based on tag params & mapping hash passed + * + * @param Array $url_params - url params before change + * @param Array $tag_attribs - tag attributes + * @param Array $params_map key - tag_param, value - url_param + */ + function MapTagParams(&$url_params, $tag_attribs, $params_map) + { + foreach ($params_map as $tag_param => $url_param) + { + if( getArrayValue($tag_attribs, $tag_param) ) $url_params[$url_param] = $tag_attribs[$tag_param]; + } + } + + function ExtractParams($params_str, $separator = '&') + { + if(!$params_str) return Array(); + + $ret = Array(); + $parts = explode($separator, trim($params_str, $separator) ); + foreach ($parts as $part) + { + list($var_name, $var_value) = explode('=', $part); + $ret[$var_name] = $var_value; + } + return $ret; + } ?>