1a2999599SSzymon Olewniczak<?php 2a2999599SSzymon Olewniczak/** 3a2999599SSzymon Olewniczak * DokuWiki Plugin bez (Action Component) 4a2999599SSzymon Olewniczak * 5a2999599SSzymon Olewniczak */ 6a2999599SSzymon Olewniczak 7a2999599SSzymon Olewniczak// must be run within Dokuwiki 8a2999599SSzymon Olewniczakif(!defined('DOKU_INC')) die(); 9a2999599SSzymon Olewniczak 10a2999599SSzymon Olewniczakclass action_plugin_bez_maildebug extends DokuWiki_Action_Plugin { 11a2999599SSzymon Olewniczak 12a2999599SSzymon Olewniczak /** 13a2999599SSzymon Olewniczak * Registers a callback function for a given event 14a2999599SSzymon Olewniczak * 15a2999599SSzymon Olewniczak * @param Doku_Event_Handler $controller DokuWiki's event controller object 16a2999599SSzymon Olewniczak * @return void 17a2999599SSzymon Olewniczak */ 18a2999599SSzymon Olewniczak public function register(Doku_Event_Handler $controller) 19a2999599SSzymon Olewniczak { 20a2999599SSzymon Olewniczak $controller->register_hook('MAIL_MESSAGE_SEND', 'BEFORE', $this, 'handle_debug'); 21a2999599SSzymon Olewniczak } 22a2999599SSzymon Olewniczak 23a2999599SSzymon Olewniczak /** 24a2999599SSzymon Olewniczak * [Custom event handler which performs action] 25a2999599SSzymon Olewniczak * 26a2999599SSzymon Olewniczak * @param Doku_Event $event event object by reference 27a2999599SSzymon Olewniczak * @param mixed $param [the parameters passed as fifth argument to register_hook() when this 28a2999599SSzymon Olewniczak * handler was registered] 29a2999599SSzymon Olewniczak * @return void 30a2999599SSzymon Olewniczak */ 31a2999599SSzymon Olewniczak public function handle_debug(Doku_Event &$event, $param) { 32a2999599SSzymon Olewniczak global $dryrun; 33a2999599SSzymon Olewniczak 34a2999599SSzymon Olewniczak if ($dryrun) { 35a2999599SSzymon Olewniczak $event->preventDefault(); 36*ee3e294dSSzymon Olewniczak $event->stopPropagation(); 37a2999599SSzymon Olewniczak 38a2999599SSzymon Olewniczak $mail = $event->data['mail']; 39a2999599SSzymon Olewniczak $reflection = new \ReflectionClass($mail); 40a2999599SSzymon Olewniczak $property = $reflection->getProperty('html'); 41a2999599SSzymon Olewniczak $property->setAccessible(true); 42a2999599SSzymon Olewniczak $html = $property->getValue($mail); 43a2999599SSzymon Olewniczak echo "To: " . $event->data['to'] . "\n"; 44a2999599SSzymon Olewniczak echo $html; 45a2999599SSzymon Olewniczak echo "\n\n"; 46a2999599SSzymon Olewniczak } 47a2999599SSzymon Olewniczak } 48a2999599SSzymon Olewniczak} 49