summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-07-25 16:21:26 +0200
committerAleksander Machniak <alec@alec.pl>2012-07-25 16:21:26 +0200
commit39797631d48659e42c0d09b529b88eb372a82f04 (patch)
tree5cfbbeb36e610a750d816b2bf34918b680003549
parent0d80fad9e09c88cb605587e4453d560f6ae5b661 (diff)
Support COPYUID responses (store it in $data property)
-rw-r--r--program/include/rcube_imap_generic.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index 197164dfe..bf9712350 100644
--- a/program/include/rcube_imap_generic.php
+++ b/program/include/rcube_imap_generic.php
@@ -313,9 +313,13 @@ class rcube_imap_generic
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 @@ class rcube_imap_generic
*/
function copy($messages, $from, $to)
{
+ // Clear last COPYUID data
+ unset($this->data['COPYUID']);
+
if (!$this->select($from)) {
return false;
}