1<?php
2
3class admin_plugin_swarmwebhook extends DokuWiki_Admin_Plugin
4{
5
6    public function forAdminOnly()
7    {
8        return true;
9    }
10
11    public function handle()
12    {
13    }
14
15
16    public function html()
17    {
18        echo '<h1>Instructions to create the swarm webhook with IFTTT</h1>';
19        $secret = $this->getConf('hook_secret');
20        if (empty($secret)) {
21            $exampleSecret = md5(time());
22            $settingsID = 'plugin____swarmwebhook____plugin_settings_name';
23            $configHRef = DOKU_REL . DOKU_SCRIPT . '?do=admin&page=config#' . $settingsID;
24            $configLink = '<a href="' . $configHRef . '">' . $this->getLang('configuration') . '</a>';
25            $secretNeededMsg = sprintf(
26                $this->getLang('secret needed'),
27                $configLink,
28                '<code>' . $exampleSecret . '</code>'
29            );
30            echo '<p>' . $secretNeededMsg . '</p>';
31            return;
32        }
33
34        echo $this->iftttInstructionsHTML();
35        echo $this->zapierInstructionsHTML();
36    }
37
38    /**
39     * Get the instructions for IFTTT
40     *
41     * @return string
42     */
43    protected function iftttInstructionsHTML()
44    {
45        $secret = $this->getConf('hook_secret');
46
47        $html = $this->locale_xhtml('ifttt_instructions');
48
49        $html = str_replace('DOKU_URL', DOKU_URL, $html);
50        $html = str_replace('$secret', hsc($secret), $html);
51
52        return $html;
53    }
54
55    /**
56     * Get the instructions for Zapier
57     *
58     * @return string
59     */
60    protected function zapierInstructionsHTML()
61    {
62        $html = $this->locale_xhtml('zapier_instructions');
63        $html = str_replace('DOKU_URL', DOKU_URL, $html);
64        return $html;
65    }
66}
67