--- a/public/includes/menu.inc Wed Nov 13 18:07:15 2013 +++ b/public/includes/menu.inc Wed Nov 13 18:13:23 2013 @@ -1489,27 +1489,42 @@ * The menu tree you wish to operate on. * @param $node_links * A collection of node link references generated from $tree by * menu_tree_collect_node_links(). */ 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; - } - } + global $menu_admin; + + if ($node_links) + { + if($menu_admin === TRUE) + { + foreach ($node_links as $nid => $node_link) + { + foreach ($node_link as $mlid => $link) { + $node_link[$mlid]['access'] = TRUE; + } + } + } + else + { + $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); } /** * Sorts the menu tree and recursively checks access for each item.