query("CREATE TABLE {search_records} ( `id` int(9) NOT NULL auto_increment, `item_id` int(9), `dirty` boolean default 1, `data` LONGTEXT default NULL, PRIMARY KEY (`id`), 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); if (ORM::factory("search_record")->count_all() < 10) { foreach (ORM::factory("search_record")->where("dirty", 1)->find_all() as $record) { search::update_record($record); } } else { search::check_index(); } } } static function uninstall() { $db = Database::instance(); $db->query("DROP TABLE {search_records}"); site_status::clear("search_index_out_of_date"); module::delete("search"); } }