summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--config/main.inc.php.dist4
-rw-r--r--program/include/main.inc4
3 files changed, 8 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 51033a281..1efdea12d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -25,6 +25,7 @@ CHANGELOG RoundCube Webmail
- Fix format=flowed handling (#1486989)
- Fix when IMAP connection fails in 'get' action session shouldn't be destroyed (#1486995)
- Fix list_cols is not updated after column dragging (#1486999)
+- Support %z variable in host configuration options (#1487003)
RELEASE 0.4
-----------
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index df251c676..e036395d6 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -98,6 +98,7 @@ $rcmail_config['imap_timeout'] = 0;
// %h - user's IMAP hostname
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %d = domain.tld
$rcmail_config['smtp_server'] = '';
@@ -184,6 +185,7 @@ $rcmail_config['des_key'] = 'rcmail-!24ByteDESkey*Str';
// %h - user's IMAP hostname
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %d = domain.tld
$rcmail_config['username_domain'] = '';
@@ -193,6 +195,7 @@ $rcmail_config['username_domain'] = '';
// %h - user's IMAP hostname
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %d = domain.tld
$rcmail_config['mail_domain'] = '';
@@ -400,6 +403,7 @@ $rcmail_config['ldap_public']['Verisign'] = array(
// %h - user's IMAP hostname
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
+ // %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %d = domain.tld
'hosts' => array('directory.verisign.com'),
'port' => 389,
diff --git a/program/include/main.inc b/program/include/main.inc
index 7492f6c0e..00fd0830f 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1588,8 +1588,10 @@ function rcube_parse_host($name)
$d = preg_replace('/^[^\.]+\./', '', $n);
// %h - IMAP host
$h = $_SESSION['imap_host'];
+ // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld
+ $z = preg_replace('/^[^\.]+\./', '', $h);
- $name = str_replace(array('%n', '%d', '%h'), array($n, $d, $h), $name);
+ $name = str_replace(array('%n', '%d', '%h', '%z'), array($n, $d, $h, $z), $name);
return $name;
}