summaryrefslogtreecommitdiff
path: root/inc/indexer.php
diff options
context:
space:
mode:
authorMichael Hamann <michael@content-space.de>2012-03-15 14:21:42 +0100
committerMichael Hamann <michael@content-space.de>2012-03-15 14:59:35 +0100
commita23ac4d7df6b3952d2d1b76686d3b439fc0a6759 (patch)
treeae444b97e57647edb17299186b6368d41ec7deb1 /inc/indexer.php
parentd0caa5642f6e322a026bd5bdac4585ff1b2f40da (diff)
downloadrpg-a23ac4d7df6b3952d2d1b76686d3b439fc0a6759.tar.gz
rpg-a23ac4d7df6b3952d2d1b76686d3b439fc0a6759.tar.bz2
Indexer: Check for deleted pages first FS#2469
This move the check if the page doesn't exist anymore but is still in the index before the check if the index needs to be updated as otherwise deleted pages won't be deleted from the index.
Diffstat (limited to 'inc/indexer.php')
-rw-r--r--inc/indexer.php24
1 files changed, 13 insertions, 11 deletions
diff --git a/inc/indexer.php b/inc/indexer.php
index 9d8d6f99b..3f56e5fe5 100644
--- a/inc/indexer.php
+++ b/inc/indexer.php
@@ -1174,18 +1174,8 @@ function & idx_get_stopwords() {
* @author Tom N Harris <tnharris@whoopdedo.org>
*/
function idx_addPage($page, $verbose=false, $force=false) {
- // check if indexing needed
$idxtag = metaFN($page,'.indexed');
- if(!$force && @file_exists($idxtag)){
- if(trim(io_readFile($idxtag)) == idx_get_version()){
- $last = @filemtime($idxtag);
- if($last > @filemtime(wikiFN($page))){
- if ($verbose) print("Indexer: index for $page up to date".DOKU_LF);
- return false;
- }
- }
- }
-
+ // check if page was deleted but is still in the index
if (!page_exists($page)) {
if (!@file_exists($idxtag)) {
if ($verbose) print("Indexer: $page does not exist, ignoring".DOKU_LF);
@@ -1200,6 +1190,18 @@ function idx_addPage($page, $verbose=false, $force=false) {
@unlink($idxtag);
return $result;
}
+
+ // check if indexing needed
+ if(!$force && @file_exists($idxtag)){
+ if(trim(io_readFile($idxtag)) == idx_get_version()){
+ $last = @filemtime($idxtag);
+ if($last > @filemtime(wikiFN($page))){
+ if ($verbose) print("Indexer: index for $page up to date".DOKU_LF);
+ return false;
+ }
+ }
+ }
+
$indexenabled = p_get_metadata($page, 'internal index', METADATA_RENDER_UNLIMITED);
if ($indexenabled === false) {
$result = false;