rate.install in Rate 7
Same filename and directory in other branches
Installation/Uninstallation functions for rate module.
File
rate.installView source
<?php
/**
 * @file
 * Installation/Uninstallation functions for rate module.
 */
/**
 * Implements hook_uninstall().
 */
function rate_uninstall() {
  variable_del('rate_widgets');
}
/**
 * Implements hook_schema().
 */
function rate_schema() {
  $schema = array();
  $schema['rate_bot_agent'] = array(
    'fields' => array(
      'id' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'pattern' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
      ),
    ),
    'primary key' => array(
      'id',
    ),
  );
  $schema['rate_bot_ip'] = array(
    'fields' => array(
      'id' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
      'ip' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
      ),
    ),
    'primary key' => array(
      'id',
    ),
  );
  return $schema;
}
/**
 * Update css and js attributes in the widget objects.
 * 
 * This function has to be called when the information from hook_rate_templates() is changed.
 */
function _rate_update_templates_data() {
  $templates = array();
  foreach (module_implements('rate_templates') as $module) {
    foreach (module_invoke($module, 'rate_templates') as $name => $template) {
      $templates[$name] = $template;
    }
  }
  $widgets = variable_get('rate_widgets', array());
  foreach ($widgets as $widget_id => $widget) {
    $template = isset($widget->template) ? $widget->template : NULL;
    if (isset($templates[$template])) {
      if (isset($widget->css)) {
        unset($widget->css);
      }
      if (isset($templates[$template]->css)) {
        $widget->css = $templates[$template]->css;
      }
      if (isset($widget->js)) {
        unset($widget->js);
      }
      if (isset($templates[$template]->js)) {
        $widget->js = $templates[$template]->js;
      }
    }
    $widgets[$widget_id] = $widget;
  }
  variable_set('rate_widgets', $widgets);
}
/**
 * Rename helpful template to yesno.
 */
function rate_update_6000() {
  $widgets = variable_get('rate_widgets', array());
  foreach ($widgets as $widget_id => $widget) {
    $template = isset($widget->template) ? $widget->template : NULL;
    // "helpful" template was renamed to "yesno".
    if ($template == 'helpful') {
      $widget->template = 'yesno';
    }
    $widgets[$widget_id] = $widget;
  }
  variable_set('rate_widgets', $widgets);
  return array();
}
/**
 * Update paths to JS and CSS files.
 */
function rate_update_6001() {
  _rate_update_templates_data();
  return array();
}
/**
 * Create tables for blacklisting bots.
 */
function rate_update_7100() {
  $schema = drupal_get_schema_unprocessed('rate');
  if (!db_table_exists("rate_bot_agent")) {
    db_create_table('rate_bot_agent', $schema['rate_bot_agent']);
  }
  if (!db_table_exists("rate_bot_ip")) {
    db_create_table('rate_bot_ip', $schema['rate_bot_ip']);
  }
}
/**
 * Add "delete_vote_on_second_click" property.
 */
function rate_update_7101() {
  $widgets = variable_get('rate_widgets', array());
  foreach ($widgets as $widget_id => $widget) {
    if (!isset($widget->delete_vote_on_second_click)) {
      $widget->delete_vote_on_second_click = 0;
    }
    $widgets[$widget_id] = $widget;
  }
  variable_set('rate_widgets', $widgets);
  return array();
}
/**
 * Add "use_source_translation" property.
 */
function rate_update_7102() {
  $widgets = variable_get('rate_widgets', array());
  foreach ($widgets as $widget_id => $widget) {
    if (!isset($widget->use_source_translation)) {
      // The default setting for new widgets is TRUE. But we set it here to
      // FALSE to not change existing behavior.
      $widget->use_source_translation = FALSE;
    }
    $widgets[$widget_id] = $widget;
  }
  variable_set('rate_widgets', $widgets);
  return array();
}Functions
| Name   | Description | 
|---|---|
| rate_schema | Implements hook_schema(). | 
| rate_uninstall | Implements hook_uninstall(). | 
| rate_update_6000 | Rename helpful template to yesno. | 
| rate_update_6001 | Update paths to JS and CSS files. | 
| rate_update_7100 | Create tables for blacklisting bots. | 
| rate_update_7101 | Add "delete_vote_on_second_click" property. | 
| rate_update_7102 | Add "use_source_translation" property. | 
| _rate_update_templates_data | Update css and js attributes in the widget objects. | 
