Show spam aliases #
This commit is contained in:
48
data/web/rc/plugins/autologon/autologon.php
Normal file
48
data/web/rc/plugins/autologon/autologon.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Sample plugin to try out some hooks.
|
||||
* This performs an automatic login if accessed from localhost
|
||||
*
|
||||
* @license GNU GPLv3+
|
||||
* @author Thomas Bruederli
|
||||
*/
|
||||
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)
|
||||
{
|
||||
// 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';
|
||||
$args['cookiecheck'] = false;
|
||||
$args['valid'] = true;
|
||||
}
|
||||
|
||||
return $args;
|
||||
}
|
||||
|
||||
function is_localhost()
|
||||
{
|
||||
return $_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1';
|
||||
}
|
||||
|
||||
}
|
||||
|
24
data/web/rc/plugins/autologon/composer.json
Normal file
24
data/web/rc/plugins/autologon/composer.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "roundcube/autologon",
|
||||
"type": "roundcube-plugin",
|
||||
"description": "Sample plugin to try out some hooks",
|
||||
"license": "GPLv3+",
|
||||
"version": "1.0",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Thomas Bruederli",
|
||||
"email": "roundcube@gmail.com",
|
||||
"role": "Lead"
|
||||
}
|
||||
],
|
||||
"repositories": [
|
||||
{
|
||||
"type": "composer",
|
||||
"url": "http://plugins.roundcube.net"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.3.0",
|
||||
"roundcube/plugin-installer": ">=0.1.3"
|
||||
}
|
||||
}
|
23
data/web/rc/plugins/autologon/tests/Autologon.php
Normal file
23
data/web/rc/plugins/autologon/tests/Autologon.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
class Autologon_Plugin extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
|
||||
function setUp()
|
||||
{
|
||||
include_once __DIR__ . '/../autologon.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* Plugin object construction test
|
||||
*/
|
||||
function test_constructor()
|
||||
{
|
||||
$rcube = rcube::get_instance();
|
||||
$plugin = new autologon($rcube->api);
|
||||
|
||||
$this->assertInstanceOf('autologon', $plugin);
|
||||
$this->assertInstanceOf('rcube_plugin', $plugin);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user