From 78c7947bf8820aba5d45787883a4e7780854f628 Mon Sep 17 00:00:00 2001 From: alecpl Date: Sun, 2 Aug 2009 07:54:10 +0000 Subject: - Add rcube_imap::unset_flag (#1486017) --- program/include/rcube_imap.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'program/include/rcube_imap.php') diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 5b5a98ceb..aaa77849d 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -1534,12 +1534,8 @@ class rcube_imap if (!is_array($uids)) $uids = explode(',',$uids); - if ($flag=='UNDELETED') - $result = iil_C_Undelete($this->conn, $mailbox, join(',', $uids)); - else if ($flag=='UNSEEN') - $result = iil_C_Unseen($this->conn, $mailbox, join(',', $uids)); - else if ($flag=='UNFLAGGED') - $result = iil_C_UnFlag($this->conn, $mailbox, join(',', $uids), 'FLAGGED'); + if (strpos($flag, 'UN') === 0) + $result = iil_C_UnFlag($this->conn, $mailbox, join(',', $uids), substr($flag, 2)); else $result = iil_C_Flag($this->conn, $mailbox, join(',', $uids), $flag); @@ -1569,6 +1565,21 @@ class rcube_imap } + /** + * Remove message flag for one or several messages + * + * @param mixed Message UIDs as array or as comma-separated string + * @param string Flag to unset: SEEN, DELETED, RECENT, ANSWERED, DRAFT, MDNSENT + * @param string Folder name + * @return boolean True on success, False on failure + * @see set_flag + */ + function unset_flag($uids, $flag, $mbox_name=NULL) + { + return $this->set_flag($uids, 'UN'.$flag, $mbox_name); + } + + /** * Append a mail message (source) to a specific mailbox * -- cgit v1.2.3