From 8fae1e6f850b3affce64231a72de18d637500f73 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Mon, 01 May 2006 12:15:04 -0400
Subject: [PATCH] Add support for undelete and fix previously undetected bug for marking multiple messages

---
 program/include/rcube_imap.inc |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index c818fa0..5450f07 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -934,18 +934,21 @@
 
 
   // set message flag to one or several messages
-  // possible flgs are: SEEN, DELETED, RECENT, ANSWERED, DRAFT
+  // possible flags are: SEEN, UNDELETED, DELETED, RECENT, ANSWERED, DRAFT
   function set_flag($uids, $flag)
     {
     $flag = strtoupper($flag);
     $msg_ids = array();
     if (!is_array($uids))
-      $uids = array($uids);
+      $uids = explode(',',$uids);
       
-    foreach ($uids as $uid)
+    foreach ($uids as $uid) {
       $msg_ids[$uid] = $this->_uid2id($uid);
+    }
       
-    if ($flag=='UNSEEN')
+    if ($flag=='UNDELETED')
+      $result = iil_C_Undelete($this->conn, $this->mailbox, join(',', array_values($msg_ids)));
+    else if ($flag=='UNSEEN')
       $result = iil_C_Unseen($this->conn, $this->mailbox, join(',', array_values($msg_ids)));
     else
       $result = iil_C_Flag($this->conn, $this->mailbox, join(',', array_values($msg_ids)), $flag);

--
Gitblit v1.9.1