function block_user_role_delete in Drupal 8
Same name and namespace in other branches
- 7 modules/block/block.module \block_user_role_delete()
- 9 core/modules/block/block.module \block_user_role_delete()
Implements hook_ENTITY_TYPE_delete() for user_role entities.
Removes deleted role from blocks that use it.
File
- core/
modules/ block/ block.module, line 246 - Controls the visual building blocks a page is constructed with.
Code
function block_user_role_delete($role) {
foreach (Block::loadMultiple() as $block) {
/** @var $block \Drupal\block\BlockInterface */
$visibility = $block
->getVisibility();
if (isset($visibility['user_role']['roles'][$role
->id()])) {
unset($visibility['user_role']['roles'][$role
->id()]);
$block
->setVisibilityConfig('user_role', $visibility['user_role']);
$block
->save();
}
}
}