xref: /plugin/bez/action/maildebug.php (revision 7987ce1610e58009154fa116d7bedb27734cb60e)
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    {
20*7987ce16SSzymon Olewniczak        $controller->register_hook('MAIL_MESSAGE_SEND', 'BEFORE', $this, 'handle_debug', null, -3999);
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();
36ee3e294dSSzymon 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