0
|
1 <?php
|
|
2
|
|
3 /**
|
|
4 * Sample plugin to try out some hooks.
|
|
5 * This performs an automatic login if accessed from localhost
|
|
6 *
|
|
7 * @license GNU GPLv3+
|
|
8 * @author Thomas Bruederli
|
|
9 */
|
|
10 class autologon extends rcube_plugin
|
|
11 {
|
|
12 public $task = 'login';
|
|
13
|
|
14 function init()
|
|
15 {
|
|
16 $this->add_hook('startup', array($this, 'startup'));
|
|
17 $this->add_hook('authenticate', array($this, 'authenticate'));
|
|
18 }
|
|
19
|
|
20 function startup($args)
|
|
21 {
|
|
22 // change action to login
|
|
23 if (empty($_SESSION['user_id']) && !empty($_GET['_autologin']) && $this->is_localhost())
|
|
24 $args['action'] = 'login';
|
|
25
|
|
26 return $args;
|
|
27 }
|
|
28
|
|
29 function authenticate($args)
|
|
30 {
|
|
31 if (!empty($_GET['_autologin']) && $this->is_localhost()) {
|
|
32 $args['user'] = 'me';
|
|
33 $args['pass'] = '******';
|
|
34 $args['host'] = 'localhost';
|
|
35 $args['cookiecheck'] = false;
|
|
36 $args['valid'] = true;
|
|
37 }
|
|
38
|
|
39 return $args;
|
|
40 }
|
|
41
|
|
42 function is_localhost()
|
|
43 {
|
|
44 return $_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1';
|
|
45 }
|
|
46
|
|
47 }
|
|
48
|