| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?php/** * @file * Install, update and uninstall functions for the dashboard module. *//** * Implements hook_disable(). * * Stash a list of blocks enabled on the dashboard, so they can be re-enabled * if the dashboard is re-enabled. Then disable those blocks, since the * dashboard regions will no longer be defined. */function dashboard_disable() {  // Stash a list of currently enabled blocks.  $stashed_blocks = array();  $result = db_select('block', 'b')    ->fields('b', array('module', 'delta', 'region'))    ->condition('b.region', dashboard_regions(), 'IN')    ->execute();  foreach ($result as $block) {    $stashed_blocks[] = array(      'module' => $block->module,      'delta' => $block->delta,      'region' => $block->region,    );  }  variable_set('dashboard_stashed_blocks', $stashed_blocks);  // Disable the dashboard blocks.  db_update('block')    ->fields(array(      'status' => 0,      'region' => BLOCK_REGION_NONE,    ))    ->condition('region', dashboard_regions(), 'IN')    ->execute();}/** * Implements hook_enable(). * * Restores blocks to the dashboard that were there when the dashboard module * was disabled. */function dashboard_enable() {  global $theme_key;  if (!$stashed_blocks = variable_get('dashboard_stashed_blocks')) {    return;  }  if (!$admin_theme = variable_get('admin_theme')) {    drupal_theme_initialize();    $admin_theme = $theme_key;  }  foreach ($stashed_blocks as $block) {    db_update('block')      ->fields(array(        'status' => 1,        'region' => $block['region']      ))      ->condition('module', $block['module'])      ->condition('delta', $block['delta'])      ->condition('theme', $admin_theme)      ->condition('status', 0)      ->execute();  }  variable_del('dashboard_stashed_blocks');}/** * Implements hook_uninstall(). */function dashboard_uninstall() {  variable_del('dashboard_stashed_blocks');}
 |