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) { if ($this->_node_mapped_by_url) { return $this->_node_mapped_by_url; } $tree =& limb_tree::instance(); if ($url == '') { if (isset($_REQUEST['node_id'])) { $node =& $tree->get_node((int) $_REQUEST['node_id']); $this->_node_mapped_by_url =& $node; return $node; } else { $url = $_SERVER['PHP_SELF']; } } $uri = new uri(); $uri->parse($url); $node =& $tree->get_node_by_path($uri->path, '/', $recursive); $this->_node_mapped_by_url =& $node; return $node; }