From 939f94bb732300e167ddc51f266743b88ae0867f Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Sun, 16 Dec 2012 11:03:21 -0500
Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail

---
 plugins/http_authentication/http_authentication.php |    9 +++++++++
 plugins/http_authentication/config.inc.php.dist     |    9 +++++++++
 program/steps/mail/func.inc                         |    2 +-
 3 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/plugins/http_authentication/config.inc.php.dist b/plugins/http_authentication/config.inc.php.dist
new file mode 100644
index 0000000..0d798a5
--- /dev/null
+++ b/plugins/http_authentication/config.inc.php.dist
@@ -0,0 +1,9 @@
+<?php
+
+// HTTP Basic Authentication Plugin options
+// ----------------------------------------
+// Default mail host to log-in using user/password from HTTP Authentication.
+// This is useful if the users are free to choose arbitrary mail hosts (or
+// from a list), but have one host they usually want to log into.
+// Unlike $rcmail_config['default_host'] this must be a string!
+$rcmail_config['http_authentication_host'] = '';
diff --git a/plugins/http_authentication/http_authentication.php b/plugins/http_authentication/http_authentication.php
index c278b3c..a94b612 100644
--- a/plugins/http_authentication/http_authentication.php
+++ b/plugins/http_authentication/http_authentication.php
@@ -11,6 +11,8 @@
  *
  * See logout.html (in this directory) for an example how HTTP auth can be cleared.
  *
+ * For other configuration options, see config.inc.php.dist!
+ *
  * @version @package_version@
  * @license GNU GPLv3+
  * @author Thomas Bruederli
@@ -46,6 +48,13 @@
 
     function authenticate($args)
     {
+        // Load plugin's config file
+        $this->load_config();
+
+        $host = rcmail::get_instance()->config->get('http_authentication_host');
+        if (is_string($host) && trim($host) !== '')
+            $args['host'] = rcube_idn_to_ascii(rcube_parse_host($host));
+
         // Allow entering other user data in login form,
         // e.g. after log out (#1487953)
         if (!empty($args['user'])) {
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index bd381d5..88391b1 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -1528,7 +1528,7 @@
       if ($addicon && $_SESSION['writeable_abook']) {
         $address .= html::a(array(
             'href' => "#add",
-            'onclick' => sprintf("return %s.command('add-contact','%s',this)", JS_OBJECT_NAME, $string),
+            'onclick' => sprintf("return %s.command('add-contact','%s',this)", JS_OBJECT_NAME, JQ($string)),
             'title' => rcube_label('addtoaddressbook'),
             'class' => 'rcmaddcontact',
           ),

--
Gitblit v1.9.1