*/ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); class action_plugin_asyncsearch_pagelookup extends DokuWiki_Action_Plugin { /** * Registers a callback function for a given event * * @param Doku_Event_Handler $controller DokuWiki's event controller object * @return void */ public function register(Doku_Event_Handler $controller) { $controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, 'handle_ajax_call_unknown'); } /** * [Custom event handler which performs action] * * @param Doku_Event $event event object by reference * @param mixed $param [the parameters passed as fifth argument to register_hook() when this * handler was registered] * @return void */ public function handle_ajax_call_unknown( Doku_Event &$event, $param) { global $ACT, $INPUT; if ( $event->data === 'asyncsearch' && $INPUT->str('pluginID') == 'pagelookup' ) { $this->handle_ft_pageLookup( $INPUT->str('term') ); } else if ( $event->data === 'asyncsearch' && $INPUT->str('pluginID') == 'pagesearch' ) { $this->handle_ft_pageSearch( $INPUT->str('term') ); } else { return true; } $event->preventDefault(); return false; } /** * [Custom event handler which performs action] * * @param Doku_Event $event event object by reference * @param mixed $param [the parameters passed as fifth argument to register_hook() when this * handler was registered] * @return void */ private function handle_ft_pageLookup( $QUERY ) { global $lang; //do quick pagesearch $data = ft_pageLookup($QUERY,true,useHeading('navigation')); if(count($data)){ print '