diff options
Diffstat (limited to 'lib/exe')
-rw-r--r-- | lib/exe/indexer.php | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index f5fc07bc3..057ab06f1 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -13,6 +13,9 @@ require_once(DOKU_INC.'inc/events.php'); session_write_close(); //close session if(!defined('NL')) define('NL',"\n"); +// Version tag used to force rebuild on upgrade +define(INDEXER_VERSION, 1); + // keep running after browser closes connection @ignore_user_abort(true); @@ -136,10 +139,15 @@ function runIndexer(){ if(!$ID) return false; // check if indexing needed - $last = @filemtime(metaFN($ID,'.indexed')); - if($last > @filemtime(wikiFN($ID))){ - print "runIndexer(): index for $ID up to date".NL; - return false; + $idxtag = metaFN($ID,'.indexed'); + if(@file_exists($idxtag)){ + if(io_readFile($idxtag) >= INDEXER_VERSION){ + $last = @filemtime($idxtag); + if($last > @filemtime(wikiFN($ID))){ + print "runIndexer(): index for $ID up to date".NL; + return false; + } + } } // try to aquire a lock @@ -163,7 +171,7 @@ function runIndexer(){ idx_addPage($ID); // we're finished - save and free lock - io_saveFile(metaFN($ID,'.indexed'),' '); + io_saveFile(metaFN($ID,'.indexed'),INDEXER_VERSION); @rmdir($lock); print "runIndexer(): finished".NL; return true; |