You are here

similar.install in Similar Entries 7

Installation hook implementations for Similar Entries module.

File

similar.install
View source
<?php

/**
 * @file
 * Installation hook implementations for Similar Entries module.
 */

/**
 * Implements hook_install().
 *
 * Add FULLTEXT index to MySQL MyISAM tables.
 * Module does not support InnoDB or PostgreSQL, so no changes for it.
 * Individual field tables are indexed in hook_cron() if they exist.
 * It is called here at install to perform the initial creation of indices.
 * require_once is used because module_load_include() is not accessible
 * during hook_install(). See #1257940 for more information.
 */
function similar_install() {
  include_once dirname(__FILE__) . '/similar.module';
  if (!db_index_exists('node_revision', 'similar')) {
    db_query('ALTER TABLE {node_revision} ENGINE = MYISAM');
    db_query('ALTER TABLE {node_revision} ADD FULLTEXT `similar` (`title`)');
  }
  if (db_table_exists('field_data_body')) {
    db_query('ALTER TABLE {field_data_body} ENGINE = MYISAM');
    db_query('ALTER TABLE {field_data_body} ADD FULLTEXT `similar` (`body_value`)');
  }
  similar_cron();
}

/**
 * Implements hook_uninstall().
 */
function similar_uninstall() {
  variable_del('similar_node_types');
  variable_del('similar_num_display');
  variable_del('similar_rel_nofollow');
  variable_del('similar_taxonomy_filter');
  variable_del('similar_taxonomy_tids');
  variable_del('similar_summary_enabled');
  variable_del('similar_include_fields');
  variable_del('similar_boolean_mode');
  db_delete('block')
    ->condition('module', 'similar')
    ->execute();

  // Remove similar indexes from entity tables.
  db_drop_index('node_revision', 'similar');
  if (db_table_exists('field_data_body') && db_index_exists('field_data_body', 'similar')) {
    db_drop_index('field_data_body', 'similar');
  }
  foreach (variable_get('similar_indices', array()) as $table => $fields) {
    if (db_table_exists($table) && db_index_exists($table, 'similar')) {
      db_drop_index($table, 'similar');
    }
  }
}

Functions

Namesort descending Description
similar_install Implements hook_install().
similar_uninstall Implements hook_uninstall().