You are here

collapsiblock.install in Collapsiblock 7.2

Install hooks for Collapsiblock.

File

collapsiblock.install
View source
<?php

/**
 * @file
 * Install hooks for Collapsiblock.
 */

/**
 * Implements hook_install().
 */
function collapsiblock_install() {
  $schema['block'] = array();
  collapsiblock_schema_alter($schema);
  foreach ($schema['block']['fields'] as $field => $spec) {
    if (db_field_exists('block', $field)) {
      watchdog('system', 'Module install: Attempt to recreate field: "%field", when it already exists.', array(
        '%field' => $field,
      ), WATCHDOG_WARNING);
    }
    else {
      db_add_field('block', $field, $spec);
    }
  }
}

/**
 * Implements hook_uninstall.
 */
function collapsiblock_uninstall() {
  variable_del('collapsiblock_settings');
  variable_del('collapsiblock_default_state');
  variable_del('collapsiblock_slide_type');
  variable_del('collapsiblock_slide_speed');
  variable_del('collapsiblock_active_pages');
  $schema['block'] = array();
  collapsiblock_schema_alter($schema);
  foreach ($schema['block']['fields'] as $field => $specs) {
    db_drop_field('block', $field);
  }
}

/**
 * Implements hook_schema_alter().
 *
 * Other modules, such as i18n_block also modify the block database table.
 */
function collapsiblock_schema_alter(&$schema) {
  if (isset($schema['block'])) {
    $schema['block']['fields']['collapsiblock_action'] = array(
      'type' => 'int',
      'not null' => TRUE,
      'default' => 0,
      'description' => 'Integer containing the key for the collapse action.',
    );
  }
}

/**
 * Transition to 7.x-2.x
 */
function collapsiblock_update_7200() {
  variable_del('collapsiblock_settings');
  if (!db_field_exists('block', 'block_class')) {
    $schema['block'] = array();
    collapsiblock_schema_alter($schema);
    foreach ($schema['block']['fields'] as $field => $specs) {
      db_add_field('block', $field, $specs);
    }
  }
}

Functions

Namesort descending Description
collapsiblock_install Implements hook_install().
collapsiblock_schema_alter Implements hook_schema_alter().
collapsiblock_uninstall Implements hook_uninstall.
collapsiblock_update_7200 Transition to 7.x-2.x