1 layout.module layout_modules_uninstalled($modules)

Implements hook_modules_uninstalled().

Deletes all blocks provided by a module when that module is uninstalled.

File

core/modules/layout/layout.module, line 2301
The Layout module creates pages and wraps existing pages in layouts.

Code

function layout_modules_uninstalled($modules) {
  $layouts = layout_load_all();
  foreach ($modules as $module) {
    foreach ($layouts as $layout) {
      $blocks_to_remove = array();

      foreach ($layout->content as $uuid => $block) {
        if ($block->module == $module) {
          $blocks_to_remove[] = $uuid;
        }
      }

      if ($blocks_to_remove) {
        foreach ($blocks_to_remove as $uuid_to_remove) {
          $layout->removeBlock($uuid_to_remove);
        }
        $layout->save();
      }
    }
  }
}