summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hamann <michael@content-space.de>2011-03-06 13:17:15 +0100
committerMichael Hamann <michael@content-space.de>2011-03-06 13:29:53 +0100
commit39d6fd3051102c9f2fb5436c7bcaf44d6068fde8 (patch)
treea1eb8e8653b9cdeb0d8f97670505cc6481690cb7
parentb6d540bdf1d129168ec20fb4c54956edb07c189b (diff)
downloadrpg-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.
-rw-r--r--inc/indexer.php29
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)