From a3b85d7b8560cdc1057fcaffa3acbd247b4b5b7a Mon Sep 17 00:00:00 2001
From: Thomas B. <thomas@roundcube.net>
Date: Mon, 07 Oct 2013 13:19:03 -0400
Subject: [PATCH] Merge pull request #133 from cwickert/release-0.9-canned-responses

---
 plugins/autologon/autologon.php |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/plugins/autologon/autologon.php b/plugins/autologon/autologon.php
new file mode 100644
index 0000000..63ffb94
--- /dev/null
+++ b/plugins/autologon/autologon.php
@@ -0,0 +1,50 @@
+<?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)
+  {
+    $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';
+      $args['cookiecheck'] = false;
+      $args['valid'] = true;
+    }
+  
+    return $args;
+  }
+
+  function is_localhost()
+  {
+    return $_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1';
+  }
+
+}
+

--
Gitblit v1.9.1