You are here

fb_social.install in Facebook social plugins integration 6.2

Same filename and directory in other branches
  1. 6 fb_social.install
  2. 7.2 fb_social.install

Install, update and uninstall functions for the fb_social module.

File

fb_social.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the fb_social module.
 */

/**
 * Implementation of hook_install().
 */
function fb_social_install() {
  drupal_install_schema('fb_social');
}

/**
 * Implementation of hook_uninstall().
 */
function fb_social_uninstall() {
  drupal_uninstall_schema('fb_social');

  // delete system variables
  $vars = db_query("SELECT * FROM {variable} WHERE name LIKE 'fb_social_%'");
  while ($var = db_fetch_object($vars)) {
    variable_del($var->name);
  }
}

/**
 * Implementation of hook_schema()
 */
function fb_social_schema() {
  $schema = array();
  $schema['fb_social_preset'] = array(
    'description' => 'Storage for user-defined fb plugins templates.',
    'export' => array(
      'key' => 'name',
      'identifier' => 'fb_social_preset',
      'default hook' => 'fb_social_default_presets',
      // Function hook name.
      'api' => array(
        'owner' => 'fb_social',
        'api' => 'fb_social',
        // Base name for api include files.
        'minimum_version' => 1,
        'current_version' => 1,
      ),
      'load callback' => 'fb_social_preset_load',
    ),
    'fields' => array(
      'name' => array(
        'description' => 'The primary identifier for a plugin preset.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'description' => array(
        'description' => 'Description for this plugin preset.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'plugin_type' => array(
        'description' => 'Type of this preset.',
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'settings' => array(
        'description' => 'Serialized storage of drupal related plugin settings.',
        'type' => 'text',
        'serialize' => TRUE,
      ),
      'fb_attrs' => array(
        'description' => 'Serialized storage of facebook related plugin settings',
        'type' => 'text',
        'serialize' => TRUE,
      ),
    ),
    'primary key' => array(
      'name',
    ),
    'indexes' => array(
      'type' => array(
        'plugin_type',
      ),
    ),
  );
  return $schema;
}

/**
 * Add new {fb_social_preset} table when upgrading from Drupal 6.x-1.x.
 */
function fb_social_update_6200() {
  $ret = array();

  // Only add the table if the table doesn't already exist.
  if (!db_table_exists('fb_social_preset')) {
    $fb_social_preset = array(
      'description' => 'Storage for user-defined fb plugins templates.',
      'export' => array(
        'key' => 'name',
        'identifier' => 'fb_social_preset',
        'default hook' => 'fb_social_default_presets',
        // Function hook name.
        'api' => array(
          'owner' => 'fb_social',
          'api' => 'fb_social',
          // Base name for api include files.
          'minimum_version' => 1,
          'current_version' => 1,
        ),
        'load callback' => 'fb_social_preset_load',
      ),
      'fields' => array(
        'name' => array(
          'description' => 'The primary identifier for a plugin preset.',
          'type' => 'varchar',
          'length' => 255,
          'not null' => TRUE,
          'default' => '',
        ),
        'description' => array(
          'description' => 'Description for this plugin preset.',
          'type' => 'varchar',
          'length' => 255,
          'not null' => TRUE,
          'default' => '',
        ),
        'plugin_type' => array(
          'description' => 'Type of this preset.',
          'type' => 'varchar',
          'length' => 255,
          'not null' => TRUE,
          'default' => '',
        ),
        'settings' => array(
          'description' => 'Serialized storage of drupal related plugin settings.',
          'type' => 'text',
          'serialize' => TRUE,
        ),
        'fb_attrs' => array(
          'description' => 'Serialized storage of facebook related plugin settings',
          'type' => 'text',
          'serialize' => TRUE,
        ),
      ),
      'primary key' => array(
        'name',
      ),
      'indexes' => array(
        'type' => array(
          'plugin_type',
        ),
      ),
    );
    db_create_table($ret, 'fb_social_preset', $fb_social_preset);
  }
  return $ret;
}

Functions

Namesort descending Description
fb_social_install Implementation of hook_install().
fb_social_schema Implementation of hook_schema()
fb_social_uninstall Implementation of hook_uninstall().
fb_social_update_6200 Add new {fb_social_preset} table when upgrading from Drupal 6.x-1.x.