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