From 8498dce502f9265278f7eb2b01ae4e65187a1a84 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 29 Oct 2008 08:39:12 -0400
Subject: [PATCH] - Fix problem with numeric folder names (#1485527)
---
CHANGELOG | 4 ++++
program/include/rcube_shared.inc | 2 +-
program/include/rcube_imap.php | 8 +++++---
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 6c1d90e..cbf94db 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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 e18c14c..7a8b00c 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -2669,13 +2669,15 @@
// 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 26de5b4..9f8bc4f 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -179,7 +179,7 @@
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';
--
Gitblit v1.9.1