xref: /plugin/authskautis/action.php (revision 9c725b9fbdbbd1ed92bc6d66f126f33a0c2902e0)
1a4ff4e44SJiri Dorazil<?php
25c420ec9SJan Staněk
3a4ff4e44SJiri Dorazilif (!defined('DOKU_INC')) die();
4a4ff4e44SJiri Dorazil
55c420ec9SJan Staněkrequire_once 'vendor/autoload.php';
68a605c6dSJiri Dorazil
7a4ff4e44SJiri Dorazil
8a4ff4e44SJiri Dorazilclass action_plugin_authskautis extends DokuWiki_Action_Plugin {
98a605c6dSJiri Dorazil
108a605c6dSJiri Dorazil    protected $url;
118a605c6dSJiri Dorazil    protected $testUrl;
128a605c6dSJiri Dorazil
13a4ff4e44SJiri Dorazil    /**
14a4ff4e44SJiri Dorazil     * Registers the event handlers.
15a4ff4e44SJiri Dorazil     */
16c297a794SJan Staněk    function register(Doku_Event_Handler $controller)
17a4ff4e44SJiri Dorazil    {
187fcca098SJiří Dorazil        $controller->register_hook('FORM_LOGIN_OUTPUT', 'BEFORE',  $this, 'hook_html_loginform_output', array());
197fcca098SJiří Dorazil        $controller->register_hook('HTML_UPDATEPROFILEFORM_OUTPUT', 'BEFORE', $this, 'hook_updateprofileform_output', array());
20a4ff4e44SJiri Dorazil    }
21a4ff4e44SJiri Dorazil
2238848c94SJiri Dorazil    function hook_updateprofileform_output(&$event, $param) {
2338848c94SJiri Dorazil        global $USERINFO;
2438848c94SJiri Dorazil
2538848c94SJiri Dorazil        if ($USERINFO['is_skautis']) {
2638848c94SJiri Dorazil            $elem = $event->data->getElementAt(2);
2738848c94SJiri Dorazil            $elem['disabled'] = 'disabled';
2838848c94SJiri Dorazil            $event->data->replaceElement(2, $elem);
2938848c94SJiri Dorazil
3038848c94SJiri Dorazil            $elem = $event->data->getElementAt(3);
3138848c94SJiri Dorazil            $elem['disabled'] = 'disabled';
3238848c94SJiri Dorazil            $event->data->replaceElement(3, $elem);
3338848c94SJiri Dorazil
3438848c94SJiri Dorazil            $event->data->replaceElement(10, null);
3538848c94SJiri Dorazil            $event->data->replaceElement(9, null);
3638848c94SJiri Dorazil            $event->data->replaceElement(8, null);
3738848c94SJiri Dorazil            $event->data->replaceElement(7, null);
3838848c94SJiri Dorazil            $event->data->replaceElement(6, null);
3938848c94SJiri Dorazil            $event->data->replaceElement(5, null);
4038848c94SJiri Dorazil            $event->data->replaceElement(4, null);
4138848c94SJiri Dorazil        }
4238848c94SJiri Dorazil    }
4338848c94SJiri Dorazil
44a4ff4e44SJiri Dorazil    /**
45a4ff4e44SJiri Dorazil     * Handles the login form rendering.
46a4ff4e44SJiri Dorazil     */
47a4ff4e44SJiri Dorazil    function hook_html_loginform_output(&$event, $param) {
48a4ff4e44SJiri Dorazil
49c297a794SJan Staněk        $this->url = Skautis\Config::URL_PRODUCTION . 'Login/?appid=';
50c297a794SJan Staněk        $this->testUrl = Skautis\Config::URL_TEST . 'Login/?appid=';
51a4ff4e44SJiri Dorazil
525c420ec9SJan Staněk        $skautIsAppId = $this->getConf('skautis_app_id');
535c420ec9SJan Staněk        if($skautIsAppId!=''){
548a605c6dSJiri Dorazil            $skautIsTestmode = $this->getConf('skautis_test_mode');
55*9c725b9fSJiří Dorazil            $baseUrl = $skautIsTestmode ? $this->testUrl : $this->url;
56*9c725b9fSJiří Dorazil            $authUrl = sprintf('%s%s', $baseUrl, $skautIsAppId);
578a605c6dSJiri Dorazil
58a4ff4e44SJiri Dorazil            $a_style = "width: 200px;margin:0 auto;color: #666666;cursor: pointer;text-decoration: none !important;display: block;padding-bottom:1.4em;";//-moz-linear-gradient(center top , #F8F8F8, #ECECEC)
59a4ff4e44SJiri Dorazil            $div_style = "float:left;line-height: 30px;background-color: #F8F8F8;border: 1px solid #C6C6C6;border-radius: 2px 2px 2px 2px;padding: 0px 5px 0px 5px;position: relative;";
60*9c725b9fSJiří Dorazil            echo "<a href='$authUrl' style='$a_style' title='".$this->getLang('enter_skautis')."'><div style=\"$div_style\">".$this->getLang('enter_skautis')."</div>";
61a4ff4e44SJiri Dorazil            echo "<div style='clear: both;'></div></a>";
62a4ff4e44SJiri Dorazil        }
63a4ff4e44SJiri Dorazil    }
64748d8f2cSJiri Dorazil}
65a4ff4e44SJiri Dorazil?>
66