function search_autocomplete_install in Search Autocomplete 6.2
Same name and namespace in other branches
- 8 search_autocomplete.module \search_autocomplete_install()
- 6.4 search_autocomplete.install \search_autocomplete_install()
- 7.4 search_autocomplete.install \search_autocomplete_install()
- 7.2 search_autocomplete.install \search_autocomplete_install()
- 7.3 search_autocomplete.install \search_autocomplete_install()
- 2.x search_autocomplete.module \search_autocomplete_install()
Implementation of hook_install().
1 call to search_autocomplete_install()
- search_autocomplete_update_6200 in ./
search_autocomplete.install - Get ready to version from 1.x to 2.0
File
- ./
search_autocomplete.install, line 151 - This file is used to install/update/delete the module tables in database
Code
function search_autocomplete_install() {
if (db_table_exists('search_autocomplete_forms') && db_table_exists('search_autocomplete_suggestions')) {
return;
}
$results = drupal_install_schema('search_autocomplete');
//Install the database specified in 'function search_autocomplete_schema'
foreach ($results as $result) {
// Check eventual errors that could have occured
if (!$result['success']) {
drupal_set_message(st('An error has occured during table creation, please retry. If the problem persist please post an issue and report the code: #err_code:400 @query', $result['query']), 'error');
}
}
$limit = variable_get('search_autocomplete_limit', 15);
$trigger = variable_get('search_autocomplete_trigger', 3);
$enabled = 1;
$enable_taxo = module_exists("taxonomy") ? 1 : 0;
$enable_comment = module_exists("comment") ? 1 : 0;
// ----------------
// create possible default forms
$sql = 'INSERT INTO {search_autocomplete_forms} (title, selector, weight, enabled, min_char, max_sug) VALUES ' . '("%s", "%s", %d, %d, %d, %d),' . '("%s", "%s", %d, %d, %d, %d),' . '("%s", "%s", %d, %d, %d, %d),' . '("%s", "%s", %d, %d, %d, %d)';
$variables = array(
st('Search page - Node Tab') . " (search/node/%)",
"#search-form",
0,
$enabled,
$trigger,
$limit,
st('Search page - User Tab') . " (search/user/%)",
"#search-form",
1,
$enabled,
$trigger,
$limit,
st('Search Block'),
"#search-block-form",
0,
$enabled,
$trigger,
$limit,
st('Search box (added by the theme)'),
"#search-theme-form",
0,
$enabled,
$trigger,
$limit,
);
$ok_result1 = db_query($sql, $variables);
if (!$ok_result1) {
drupal_set_message(st('An error has occured while creating default forms, please retry. If the problem persist please post an issue and report the code: #err_code:401'), 'error');
}
// ----------------
// create the possible suggestions :
$sql = 'INSERT INTO {search_autocomplete_suggestions} (sid, sug_fid, sug_enabled, sug_prefix, sug_title, sug_name, sug_dependencies, sug_weight, sug_query) VALUES ' . '(%d, %d, %d, "%s", "%s", "%s", "%s", %d, "%s"),' . '(%d, %d, %d, "%s", "%s", "%s", "%s", %d, "%s"),' . '(%d, %d, %d, "%s", "%s", "%s", "%s", %d, "%s"),' . '(%d, %d, %d, "%s", "%s", "%s", "%s", %d, "%s"),' . '(%d, %d, %d, "%s", "%s", "%s", "%s", %d, "%s")';
$ok_result2 = TRUE;
for ($form = 0; $form <= 4; $form++) {
$variables = array(
1,
$form,
1,
"node:",
"Add node titles",
"node_title",
"",
1,
"SELECT n.title, CONCAT('node/',n.nid) FROM {node} n WHERE n.status = 1 AND LOWER(n.title) LIKE LOWER(:like_word)",
2,
$form,
1,
"user:",
"Add usernames",
"username",
"",
2,
"SELECT u.name, CONCAT('user/', u.uid) FROM {users} u WHERE u.status = 1 AND LOWER(u.name) LIKE LOWER(:like_word)",
3,
$form,
$enable_taxo,
"vocab:",
"Add taxonomies",
"taxo_title",
"taxonomy",
3,
"SELECT t.name, CONCAT('taxonomy/term/', t.tid) FROM {term_data} t WHERE LOWER(t.name) LIKE LOWER(:like_word)",
4,
$form,
$enable_comment,
"comment:",
"Add node comment titles",
"comment_title",
"comment",
4,
"SELECT c.subject, CONCAT('node/', c.nid, '/#comment-', c.cid) FROM {comments} c WHERE c.subject LIKE LOWER(:like_word)",
5,
$form,
1,
"",
"Add all possible words (any word appearing on your website)",
"word_title",
"search",
5,
"SELECT DISTINCT s.word, CONCAT('search/node/', 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)",
);
$ok_result2 &= db_query($sql, $variables);
}
if (!$ok_result2) {
drupal_set_message(st('An error has occured while creating default suggestions, please retry. If the problem persist please post an issue and report the code: #err_code:402'), 'error');
}
variable_del('search_autocomplete_forms');
variable_del('search_autocomplete_test');
variable_del('search_autocomplete_limit');
variable_del('search_autocomplete_trigger');
variable_del('search_autocomplete_method');
if ($ok_result1 && $ok_result2 && $result['success']) {
drupal_set_message(st('Search Autocomplete is now correctly installed!'));
}
}