From 480a9485ed1aaa3bc4efb670c8f7b5d00b45b917 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Sat, 17 Jan 2009 17:50:17 -0700 Subject: [PATCH] Bug #7833 - Fix translation of mailbox prefixes --- imp/lib/IMP.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/imp/lib/IMP.php b/imp/lib/IMP.php index 4567077eb..fe3dc972d 100644 --- a/imp/lib/IMP.php +++ b/imp/lib/IMP.php @@ -498,12 +498,6 @@ class IMP $prefs->getValue('spam_folder') => _("Spam") ); - foreach ($sub_array as $key => $val) { - if (stripos($folder, $key . $delimiter) === 0) { - return $val . String::convertCharset(substr($folder, strlen($key)), 'UTF7-IMAP'); - } - } - /* Strip namespace information. */ if (!is_null($ns_info) && !empty($ns_info['name']) && @@ -512,6 +506,16 @@ class IMP $out = substr($folder, strlen($ns_info['name'])); } else { $out = $folder; + }; + + foreach ($sub_array as $key => $val) { + if (stripos($out, $key) === 0) { + $len = strlen($key); + if ((strlen($out) == $len) || ($out[$len + 1] == $delimiter)) { + $out = substr_replace($out, String::convertCharset($val, NLS::getCharset(), 'UTF7-IMAP'), 0, $len); + break; + } + } } $cache[$folder] = String::convertCharset($out, 'UTF7-IMAP'); -- 2.11.0