function & get_dataset(&$counter, $params=array()) { $counter = 0; $mapped_node = map_current_request_to_node(); $links_manager = new links_manager(); $groups = array(); if(isset($params['group_identifier'])) { if($group = $links_manager->fetch_group_by_identifier($params['group_identifier'])) $groups[$group['id']] = $group; } else $groups = $links_manager->fetch_groups(); if (!is_array($groups) || !count($groups)) return new empty_dataset(); if(isset($params['back_links']) && $params['back_links']) $links = $links_manager->fetch_back_links($mapped_node['id'], array_keys($groups)); else $links = $links_manager->fetch_target_links($mapped_node['id'], array_keys($groups)); if (!is_array($links) || !count($links)) return new array_dataset($groups); $target_node_ids = complex_array :: get_column_values('target_node_id', $links); if (!is_array($target_node_ids) || !count($target_node_ids)) return new array_dataset($groups); $site_object_class_name = isset($params['loader_class_name']) ? $params['loader_class_name'] : 'site_object'; $objects =& fetch_by_node_ids($target_node_ids, $site_object_class_name, $counter, array( 'restrict_by_class' => false )); $result = array(); foreach($groups as $group_id => $group) { $groups[$group_id]['links'] = array(); foreach($links as $link_id => $link) { if ($link['group_id']!= $group_id) continue; $link_data = array_merge($objects[$link['target_node_id']], $link); $groups[$group_id]['links'][$link_id] = $link_data; } } return new array_dataset($groups); }
function get_node_id() { if (!$this->node_id) { if ($this->node_path) { if (!($node = map_url_to_node($this->node_path))) { $node = map_current_request_to_node(); } } else { $node = map_current_request_to_node(); } $this->node_id = $node['id']; } return $this->node_id; }
require_once LIMB_DIR . 'core/lib/db/db_table_factory.class.php'; require_once LIMB_DIR . 'core/lib/error/error.inc.php'; require_once LIMB_DIR . 'core/lib/locale/strings.class.php'; require_once LIMB_DIR . 'core/lib/http/control_flow.inc.php'; require_once LIMB_DIR . 'core/tree/tree.class.php'; require_once LIMB_DIR . 'core/fetcher.class.php'; require_once LIMB_DIR . 'core/model/stats/stats_register.class.php'; require_once LIMB_DIR . 'core/model/response/response.class.php'; start_user_session(); $stats_register = new stats_register(); debug::add_timing_point('require_done'); $recursive = false; if (isset($_REQUEST['recursive_search_for_node']) && $_REQUEST['recursive_search_for_node']) { $recursive = true; } $node =& map_current_request_to_node($recursive); if (!$node) { debug::write_error('node not found', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__); ob_end_clean(); if (debug::is_console_enabled()) { echo debug::parse_html_console(); } if (defined("ERROR_DOCUMENT_404")) { reload(ERROR_DOCUMENT_404); } else { header("HTTP/1.1 404 Not found"); } exit; } if (isset($node['only_parent_found']) && $node['only_parent_found']) { if (isset($_REQUEST['action'])) {