function menu_tree_collect_node_links

7 menu.inc menu_tree_collect_node_links(&$tree, &$node_links)

Collects node links from a given menu tree recursively.

Parameters

$tree: The menu tree you wish to collect node links from.

$node_links: An array in which to store the collected node links.

Related topics

3 calls to menu_tree_collect_node_links()
book_menu_subtree_data in modules/book/book.module
Gets the data representing a subtree of the book hierarchy.
menu_overview_form in modules/menu/menu.admin.inc
Form for editing an entire menu tree at once.
_menu_build_tree in includes/menu.inc
Builds a menu tree.

File

includes/menu.inc, line 1462
API for the Drupal menu system.

Code

function menu_tree_collect_node_links(&$tree, &$node_links) {
  foreach ($tree as $key => $v) {
    if ($tree[$key]['link']['router_path'] == 'node/%') {
      $nid = substr($tree[$key]['link']['link_path'], 5);
      if (is_numeric($nid)) {
        $node_links[$nid][$tree[$key]['link']['mlid']] = &$tree[$key]['link'];
        $tree[$key]['link']['access'] = FALSE;
      }
    }
    if ($tree[$key]['below']) {
      menu_tree_collect_node_links($tree[$key]['below'], $node_links);
    }
  }
}