From 39797631d48659e42c0d09b529b88eb372a82f04 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 25 Jul 2012 10:21:26 -0400
Subject: [PATCH] Support COPYUID responses (store it in $data property)

---
 program/include/rcube_imap_generic.php |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index 197164d..bf97123 100644
--- a/program/include/rcube_imap_generic.php
+++ b/program/include/rcube_imap_generic.php
@@ -313,8 +313,12 @@
                 else {
                     $this->resultcode = null;
                     // parse response for [APPENDUID 1204196876 3456]
-                    if (preg_match("/^\[APPENDUID [0-9]+ ([0-9,:*]+)\]/i", $str, $m)) {
+                    if (preg_match("/^\[APPENDUID [0-9]+ ([0-9]+)\]/i", $str, $m)) {
                         $this->data['APPENDUID'] = $m[1];
+                    }
+                    // parse response for [COPYUID 1204196876 3456:3457 123:124]
+                    else if (preg_match("/^\[COPYUID [0-9]+ ([0-9,:]+) ([0-9,:]+)\]/i", $str, $m)) {
+                        $this->data['COPYUID'] = array($m[1], $m[2]);
                     }
                 }
                 $this->result = $str;
@@ -1950,6 +1954,9 @@
      */
     function copy($messages, $from, $to)
     {
+        // Clear last COPYUID data
+        unset($this->data['COPYUID']);
+
         if (!$this->select($from)) {
             return false;
         }

--
Gitblit v1.9.1