menu_tree_check_access

  1. drupal
    1. 6
    2. 8
    3. 7
Versions
6 – 7 menu_tree_check_access(&$tree, $node_links = array())

Check access and perform other dynamic operations for each link in the tree.

Parameters

$tree The menu tree you wish to operate on.

$node_links A collection of node link references generated from $tree by menu_tree_collect_node_links().

Related topics

▾ 3 functions call menu_tree_check_access()

book_menu_subtree_data in modules/book/book.module
Get the data representing a subtree of the book hierarchy.
menu_build_tree in includes/menu.inc
Build a menu tree, translate links, and check access.
menu_overview_form in modules/menu/menu.admin.inc
Form for editing an entire menu tree at once.

Code

includes/menu.inc, line 1462

<?php
function menu_tree_check_access(&$tree, $node_links = array()) {
  if ($node_links) {
    $nids = array_keys($node_links);
    $select = db_select('node', 'n');
    $select->addField('n', 'nid');
    $select->condition('n.status', 1);
    $select->condition('n.nid', $nids, 'IN');
    $select->addTag('node_access');
    $nids = $select->execute()->fetchCol();
    foreach ($nids as $nid) {
      foreach ($node_links[$nid] as $mlid => $link) {
        $node_links[$nid][$mlid]['access'] = TRUE;
      }
    }
  }
  _menu_tree_check_access($tree);
}
?>