function user_user_role_delete in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/user/user.module \user_user_role_delete()
Implements hook_ENTITY_TYPE_delete() for user_role entities.
File
- core/
modules/ user/ user.module, line 1017 - Enables the user registration and login system.
Code
function user_user_role_delete(RoleInterface $role) {
// Delete role references for all users.
$user_storage = \Drupal::entityManager()
->getStorage('user');
$user_storage
->deleteRoleReferences(array(
$role
->id(),
));
// Ignore the authenticated and anonymous roles or the role is being synced.
if (in_array($role
->id(), array(
RoleInterface::AUTHENTICATED_ID,
RoleInterface::ANONYMOUS_ID,
)) || $role
->isSyncing()) {
return;
}
$actions = entity_load_multiple('action', array(
'user_add_role_action.' . $role
->id(),
'user_remove_role_action.' . $role
->id(),
));
foreach ($actions as $action) {
$action
->delete();
}
}