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