function menu_tree_collect_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 drupal/core/modules/book/book.module
Gets the data representing a subtree of the book hierarchy.
menu_overview_form in drupal/core/modules/menu/menu.admin.inc
Form for editing an entire menu tree at once.
_menu_build_tree in drupal/core/includes/menu.inc
Builds a menu tree.

File

drupal/core/includes/menu.inc, line 1439
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);
    }
  }
}