You are here

function search_autocomplete_install in Search Autocomplete 7.2

Same name and namespace in other branches
  1. 8 search_autocomplete.module \search_autocomplete_install()
  2. 6.4 search_autocomplete.install \search_autocomplete_install()
  3. 6.2 search_autocomplete.install \search_autocomplete_install()
  4. 7.4 search_autocomplete.install \search_autocomplete_install()
  5. 7.3 search_autocomplete.install \search_autocomplete_install()
  6. 2.x search_autocomplete.module \search_autocomplete_install()

Implementation of hook_install().

1 call to search_autocomplete_install()
search_autocomplete_update_7200 in ./search_autocomplete.install
Get ready for 2.x

File

./search_autocomplete.install, line 151
This file is used to install/update/delete the module tables in database

Code

function search_autocomplete_install() {
  $limit = variable_get('search_autocomplete_limit', 15);
  $trigger = variable_get('search_autocomplete_trigger', 3);
  $enabled = 1;

  // ----------------
  // declare insertion statement
  $insert = db_insert('search_autocomplete_forms')
    ->fields(array(
    'title',
    'selector',
    'weight',
    'enabled',
    'min_char',
    'max_sug',
  ));
  $insert
    ->values(array(
    'title' => st('Search page - Node Tab') . "  (search/node/%)",
    'selector' => '#search-form[action="/search/node"]',
    'weight' => 0,
    'enabled' => $enabled,
    'min_char' => $trigger,
    'max_sug' => $limit,
  ));
  $insert
    ->values(array(
    'title' => st('Search page - User Tab') . "  (search/user/%)",
    'selector' => '#search-form[action="/search/user"]',
    'weight' => 1,
    'enabled' => $enabled,
    'min_char' => $trigger,
    'max_sug' => $limit,
  ));
  $insert
    ->values(array(
    'title' => st('Search Block'),
    'selector' => "#search-block-form",
    'weight' => 0,
    'enabled' => $enabled,
    'min_char' => $trigger,
    'max_sug' => $limit,
  ));
  $insert
    ->execute();

  // declare insertion statement
  $insert = db_insert('search_autocomplete_suggestions')
    ->fields(array(
    'sid',
    'sug_fid',
    'sug_enabled',
    'sug_prefix',
    'sug_title',
    'sug_name',
    'sug_dependencies',
    'sug_weight',
    'sug_query',
  ));

  // for earch possible default form
  for ($form = 0; $form <= 3; $form++) {

    // values for user title default form
    $insert
      ->values(array(
      'sid' => 1,
      'sug_fid' => $form,
      'sug_enabled' => 1,
      'sug_prefix' => "node:",
      'sug_title' => "Add node titles",
      'sug_name' => "node_title",
      'sug_dependencies' => "",
      'sug_weight' => 1,
      'sug_query' => "SELECT n.title FROM {node} n WHERE n.status = 1 AND LOWER(n.title) LIKE LOWER(:like_word)",
    ));

    // values for username default form
    $insert
      ->values(array(
      'sid' => 2,
      'sug_fid' => $form,
      'sug_enabled' => 1,
      'sug_prefix' => "user:",
      'sug_title' => "Add usernames",
      'sug_name' => "username",
      'sug_dependencies' => "",
      'sug_weight' => 2,
      'sug_query' => "SELECT u.name FROM {users} u WHERE u.status = 1 AND LOWER(u.name) LIKE LOWER(:like_word)",
    ));

    // values for taxonomies default form
    $insert
      ->values(array(
      'sid' => 3,
      'sug_fid' => $form,
      'sug_enabled' => 1,
      'sug_prefix' => "taxo:",
      'sug_title' => "Add taxonomies",
      'sug_name' => "taxo_title",
      'sug_dependencies' => "taxonomy",
      'sug_weight' => 3,
      'sug_query' => "SELECT t.name FROM {taxonomy_term_data} t WHERE LOWER(t.name) LIKE LOWER(:like_word)",
    ));

    // values for comment title default form
    $insert
      ->values(array(
      'sid' => 4,
      'sug_fid' => $form,
      'sug_enabled' => 1,
      'sug_prefix' => "comment:",
      'sug_title' => "Add comment titles",
      'sug_name' => "comment_title",
      'sug_dependencies' => "comment",
      'sug_weight' => 4,
      'sug_query' => "SELECT c.subject FROM {comment} c WHERE c.subject LIKE LOWER(:like_word)",
    ));

    // values for comment title default form
    $insert
      ->values(array(
      'sid' => 5,
      'sug_fid' => $form,
      'sug_enabled' => 1,
      'sug_prefix' => "",
      'sug_title' => "Add all possible words (any word appearing on your website)",
      'sug_name' => "word_title",
      'sug_dependencies' => "search",
      'sug_weight' => 5,
      'sug_query' => "SELECT DISTINCT s.word FROM {search_index} s, {node} n WHERE s.type = 'node' AND n.nid = s.sid AND n.status = 1 AND LOWER(s.word) LIKE LOWER(:like_word)",
    ));
    $insert
      ->execute();
  }
  drupal_set_message(st('Search Autocomplete is now correctly installed!'));
}