1<?php
2/**
3 * DokuWiki Plugin indextitleonly (Action Component)
4 *
5 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
6 * @author  Michael Hamann <michael@content-space.de>
7 */
8
9// must be run within Dokuwiki
10if (!defined('DOKU_INC')) die();
11
12if (!defined('DOKU_LF')) define('DOKU_LF', "\n");
13if (!defined('DOKU_TAB')) define('DOKU_TAB', "\t");
14if (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
15
16require_once DOKU_PLUGIN.'action.php';
17
18class action_plugin_indextitleonly extends DokuWiki_Action_Plugin {
19
20    public function register(Doku_Event_Handler $controller) {
21       $controller->register_hook('INDEXER_PAGE_ADD', 'BEFORE', $this, 'handle_indexer_page_add');
22       $controller->register_hook('INDEXER_VERSION_GET', 'BEFORE', $this, 'handle_indexer_version_get');
23    }
24
25    public function handle_indexer_page_add(Doku_Event $event, $param) {
26        if (strpos(getNS($event->data['page']).':', $this->getConf('namespace')) === 0) {
27            $event->data['body'] = $event->data['metadata']['title'];
28            $event->preventDefault();
29        }
30    }
31
32    public function handle_indexer_version_get(Doku_Event $event, $param) {
33        $event->data['indextitleonly'] = 1;
34    }
35}
36
37// vim:ts=4:sw=4:et:
38