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