diff options
author | Michael Hamann <michael@content-space.de> | 2011-03-06 13:17:15 +0100 |
---|---|---|
committer | Michael Hamann <michael@content-space.de> | 2011-03-06 13:29:53 +0100 |
commit | 39d6fd3051102c9f2fb5436c7bcaf44d6068fde8 (patch) | |
tree | a1eb8e8653b9cdeb0d8f97670505cc6481690cb7 /inc/indexer.php | |
parent | b6d540bdf1d129168ec20fb4c54956edb07c189b (diff) | |
download | rpg-39d6fd3051102c9f2fb5436c7bcaf44d6068fde8.tar.gz rpg-39d6fd3051102c9f2fb5436c7bcaf44d6068fde8.tar.bz2 |
Merge the two indexer events and use string keys
This merges the INDEXER_PAGE_ADD and INDEXER_METADATA_INDEX events and
introduces the new string keys 'page', 'body' and 'metadata' in the
event data. All plugins that use INDEXER_PAGE_ADD need to be adjusted to
use the key 'page' instead of 0 and 'body' instead of 1.
Diffstat (limited to 'inc/indexer.php')
-rw-r--r-- | inc/indexer.php | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/inc/indexer.php b/inc/indexer.php index 270f717b5..f0d951230 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -1181,12 +1181,16 @@ function idx_addPage($page, $verbose=false) { } $body = ''; - $data = array($page, $body); + $metadata = array(); + $metadata['title'] = p_get_metadata($page, 'title', false); + if (($references = p_get_metadata($page, 'relation references', false)) !== null) + $metadata['relation_references'] = array_keys($references); + $data = compact('page', 'body', 'metadata'); $evt = new Doku_Event('INDEXER_PAGE_ADD', $data); - if ($evt->advise_before()) $data[1] = $data[1] . " " . rawWiki($page); + if ($evt->advise_before()) $data['body'] = $data['body'] . " " . rawWiki($page); $evt->advise_after(); unset($evt); - list($page,$body) = $data; + extract($data); $Indexer = idx_get_indexer(); $result = $Indexer->addPageWords($page, $body); @@ -1196,22 +1200,11 @@ function idx_addPage($page, $verbose=false) { } if ($result) { - $data = array('page' => $page, 'metadata' => array()); - - $data['metadata']['title'] = p_get_metadata($page, 'title', false); - if (($references = p_get_metadata($page, 'relation references', false)) !== null) - $data['metadata']['relation_references'] = array_keys($references); - - $evt = new Doku_Event('INDEXER_METADATA_INDEX', $data); - if ($evt->advise_before()) { - $result = $Indexer->addMetaKeys($page, $data['metadata']); - if ($result === "locked") { - if ($verbose) print("Indexer: locked".DOKU_LF); - return false; - } + $result = $Indexer->addMetaKeys($page, $metadata); + if ($result === "locked") { + if ($verbose) print("Indexer: locked".DOKU_LF); + return false; } - $evt->advise_after(); - unset($evt); } if ($result) |