From d359dcb6b39b05c34046a9ba7848d818556f5d72 Mon Sep 17 00:00:00 2001
From: bes.internal <bes.internal@gmail.com>
Date: Thu, 26 Jul 2012 10:54:12 -0400
Subject: [PATCH] use in parse_host HTTP_HOST for %d Use in parse_host function for domain resolve HTTP_HOST not hostname. add %t for hostname without first part For example roundcube box backend (rc.somedomain.tld) for reverse proxy on real domain (mail.example.com)

---
 program/include/rcube_utils.php |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/program/include/rcube_utils.php b/program/include/rcube_utils.php
index dfd2026..9344a92 100644
--- a/program/include/rcube_utils.php
+++ b/program/include/rcube_utils.php
@@ -616,8 +616,10 @@
     {
         // %n - host
         $n = preg_replace('/:\d+$/', '', $_SERVER['SERVER_NAME']);
-        // %d - domain name without first part, e.g. %n=mail.domain.tld, %d=domain.tld
-        $d = preg_replace('/^[^\.]+\./', '', $n);
+        // %t - host name without first part, e.g. %n=mail.domain.tld, %t=domain.tld
+	$t = preg_replace('/^[^\.]+\./', '', $n);
+	// %d - domain name without first part
+        $d = preg_replace('/^[^\.]+\./', '', $_SERVER['HTTP_HOST']);
         // %h - IMAP host
         $h = $_SESSION['storage_host'] ? $_SESSION['storage_host'] : $host;
         // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld
@@ -632,7 +634,7 @@
             }
         }
 
-        $name = str_replace(array('%n', '%d', '%h', '%z', '%s'), array($n, $d, $h, $z, $s[2]), $name);
+        $name = str_replace(array('%n', '%t', '%d', '%h', '%z', '%s'), array($n, $t, $d, $h, $z, $s[2]), $name);
         return $name;
     }
 

--
Gitblit v1.9.1