Code: Select all
function Reindex()
{
$db =& $this->GetDb();
$db_prefix = cms_db_prefix();
$db->Execute('DROP TABLE '.cms_db_prefix().'module_search_items');
$db->Execute('DROP TABLE '.cms_db_prefix().'module_search_index');
$dict = NewDataDictionary($db);
$flds= "
id I KEY,
module_name C(100),
content_id I,
extra_attr C(100),
expires " . CMS_ADODB_DT;
$taboptarray = array('mysql' => 'TYPE=MyISAM');
$sqlarray = $dict->CreateTableSQL(cms_db_prefix().'module_search_items', $flds, $taboptarray);
$dict->ExecuteSQLArray($sqlarray);
$db->CreateSequence(cms_db_prefix()."module_search_items_seq");
$flds= "
item_id I,
word C(255),
count I
";
$taboptarray = array('mysql' => 'TYPE=MyISAM');
$sqlarray = $dict->CreateTableSQL(cms_db_prefix().'module_search_index', $flds, $taboptarray);
$dict->ExecuteSQLArray($sqlarray);
$sqlarray = $dict->CreateIndexSQL('count', $db_prefix."module_search_index", 'count');
$dict->ExecuteSQLArray($sqlarray);
global $gCms;
$templateops =& $gCms->GetTemplateOperations();
$alltemplates = $templateops->LoadTemplates();
reset($alltemplates);
while (list($key) = each($alltemplates))
{
$onetemplate =& $alltemplates[$key];
//$this->EditTemplatePost($onetemplate);
$params = array('template' => &$onetemplate,
'forceindexcontent'=>1);
$this->DoEvent('Core', 'EditTemplatePost', $params);
}
$gcbops =& $gCms->GetGlobalContentOperations();
$allblobs = $gcbops->LoadHtmlBlobs();
reset($allblobs);
while (list($key) = each($allblobs))
{
$oneblob =& $allblobs[$key];
//$this->EditHtmlBlobPost($oneblob);
$params = array('global_content' => &$oneblob);
$this->DoEvent('Core', 'EditHtmlBlobPost', $params);
}
global $gCms;
foreach($gCms->modules as $key=>$value)
{
if ($gCms->modules[$key]['installed'] == true &&
$gCms->modules[$key]['active'] == true)
{
if (method_exists($gCms->modules[$key]['object'], 'SearchReindex'))
{
$gCms->modules[$key]['object']->SearchReindex($this);
}
}
}
}