X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fadmin_toolbar%2Fadmin_toolbar_links_access_filter%2Fadmin_toolbar_links_access_filter.module;fp=web%2Fmodules%2Fcontrib%2Fadmin_toolbar%2Fadmin_toolbar_links_access_filter%2Fadmin_toolbar_links_access_filter.module;h=d9930e07b890bb6db945fd8b5ebcc5728548acb6;hp=7b4476897f17863cbf262219c07da4a94b938a0c;hb=059867c3f96750652c80f39e44c442a58c2549ee;hpb=f8fc16ae6b862bef59baaad5d051dd37b7ff11b2 diff --git a/web/modules/contrib/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module b/web/modules/contrib/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module index 7b4476897..d9930e07b 100644 --- a/web/modules/contrib/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module +++ b/web/modules/contrib/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module @@ -20,7 +20,7 @@ function admin_toolbar_links_access_filter_help($route_name, RouteMatchInterface case 'help.page.admin_toolbar_links_access_filter': $output = ''; $output .= '

' . t('About') . '

'; - $output .= '

' . t("The Admin Toolbar Links Access Filter module Provides a workaround for the common problem that users with Use the administration pages and help permission see menu links they don't have access permission for. Once the issue Hide empty admin categories be solved, this module will be deprecated.", ['@url' => Url::fromUri('https://www.drupal.org/node/296693')->toString()]) . '

'; + $output .= '

' . t('The Admin Toolbar Links Access Filter module provides a workaround for the common problem that users with Use the administration pages and help permission see menu links they done not have access permission for.') . '

'; return $output; } @@ -184,10 +184,17 @@ function admin_toolbar_links_access_filter_is_overview_page($route_name) { * assigned, FALSE otherwise. */ function admin_toolbar_links_access_filter_user_has_admin_role(AccountInterface $account) { - foreach ($account->getRoles() as $role_id) { - if (Role::load($role_id)->isAdmin()) { - return TRUE; + 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 FALSE; + return $user_has_admin_role[$uid]; }