You are here

function admin_toolbar_links_access_filter_user_has_admin_role in Admin Toolbar 8

Same name and namespace in other branches
  1. 8.2 admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module \admin_toolbar_links_access_filter_user_has_admin_role()
  2. 3.x admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module \admin_toolbar_links_access_filter_user_has_admin_role()

Checks, if the given user has admin rights.

Parameters

\Drupal\Core\Session\AccountInterface $account: The account to check.

Return value

bool TRUE, if the given user account has at least one role with admin rights assigned, FALSE otherwise.

1 call to admin_toolbar_links_access_filter_user_has_admin_role()
admin_toolbar_links_access_filter_preprocess_menu in admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module
Implements hook_preprocess_menu().

File

admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module, line 150
This module don't show menu links that you don't have access permission for.

Code

function admin_toolbar_links_access_filter_user_has_admin_role(AccountInterface $account) {
  static $user_has_admin_role = [];
  $uid = $account
    ->id();
  if (!isset($user_has_admin_role[$uid])) {
    $roles = Role::loadMultiple($account
      ->getRoles());
    foreach ($roles as $role) {
      if ($role
        ->isAdmin()) {
        $user_has_admin_role[$uid] = TRUE;
        break;
      }
      $user_has_admin_role[$uid] = FALSE;
    }
  }
  return $user_has_admin_role[$uid];
}