Request #7759 - Show translated INBOX prefix.
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 29 Dec 2008 20:08:28 +0000 (13:08 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 29 Dec 2008 20:12:09 +0000 (13:12 -0700)
imp/docs/CHANGES
imp/lib/IMP.php

index 20766c7..d2c9dd3 100644 (file)
@@ -43,6 +43,7 @@ v5.0-cvs
 v4.3.3-cvs
 ----------
 
+[mms] Show translated 'INBOX' prefix for subfolders (Request #7759).
 [mms] Workaround obsolete 'UT' date format (Request #5717).
 [mms] Fix tracking folder changes when renaming (Bug #7772).
 [cjh] Suppress browser autocomplete when redirecting messages (Bug #7767).
index bf97cb9..e1c1ab4 100644 (file)
@@ -477,7 +477,7 @@ class IMP
      */
     static public function displayFolder($folder)
     {
-        $cache = self::$_displaycache;
+        $cache = &self::$_displaycache;
 
         if (isset($cache[$folder])) {
             return $cache[$folder];
@@ -486,12 +486,15 @@ class IMP
         if ($folder == 'INBOX') {
             $cache[$folder] = _("Inbox");
         } else {
-            $namespace_info = $GLOBALS['imp_imap']->getNamespace($folder);
-            if (!is_null($namespace_info) &&
-                !empty($namespace_info['name']) &&
-                ($namespace_info['type'] == 'personal') &&
-                substr($folder, 0, strlen($namespace_info['name'])) == $namespace_info['name']) {
-                $cache[$folder] = substr($folder, strlen($namespace_info['name']));
+            $ns_info = $GLOBALS['imp_imap']->getNamespace($folder);
+            if (!is_null($ns_info) &&
+                !empty($ns_info['name']) &&
+                ($ns_info['type'] == 'personal') &&
+                substr($folder, 0, strlen($ns_info['name'])) == $ns_info['name']) {
+                $cache[$folder] = substr($folder, strlen($ns_info['name']));
+            } elseif (!is_null($ns_info) &&
+                      (stripos($folder, 'INBOX' . $ns_info['delimiter']) === 0)) {
+                $cache[$folder] = _("Inbox") . substr($folder, 5);
             } else {
                 $cache[$folder] = $folder;
             }