function &_fetch(&$counter, $params) { $result =& parent::_fetch($counter, $params); $requested_uri = new uri($_SERVER['REQUEST_URI']); $nav_uri = new uri(); foreach ($result as $key => $data) { $nav_uri->parse($data['url']); if ($requested_uri->compare_path($nav_uri) === 0) { $result[$key]['selected'] = true; if ($nav_uri->get_query_item('action') !== $requested_uri->get_query_item('action')) { $result[$key]['selected'] = false; } } } return $result; }
function & map_url_to_node($url, $recursive = false) { $tree =& tree :: instance(); $uri = new uri($url); if(($node_id = $uri->get_query_item('node_id')) === false) $node =& $tree->get_node_by_path($uri->get_path(), '/', $recursive); else $node =& $tree->get_node((int)$node_id); return $node; }