From ea98ec0939532d6539689524414b9eeb1c6cd0fc Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 15 Mar 2013 05:50:26 -0400
Subject: [PATCH] Fixed MOVE command result handling

---
 program/lib/Roundcube/rcube_imap_generic.php |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/program/lib/Roundcube/rcube_imap_generic.php b/program/lib/Roundcube/rcube_imap_generic.php
index 8532cf8..2ac1355 100644
--- a/program/lib/Roundcube/rcube_imap_generic.php
+++ b/program/lib/Roundcube/rcube_imap_generic.php
@@ -2010,31 +2010,32 @@
             unset($this->data['STATUS:'.$to]);
             unset($this->data['STATUS:'.$from]);
 
-            $r = $this->execute('UID MOVE', array(
+            $result = $this->execute('UID MOVE', array(
                 $this->compressMessageSet($messages), $this->escape($to)),
                 self::COMMAND_NORESPONSE);
+
+            return ($result == self::ERROR_OK);
         }
+
         // use COPY + STORE +FLAGS.SILENT \Deleted + EXPUNGE
-        else {
-            $r = $this->copy($messages, $from, $to);
+        $result = $this->copy($messages, $from, $to);
 
-            if ($r) {
-                // Clear internal status cache
-                unset($this->data['STATUS:'.$from]);
+        if ($result) {
+            // Clear internal status cache
+            unset($this->data['STATUS:'.$from]);
 
-                $r = $this->flag($from, $messages, 'DELETED');
+            $result = $this->flag($from, $messages, 'DELETED');
 
-                if ($messages == '*') {
-                    // CLOSE+SELECT should be faster than EXPUNGE
-                    $this->close();
-                }
-                else {
-                    $this->expunge($from, $messages);
-                }
+            if ($messages == '*') {
+                // CLOSE+SELECT should be faster than EXPUNGE
+                $this->close();
+            }
+            else {
+                $this->expunge($from, $messages);
             }
         }
 
-        return $r;
+        return $result;
     }
 
     /**

--
Gitblit v1.9.1