Horde_ActiveSync_Imap_Adapter::setReadFlag PHP Method

setReadFlag() public method

Set the message's read status.
public setReadFlag ( string $mailbox, string $uid, integer $flag )
$mailbox string The mailbox name.
$uid string The message uid.
$flag integer Horde_ActiveSync_Message_Mail::FLAG_* constant
    public function setReadFlag($mailbox, $uid, $flag)
    {
        $mbox = new Horde_Imap_Client_Mailbox($mailbox);
        $options = array('ids' => new Horde_Imap_Client_Ids(array($uid)));
        if ($flag == Horde_ActiveSync_Message_Mail::FLAG_READ_SEEN) {
            $options['add'] = array(Horde_Imap_Client::FLAG_SEEN);
        } else {
            if ($flag == Horde_ActiveSync_Message_Mail::FLAG_READ_UNSEEN) {
                $options['remove'] = array(Horde_Imap_Client::FLAG_SEEN);
            }
        }
        try {
            $this->_getImapOb()->store($mbox, $options);
        } catch (Horde_Imap_Client_Exception $e) {
            throw new Horde_ActiveSync_Exception($e);
        }
    }

Usage Example

Example #1
0
 /**
  * Set the read (\seen) flag on the specified message.
  *
  * @param string $folderId  The folder id containing the message.
  * @param string $id        The message uid.
  * @param integer $flags    The value to set the flag to.
  *
  * @deprecated Will be removed in Horde 6. Here for BC with
  *             Horde_ActiveSync 2.4
  */
 public function setReadFlag($folderId, $id, $flags)
 {
     $this->_imap->setReadFlag($folderId, $id, $flags);
 }