diff --git a/core/modules/node/node.views.inc b/core/modules/node/node.views.inc index 8a47f63..f159e39 100644 --- a/core/modules/node/node.views.inc +++ b/core/modules/node/node.views.inc @@ -692,14 +692,8 @@ function node_views_analyze($view) { if (empty($access['type']) || $access['type'] == 'none') { // Find out whether anonymous and authenticated role have the // 'access content' permission. - $roles = array(); - $roles['anonymous'] = array(); - $roles['authenticated'] = array(); - $roles_result = user_permission_roles('access content', array('anonymous' => TRUE, 'authenticated' => TRUE)); - foreach ($roles_result as $rid) { - $roles[$rid]['safe'] = TRUE; - } - if (!empty($roles['anonymous']['safe']) && !empty($roles['authenticated']['safe'])) { + $roles = user_roles(FALSE, 'access content'); + if (!isset($roles[DRUPAL_ANONYMOUS_RID]) && !isset($roles[DRUPAL_AUTHENTICATED_RID])) { $ret[] = Analyzer::formatMessage(t('Some roles lack permission to access content, but display %display has no access control.', array('%display' => $display->display['display_title'])), 'warning'); } $filters = $display->getOption('filters'); diff --git a/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php b/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php index 3d9edd5..a710435 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Module/UninstallTest.php @@ -39,6 +39,6 @@ function testUserPermsUninstalled() { module_uninstall(array('module_test')); // Are the perms defined by module_test removed. - $this->assertFalse(user_permission_roles('module_test perm', user_roles()), 'Permissions were all removed.'); + $this->assertFalse(user_roles(FALSE, 'module_test perm'), 'Permissions were all removed.'); } } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 89515ec..d5e0661 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -2032,7 +2032,7 @@ function user_roles($membersonly = FALSE, $permission = NULL) { } return !$permission ? $roles : array_filter($roles, function ($role) use ($permission) { - return array_key_exists($permission, $role->permissions); + return isset($role->permissions[$permission]); }); } @@ -2451,7 +2451,7 @@ function user_build_filter_query(SelectInterface $query) { continue; } - $roles = user_permission_roles($value, user_roles()); + $roles = array_keys(user_roles(FALSE, $value)); $users_roles_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid'); $query->condition($users_roles_alias . '.rid', $roles ?: NULL); }