_menu_tree_check_access

  1. drupal
    1. 6
    2. 8
    3. 7
Versions
6 – 8 _menu_tree_check_access(&$tree)

Recursive helper function for menu_tree_check_access()

Related topics

▾ 2 functions call _menu_tree_check_access()

menu_tree_check_access in includes/menu.inc
Check access and perform other dynamic operations for each link in the tree.
_menu_tree_check_access in includes/menu.inc
Recursive helper function for menu_tree_check_access()

Code

includes/menu.inc, line 1483

<?php
function _menu_tree_check_access(&$tree) {
  $new_tree = array();
  foreach ($tree as $key => $v) {
    $item = &$tree[$key]['link'];
    _menu_link_translate($item);
    if ($item['access'] || ($item['in_active_trail'] && strpos($item['href'], '%') !== FALSE)) {
      if ($tree[$key]['below']) {
        _menu_tree_check_access($tree[$key]['below']);
      }
      // The weights are made a uniform 5 digits by adding 50000 as an offset.
      // After _menu_link_translate(), $item['title'] has the localized link title.
      // Adding the mlid to the end of the index insures that it is unique.
      $new_tree[(50000 + $item['weight']) . ' ' . $item['title'] . ' ' . $item['mlid']] = $tree[$key];
    }
  }
  // Sort siblings in the tree based on the weights and localized titles.
  ksort($new_tree);
  $tree = $new_tree;
}
?>