From c50fa82bec631b018fd6288d97b7813dc86daf20 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Tue, 06 Nov 2012 07:21:11 -0500
Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail
---
tests/Framework/ImapGeneric.php | 18 ++++++++++++++++++
program/include/rcube_db_mysql.php | 3 +++
program/include/rcube_imap_generic.php | 18 +++++-------------
3 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/program/include/rcube_db_mysql.php b/program/include/rcube_db_mysql.php
index 2cdcf30..6f0acba 100644
--- a/program/include/rcube_db_mysql.php
+++ b/program/include/rcube_db_mysql.php
@@ -127,6 +127,9 @@
$result[PDO::MYSQL_ATTR_SSL_CA] = $dsn['ca'];
}
+ // Always return matching (not affected only) rows count
+ $result[PDO::MYSQL_ATTR_FOUND_ROWS] = true;
+
return $result;
}
diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index 52bf0e3..651de9d 100644
--- a/program/include/rcube_imap_generic.php
+++ b/program/include/rcube_imap_generic.php
@@ -3530,6 +3530,10 @@
*/
static function uncompressMessageSet($messages)
{
+ if (empty($messages)) {
+ return array();
+ }
+
$result = array();
$messages = explode(',', $messages);
@@ -3538,7 +3542,7 @@
$max = max($items[0], $items[1]);
for ($x=$items[0]; $x<=$max; $x++) {
- $result[] = $x;
+ $result[] = (int)$x;
}
unset($messages[$idx]);
}
@@ -3651,18 +3655,6 @@
// literal-string
return sprintf("{%d}\r\n%s", strlen($string), $string);
- }
-
- /**
- * Unescapes quoted-string
- *
- * @param string $string IMAP string
- *
- * @return string String
- */
- static function unEscape($string)
- {
- return stripslashes($string);
}
/**
diff --git a/tests/Framework/ImapGeneric.php b/tests/Framework/ImapGeneric.php
index 0b2cc3d..2f9b6d1 100644
--- a/tests/Framework/ImapGeneric.php
+++ b/tests/Framework/ImapGeneric.php
@@ -17,4 +17,22 @@
$this->assertInstanceOf('rcube_imap_generic', $object, "Class constructor");
}
+
+ /**
+ * Test for uncompressMessageSet
+ */
+ function test_uncompressMessageSet()
+ {
+ $result = rcube_imap_generic::uncompressMessageSet(null);
+ $this->assertSame(array(), $result);
+ $this->assertCount(0, $result);
+
+ $result = rcube_imap_generic::uncompressMessageSet('1');
+ $this->assertSame(array(1), $result);
+ $this->assertCount(1, $result);
+
+ $result = rcube_imap_generic::uncompressMessageSet('1:3');
+ $this->assertSame(array(1, 2, 3), $result);
+ $this->assertCount(3, $result);
+ }
}
--
Gitblit v1.9.1