You are here

function menu_item_visibility_preprocess_menu in Menu Item Visibility 8

Implements hook_preprocess_menu().

File

./menu_item_visibility.module, line 86
Allows restricting access to menu items and menu path per role.

Code

function menu_item_visibility_preprocess_menu(&$variables) {
  $items = $variables['items'];
  $accessible_items = array();
  foreach ($items as $key => &$item) {

    // Enable recursive parsing.
    if (!empty($item['below'])) {
      $below = [
        'items' => $item['below'],
      ];
      menu_item_visibility_preprocess_menu($below);
      $item['below'] = $below['items'];
    }
    $user_role_visibility = menu_item_visibility_check($key);
    if (!$user_role_visibility) {
      continue;
    }
    else {
      $accessible_items[$key] = $item;
    }
  }
  $variables['items'] = $accessible_items;
}