| 6 menu.inc | menu_tree_check_access(&$tree, $node_links = array()) |
| 7 menu.inc | menu_tree_check_access(&$tree, $node_links = array()) |
| 8 menu.inc | 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
4 calls to menu_tree_check_access()
File
- includes/
menu.inc, line 1003 - API for the Drupal menu system.
Code
function menu_tree_check_access(&$tree, $node_links = array()) {
if ($node_links) {
// Use db_rewrite_sql to evaluate view access without loading each full node.
$nids = array_keys($node_links);
$placeholders = '%d' . str_repeat(', %d', count($nids) - 1);
$result = db_query(db_rewrite_sql("SELECT n.nid FROM {node} n WHERE n.status = 1 AND n.nid IN (" . $placeholders . ")"), $nids);
while ($node = db_fetch_array($result)) {
$nid = $node['nid'];
foreach ($node_links[$nid] as $mlid => $link) {
$node_links[$nid][$mlid]['access'] = TRUE;
}
}
}
_menu_tree_check_access($tree);
return;
}
Login or register to post comments