summaryrefslogtreecommitdiff
path: root/program/include
diff options
context:
space:
mode:
Diffstat (limited to 'program/include')
-rw-r--r--program/include/rcube_imap.inc11
1 files changed, 7 insertions, 4 deletions
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index c818fa010..5450f07e7 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -934,18 +934,21 @@ class rcube_imap
// 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);