diff options
| author | till <till@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-20 14:20:01 +0000 |
|---|---|---|
| committer | till <till@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-20 14:20:01 +0000 |
| commit | 8660a74501de5ee206f6c14246f7112e6ea91ad3 (patch) | |
| tree | 1e67a0bcc9ebe254d6f0c21eb07728216f5b3149 /plugins/autologon | |
| parent | 85de1261ba60e3df477a49a15de8471f79d2946a (diff) | |
moved plugins
git-svn-id: https://svn.roundcube.net/trunk@3394 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/autologon')
| -rw-r--r-- | plugins/autologon/autologon.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/plugins/autologon/autologon.php b/plugins/autologon/autologon.php new file mode 100644 index 000000000..bc3d2ee76 --- /dev/null +++ b/plugins/autologon/autologon.php @@ -0,0 +1,45 @@ +<?php + +/** + * Sample plugin to try out some hooks. + * This performs an automatic login if accessed from localhost + */ +class autologon extends rcube_plugin +{ + public $task = 'login'; + + function init() + { + $this->add_hook('startup', array($this, 'startup')); + $this->add_hook('authenticate', array($this, 'authenticate')); + } + + function startup($args) + { + $rcmail = rcmail::get_instance(); + + // change action to login + if (empty($_SESSION['user_id']) && !empty($_GET['_autologin']) && $this->is_localhost()) + $args['action'] = 'login'; + + return $args; + } + + function authenticate($args) + { + if (!empty($_GET['_autologin']) && $this->is_localhost()) { + $args['user'] = 'me'; + $args['pass'] = '******'; + $args['host'] = 'localhost'; + } + + return $args; + } + + function is_localhost() + { + return $_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1'; + } + +} + |
