summaryrefslogtreecommitdiff
path: root/modules/search/helpers/search_installer.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-05-26 05:28:59 +0000
committerBharat Mediratta <bharat@menalto.com>2009-05-26 05:28:59 +0000
commit7aed9239088b582a065da3fb63796ff66cd357c8 (patch)
tree8be9bc4faec21b20cbcc060ad5e9ca128465d09e /modules/search/helpers/search_installer.php
parent2966289b147ceae2fed79b9534840607bf38e0d8 (diff)
Restructure the module lifecycle.
Install: <module>_installer::install() is called, any necessary tables are created. Activate: <module>_installer::activate() is called. Module controllers are routable, helpers are accessible, etc. The module is in use. Deactivate: <module>_installer::deactivate() is called. Module code is not accessible or routable. Module is *not* in use, but its tables are still around. Uninstall: <module>_installer::uninstall() is called. Module is completely removed from the database. Admin > Modules will install and activate modules, but will only deactivate (will NOT uninstall modules).
Diffstat (limited to 'modules/search/helpers/search_installer.php')
-rw-r--r--modules/search/helpers/search_installer.php19
1 files changed, 12 insertions, 7 deletions
diff --git a/modules/search/helpers/search_installer.php b/modules/search/helpers/search_installer.php
index a3d0f79e..5fc9b37b 100644
--- a/modules/search/helpers/search_installer.php
+++ b/modules/search/helpers/search_installer.php
@@ -31,18 +31,23 @@ class search_installer {
KEY(`item_id`),
FULLTEXT INDEX (`data`))
ENGINE=MyISAM DEFAULT CHARSET=utf8;");
-
- // populate the index with dirty records
- $db->query("INSERT INTO {search_records} (`item_id`) SELECT `id` FROM {items}");
module::set_version("search", 1);
+ }
+ }
+
+ static function activate() {
+ // Update the root item. This is a quick hack because the search module is activated as part
+ // of the official install, so this way we don't start off with a "your index is out of date"
+ // banner.
+ search::update(model_cache::get("item", 1));
search::check_index();
}
+
+ static function deactivate() {
+ site_status::clear("search_index_out_of_date");
}
static function uninstall() {
- $db = Database::instance();
- $db->query("DROP TABLE {search_records}");
- site_status::clear("search_index_out_of_date");
- module::delete("search");
+ Database::instance()->query("DROP TABLE {search_records}");
}
}