You are here

function _menu_admin_per_menu_get_perm_menus in Menu Admin per Menu 7

Returns the menus for which a user has per menu admin permissions.

5 calls to _menu_admin_per_menu_get_perm_menus()
_menu_admin_per_menu_access in ./menu_admin_per_menu.module
Access callback for the overview page of all the menus.
_menu_admin_per_menu_filter_parent_options in ./menu_admin_per_menu.module
Filters parent options based on allowed menus.
_menu_admin_per_menu_menu_access in ./menu_admin_per_menu.module
Access callback for the overview and add menu link pages of a menu.
_menu_admin_per_menu_menu_link_access in ./menu_admin_per_menu.module
Access callback for the menu link administration pages.
_menu_admin_per_menu_menu_overview_page in ./menu_admin_per_menu.module
Overrides menu_overview_page().

File

./menu_admin_per_menu.module, line 144
Written by Henri MEDOT <henri.medot[AT]absyx[DOT]fr> http://www.absyx.fr

Code

function _menu_admin_per_menu_get_perm_menus($account = NULL) {
  $perm_menus =& drupal_static(__FUNCTION__, array());
  if (!isset($account)) {
    $account = $GLOBALS['user'];
  }
  if (!isset($perm_menus[$account->uid])) {
    $perm_menus[$account->uid] = array();
    $menus = menu_get_menus();
    foreach ($menus as $name => $title) {
      if (user_access('administer ' . $name . ' menu items', $account)) {
        $perm_menus[$account->uid][$name] = $name;
      }
    }
    drupal_alter('menu_admin_per_menu_perm_menus', $perm_menus[$account->uid], $account);
  }
  return $perm_menus[$account->uid];
}