danielebarchiesi@0: fields('b', array('module', 'delta', 'region')) danielebarchiesi@0: ->condition('b.region', dashboard_regions(), 'IN') danielebarchiesi@0: ->execute(); danielebarchiesi@0: danielebarchiesi@0: foreach ($result as $block) { danielebarchiesi@0: $stashed_blocks[] = array( danielebarchiesi@0: 'module' => $block->module, danielebarchiesi@0: 'delta' => $block->delta, danielebarchiesi@0: 'region' => $block->region, danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: variable_set('dashboard_stashed_blocks', $stashed_blocks); danielebarchiesi@0: danielebarchiesi@0: // Disable the dashboard blocks. danielebarchiesi@0: db_update('block') danielebarchiesi@0: ->fields(array( danielebarchiesi@0: 'status' => 0, danielebarchiesi@0: 'region' => BLOCK_REGION_NONE, danielebarchiesi@0: )) danielebarchiesi@0: ->condition('region', dashboard_regions(), 'IN') danielebarchiesi@0: ->execute(); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_enable(). danielebarchiesi@0: * danielebarchiesi@0: * Restores blocks to the dashboard that were there when the dashboard module danielebarchiesi@0: * was disabled. danielebarchiesi@0: */ danielebarchiesi@0: function dashboard_enable() { danielebarchiesi@0: global $theme_key; danielebarchiesi@0: if (!$stashed_blocks = variable_get('dashboard_stashed_blocks')) { danielebarchiesi@0: return; danielebarchiesi@0: } danielebarchiesi@0: if (!$admin_theme = variable_get('admin_theme')) { danielebarchiesi@0: drupal_theme_initialize(); danielebarchiesi@0: $admin_theme = $theme_key; danielebarchiesi@0: } danielebarchiesi@0: foreach ($stashed_blocks as $block) { danielebarchiesi@0: db_update('block') danielebarchiesi@0: ->fields(array( danielebarchiesi@0: 'status' => 1, danielebarchiesi@0: 'region' => $block['region'] danielebarchiesi@0: )) danielebarchiesi@0: ->condition('module', $block['module']) danielebarchiesi@0: ->condition('delta', $block['delta']) danielebarchiesi@0: ->condition('theme', $admin_theme) danielebarchiesi@0: ->condition('status', 0) danielebarchiesi@0: ->execute(); danielebarchiesi@0: } danielebarchiesi@0: variable_del('dashboard_stashed_blocks'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_uninstall(). danielebarchiesi@0: */ danielebarchiesi@0: function dashboard_uninstall() { danielebarchiesi@0: variable_del('dashboard_stashed_blocks'); danielebarchiesi@0: }