*/ class action_plugin_eventcheck extends DokuWiki_Action_Plugin { /** * Register its handlers with the DokuWiki's event controller */ public function register(Doku_Event_Handler $controller) { $events = array( 'ACTION_HEADERS_SEND', 'HTML_PAGE_FROMTEMPLATE', 'HTML_PROFILEFORM_INJECTION', 'HTML_REGISTERFORM_INJECTION', 'IO_NAMESPACE_CREATED', 'IO_NAMESPACE_DELETED', 'IO_WIKIPAGE_READ', 'IO_WIKIPAGE_WRITE', 'PARSER_CACHE_USE', 'PARSER_HANDLER_DONE','PARSER_WIKITEXT_PREPROCESS', 'RENDERER_CONTENT_POSTPROCESS', 'TPL_ACT_RENDER', 'TPL_CONTENT_DISPLAY', 'TPL_METAHEADER_OUTPUT' ); foreach($events as $evt) { $controller->register_hook($evt, 'BEFORE', $this, 'write_event_before'); $controller->register_hook($evt, 'AFTER', $this, 'write_event_after'); } } /** * Handle write action before event * * @param Doku_Event $event event object by reference * @param mixed $param empty optional 5th parameter of register_hook() * @return void */ public function write_event_before (Doku_Event $event, $param) { $this->write_event ($event, $param,'BEFORE'); } /** * Handle write action after event * * @param Doku_Event $event event object by reference * @param mixed $param empty optional 5th parameter of register_hook() * @return void */ public function write_event_after (Doku_Event $event, $param) { $this->write_event ($event, $param, 'AFTER'); } /** * Write event information to file * * @param Doku_Event $event event object by reference * @param mixed $param empty * @param string $advise the advise the hook receives */ protected function write_event (Doku_Event $event, $param=null, $advise) { $filename = DOKU_INC . 'eventcheck.txt'; if (!$handle = fopen($filename, 'a')) { return; } $somecontent = "\n --- $advise ---\n"; $somecontent .= "\$_REQUEST: " . print_r($_REQUEST, true) . "\n"; $somecontent .= print_r($event, true) . "\n"; fwrite($handle, $somecontent); fclose($handle); } }