--- a/includes/paths.php Sun Dec 02 15:27:21 2007 -0500
+++ b/includes/paths.php Sun Dec 02 16:00:10 2007 -0500
@@ -118,7 +118,8 @@
eval($cmd);
}
- $e = $db->sql_query('SELECT name,urlname,namespace,special,visible,comments_on,protected,delvotes,delvote_ips,wiki_mode,password FROM '.table_prefix.'pages ORDER BY name;');
+ $e = $db->sql_query('SELECT name,urlname,namespace,special,visible,comments_on,protected,delvotes,' . "\n"
+ . ' delvote_ips,wiki_mode,password FROM '.table_prefix.'pages ORDER BY name;');
if( !$e )
{
$db->_die('The error seems to have occured while selecting the page information. File: includes/paths.php; line: '.__LINE__);
@@ -681,17 +682,30 @@
/**
* Rebuilds the search index
+ * @param bool If true, prints out status messages
*/
- function rebuild_search_index()
+ function rebuild_search_index($verbose = false)
{
global $db, $session, $paths, $template, $plugins; // Common objects
$search = new Searcher();
+ if ( $verbose )
+ {
+ echo '<p>';
+ }
$texts = Array();
$textq = $db->sql_unbuffered_query($this->fetch_page_search_resource());
if(!$textq) $db->_die('');
while($row = $db->fetchrow())
{
+ if ( $verbose )
+ {
+ ob_start();
+ echo "Indexing page " . $this->nslist[$row['namespace']] . sanitize_page_id($row['page_id']) . "<br />";
+ ob_flush();
+ while (@ob_end_flush());
+ flush();
+ }
if ( isset($this->nslist[$row['namespace']]) )
{
$idstring = $this->nslist[$row['namespace']] . sanitize_page_id($row['page_id']);
@@ -710,7 +724,19 @@
}
$texts[(string)$row['page_idstring']] = $row['page_text'] . ' ' . $page['name'];
}
+ if ( $verbose )
+ {
+ ob_start();
+ echo "Calculating word list...";
+ ob_flush();
+ while (@ob_end_flush());
+ flush();
+ }
$search->buildIndex($texts);
+ if ( $verbose )
+ {
+ echo '</p>';
+ }
// echo '<pre>'.print_r($search->index, true).'</pre>';
// return;
$q = $db->sql_query('DELETE FROM '.table_prefix.'search_index');