about summary refs log tree commit diff stats
path: root/wiki/lib/plugins/authad/action.php
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/lib/plugins/authad/action.php')
-rw-r--r--wiki/lib/plugins/authad/action.php91
1 files changed, 0 insertions, 91 deletions
diff --git a/wiki/lib/plugins/authad/action.php b/wiki/lib/plugins/authad/action.php
deleted file mode 100644
index bc0f90c..0000000
--- a/wiki/lib/plugins/authad/action.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-/**
- * DokuWiki Plugin addomain (Action Component)
- *
- * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
- * @author  Andreas Gohr <gohr@cosmocode.de>
- */
-
-// must be run within Dokuwiki
-if(!defined('DOKU_INC')) die();
-
-/**
- * Class action_plugin_addomain
- */
-class action_plugin_authad extends DokuWiki_Action_Plugin {
-
-    /**
-     * Registers a callback function for a given event
-     */
-    public function register(Doku_Event_Handler $controller) {
-
-        $controller->register_hook('AUTH_LOGIN_CHECK', 'BEFORE', $this, 'handle_auth_login_check');
-        $controller->register_hook('HTML_LOGINFORM_OUTPUT', 'BEFORE', $this, 'handle_html_loginform_output');
-
-    }
-
-    /**
-     * Adds the selected domain as user postfix when attempting a login
-     *
-     * @param Doku_Event $event
-     * @param array      $param
-     */
-    public function handle_auth_login_check(Doku_Event &$event, $param) {
-        global $INPUT;
-
-        /** @var auth_plugin_authad $auth */
-        global $auth;
-        if(!is_a($auth, 'auth_plugin_authad')) return; // AD not even used
-
-        if($INPUT->str('dom')) {
-            $usr = $auth->cleanUser($event->data['user']);
-            $dom = $auth->_userDomain($usr);
-            if(!$dom) {
-                $usr = "$usr@".$INPUT->str('dom');
-            }
-            $INPUT->post->set('u', $usr);
-            $event->data['user'] = $usr;
-        }
-    }
-
-    /**
-     * Shows a domain selection in the login form when more than one domain is configured
-     *
-     * @param Doku_Event $event
-     * @param array      $param
-     */
-    public function handle_html_loginform_output(Doku_Event &$event, $param) {
-        global $INPUT;
-        /** @var auth_plugin_authad $auth */
-        global $auth;
-        if(!is_a($auth, 'auth_plugin_authad')) return; // AD not even used
-        $domains = $auth->_getConfiguredDomains();
-        if(count($domains) <= 1) return; // no choice at all
-
-        /** @var Doku_Form $form */
-        $form =& $event->data;
-
-        // any default?
-        $dom = '';
-        if($INPUT->has('u')) {
-            $usr = $auth->cleanUser($INPUT->str('u'));
-            $dom = $auth->_userDomain($usr);
-
-            // update user field value
-            if($dom) {
-                $usr          = $auth->_userName($usr);
-                $pos          = $form->findElementByAttribute('name', 'u');
-                $ele          =& $form->getElementAt($pos);
-                $ele['value'] = $usr;
-            }
-        }
-
-        // add select box
-        $element = form_makeListboxField('dom', $domains, $dom, $this->getLang('domain'), '', 'block');
-        $pos     = $form->findElementByAttribute('name', 'p');
-        $form->insertElement($pos + 1, $element);
-    }
-
-}
-
-// vim:ts=4:sw=4:et:
\ No newline at end of file