From 78c7947bf8820aba5d45787883a4e7780854f628 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sun, 02 Aug 2009 03:54:10 -0400
Subject: [PATCH] - Add rcube_imap::unset_flag (#1486017)

---
 program/include/rcube_imap.php |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 5b5a98c..aaa7784 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -1534,12 +1534,8 @@
     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);
 
@@ -1570,6 +1566,21 @@
 
 
   /**
+   * 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
    *
    * @param string Target mailbox

--
Gitblit v1.9.1