\n";
#unlink($ReindexFile);
set_time_limit(120);
$PageIndexTime = 60;
if (!file_exists($ReindexFile)) { // no .pageindex - start from scratch
#echo "DEBUG: A
\n";
$pagelist = $WikiDir->ls();
sort($pagelist);
file_put_contents($ReindexFile, implode("\n", $pagelist));
fixperms($ReindexFile);
} else { // we are assuming .pageindex has been created in order
#echo "DEBUG: B
\n";
$pagelist = explode("\n", file_get_contents($ReindexFile));
$lastpage = '';
$ifp = @fopen($PageIndexFile, 'r');
if ($ifp) {
while (!feof($ifp)) {
$line = fgets($ifp, 4096);
while (substr($line, -1, 1) != "\n" && !feof($ifp))
$line .= fgets($ifp, 4096);
$i = strpos($line, ':');
if ($i === false) continue;
$n = substr($line, 0, $i);
if ($n > $lastpage) $lastpage = $n;
else break;
}
fclose($ifp);
for ($i = 0; $i < sizeof($pagelist); $i++)
if ($pagelist[$i] >= $lastpage) break;
if ($pagelist[$i] == $lastpage)
$pagelist = array_slice($pagelist, $i+1);
}
}
echo "DEBUG: count=".count($pagelist)."
\n";
if (!count($pagelist)) {
echo "Indexing complete. Deleting $ReindexFile
\n";
if (file_exists($ReindexFile)) {
fixperms($ReindexFile);
unlink($ReindexFile); // for some reason this is giving err in windows
}
} else {
PageIndexUpdate($pagelist);
ob_flush(); flush();
redirect($ScriptUrl.'?n='.$pagename.'&reindex=1');
}
}