\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'); } }