diff options
author | alecpl <alec@alec.pl> | 2008-10-29 12:39:12 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2008-10-29 12:39:12 +0000 |
commit | 8498dce502f9265278f7eb2b01ae4e65187a1a84 (patch) | |
tree | dc96a6e2aefe106fe105f1d1d19994f74f1ad1e0 | |
parent | fee8c6ceab0f66d83e5c62eae44ee7c624847972 (diff) |
- Fix problem with numeric folder names (#1485527)
-rw-r--r-- | CHANGELOG | 4 | ||||
-rw-r--r-- | program/include/rcube_imap.php | 8 | ||||
-rw-r--r-- | program/include/rcube_shared.inc | 2 |
3 files changed, 10 insertions, 4 deletions
@@ -1,6 +1,10 @@ CHANGELOG RoundCube Webmail --------------------------- +2008/10/29 (alec) +---------- +- Fix problem with numeric folder names (#1485527) + 2008/10/27 (alec) ---------- - Fix unread message unintentionally marked as read if read_when_deleted=true (#1485409) diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index e18c14c2e..7a8b00c1c 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -2669,13 +2669,15 @@ class rcube_imap // finally we must rebuild the list to move // subfolders of default folders to their place... // ...also do this for the rest of folders because - // asort() is not properly sorting case sensitive names + // asort() is not properly sorting case sensitive names + + // set the type of folder name variable (#1485527) while (list($key, $folder) = each($folders)) { - $a_out[] = $folder; + $a_out[] = (string) $folder; unset($folders[$key]); foreach ($folders as $idx => $f) { if (strpos($f, $folder.$delimiter) === 0) { - $a_out[] = $f; + $a_out[] = (string) $f; unset($folders[$idx]); } } diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index 26de5b45c..9f8bc4f04 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -179,7 +179,7 @@ function json_serialize($var) return $brackets{0} . implode(',', $pairs) . $brackets{1}; } } - else if (is_numeric($var) && strval(intval($var)) === strval($var)) + else if (!is_string($var) && strval(intval($var)) === strval($var)) return $var; else if (is_bool($var)) return $var ? '1' : '0'; |