diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-05-28 12:28:51 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-05-28 12:28:51 +0200 |
commit | 809f9d11bddc97272e116483bcc24e1db79bdc28 (patch) | |
tree | 5a4d9e5438f505ecb7693173f51b16639a4172e7 /program/lib | |
parent | 17acd5ccda5b23792477891ab969b378cacbbaf2 (diff) | |
parent | a62cc30cb4186e89c4d33fdf80f9aa95b9def7cc (diff) |
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'program/lib')
-rw-r--r-- | program/lib/Roundcube/rcube_imap.php | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php index e4b77a0a3..78073abd6 100644 --- a/program/lib/Roundcube/rcube_imap.php +++ b/program/lib/Roundcube/rcube_imap.php @@ -4142,19 +4142,15 @@ class rcube_imap extends rcube_storage */ public function sort_folder_list($a_folders, $skip_default = false) { - $delimiter = $this->get_hierarchy_delimiter(); $specials = array_merge(array('INBOX'), array_values($this->get_special_folders())); - $folders = array_flip($a_folders); + $folders = array(); // convert names to UTF-8 and skip folders starting with '.' foreach ($a_folders as $folder) { if ($folder[0] != '.') { // for better performance skip encoding conversion // if the string does not look like UTF7-IMAP - $folders[$folder] = strpos($folder, '+') === false ? $folder : rcube_charset::convert($folder, 'UTF7-IMAP'); - } - else { - unset($folders[$idx]); + $folders[$folder] = strpos($folder, '&') === false ? $folder : rcube_charset::convert($folder, 'UTF7-IMAP'); } } @@ -4175,7 +4171,7 @@ class rcube_imap extends rcube_storage // place default folders on top foreach ($specials as $special) { - $prefix = $special . $delimiter; + $prefix = $special . $this->delimiter; foreach ($folders as $idx => $folder) { if ($folder === $special) { @@ -4200,9 +4196,8 @@ class rcube_imap extends rcube_storage */ protected function sort_folder_comparator($str1, $str2) { - $delimiter = $this->get_hierarchy_delimiter(); - $path1 = explode($delimiter, $str1); - $path2 = explode($delimiter, $str2); + $path1 = explode($this->delimiter, $str1); + $path2 = explode($this->delimiter, $str2); foreach ($path1 as $idx => $folder1) { $folder2 = $path2[$idx]; |