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