From 11be9330dee677a25653dcb83adc343b8bf95a88 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 20 Sep 2010 07:07:56 -0400
Subject: [PATCH] - Support %z variable in host configuration options (#1487003)

---
 CHANGELOG                |    1 +
 program/include/main.inc |    4 +++-
 config/main.inc.php.dist |    4 ++++
 3 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 51033a2..1efdea1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -25,6 +25,7 @@
 - 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 df251c6..e036395 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -98,6 +98,7 @@
 // %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 @@
 // %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 @@
 // %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 @@
   // %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 7492f6c..00fd083 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1588,8 +1588,10 @@
   $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;
 }
 

--
Gitblit v1.9.1