function search_autocomplete_update_6201 in Search Autocomplete 6.2
Get ready for version 2.0-alpha1 to 2.1
File
- ./
search_autocomplete.install, line 247 - This file is used to install/update/delete the module tables in database
Code
function search_autocomplete_update_6201() {
$ret = array();
$ok_result = TRUE;
// so far so good
// don't need the method field anymore
if (db_column_exists('search_autocomplete_forms', 'method')) {
$ret = array();
db_drop_field($ret, 'search_autocomplete_forms', 'method');
}
if (db_column_exists('search_autocomplete_forms', 'form_id')) {
$ret = array();
db_drop_field($ret, 'search_autocomplete_forms', 'form_id');
}
if (db_column_exists('search_autocomplete_forms', 'sort')) {
$ret = array();
db_drop_field($ret, 'search_autocomplete_forms', 'sort');
}
// change sug_module to sug_dependencies
if (db_column_exists('search_autocomplete_suggestions', 'sug_module')) {
$ok_result &= db_query('ALTER TABLE {search_autocomplete_suggestions} CHANGE sug_module sug_dependencies VARCHAR(255) NOT NULL');
}
// add the query column
if (!db_column_exists('search_autocomplete_suggestions', 'sug_query')) {
$ret = array();
db_add_field($ret, 'search_autocomplete_suggestions', 'sug_query', array(
'description' => 'The database query for this suggestion',
'type' => 'varchar',
'length' => 512,
'not null' => TRUE,
'default' => '',
));
$ok_result &= db_query('UPDATE {search_autocomplete_suggestions} SET sug_query = "%s" WHERE sid = 1', "SELECT n.title FROM {node} n WHERE n.status = 1 AND LOWER(n.title) LIKE LOWER(:like_word)");
$ok_result &= db_query('UPDATE {search_autocomplete_suggestions} SET sug_query = "%s" WHERE sid = 2', "SELECT u.name FROM {users} u WHERE u.status = 1 AND LOWER(u.name) LIKE LOWER(:like_word)");
$ok_result &= db_query('UPDATE {search_autocomplete_suggestions} SET sug_query = "%s" WHERE sid = 3', "SELECT t.name FROM {term_data} t WHERE LOWER(t.name) LIKE LOWER(:like_word)");
$ok_result &= db_query('UPDATE {search_autocomplete_suggestions} SET sug_query = "%s" WHERE sid = 4', "SELECT c.subject FROM {comments} c WHERE c.subject LIKE LOWER(:like_word)");
$ok_result &= db_query('UPDATE {search_autocomplete_suggestions} SET sug_query = "%s" WHERE sid = 5', "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)");
// Add the default (zero fid) 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")';
$variables = array(
1,
0,
1,
"node:",
"Add node titles",
"node_title",
"",
1,
"SELECT n.title FROM {node} n WHERE n.status = 1 AND LOWER(n.title) LIKE LOWER(:like_word)",
2,
0,
1,
"user:",
"Add node usernames",
"username",
"",
2,
"SELECT u.name FROM {users} u WHERE u.status = 1 AND LOWER(u.name) LIKE LOWER(:like_word)",
3,
0,
1,
"vocab:",
"Add taxonomies",
"taxo_title",
"taxonomy",
3,
"SELECT t.name FROM {term_data} t WHERE LOWER(t.name) LIKE LOWER(:like_word)",
4,
0,
1,
"comment:",
"Add node comment titles",
"comment_title",
"comment",
4,
"SELECT c.subject FROM {comments} c WHERE c.subject LIKE LOWER(:like_word)",
5,
0,
1,
"",
"Add all possible words (any word appearing on your website)",
"word_title",
"search",
5,
"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)",
);
$ok_result &= db_query($sql, $variables);
}
if (!$ok_result) {
drupal_set_message(st('An error has occured during 6201 update of Search Autocomplete module'), 'error');
}
// Rebuild system table contents.
module_rebuild_cache();
system_theme_data();
return $ret;
}