Horde_ActiveSync_Imap_Adapter::deleteMailbox PHP Method

deleteMailbox() public method

Delete a mailbox
public deleteMailbox ( string $name )
$name string The mailbox name to delete.
    public function deleteMailbox($name)
    {
        $mbox = new Horde_Imap_Client_Mailbox($name);
        try {
            $this->_getImapOb()->deleteMailbox($mbox);
        } catch (Horde_Imap_Client_Exception $e) {
            if ($e->getCode() == Horde_Imap_Client_Exception::NONEXISTENT) {
                throw new Horde_ActiveSync_Exception_FolderGone();
            }
            throw new Horde_ActiveSync_Exception($e);
        }
    }

Usage Example

Example #1
0
 /**
  * Delete a folder on the server.
  *
  * @param string $id  The server's folder id.
  * @param string $parent  The folder's parent, if needed. @deprecated
  */
 public function deleteFolder($id, $parent = Horde_ActiveSync::FOLDER_ROOT)
 {
     $this->_logger->info(sprintf('[%s] Horde_Core_ActiveSync_Driver::deleteFolder(%s)', getmypid(), $id));
     $parts = $this->_parseFolderId($id);
     if (is_array($parts)) {
         $folder_class = $parts[self::FOLDER_PART_CLASS];
         $folder_id = $parts[self::FOLDER_PART_ID];
     } else {
         $folder_class = $parts;
         $folder_id = $id;
     }
     switch ($folder_class) {
         case Horde_ActiveSync::CLASS_EMAIL:
         case Horde_ActiveSync::FOLDER_TYPE_USER_MAIL:
             try {
                 $this->_logger->info($folder_id);
                 $this->_imap->deleteMailbox($folder_id);
             } catch (Horde_ActiveSync_Exception $e) {
                 $this->_logger->err($e->getMessage());
                 throw $e;
             }
             break;
         case Horde_ActiveSync::CLASS_TASKS:
         case Horde_ActiveSync::CLASS_CALENDAR:
         case Horde_ActiveSync::CLASS_CONTACTS:
         case Horde_ActiveSync::CLASS_NOTES:
             $this->_connector->deleteFolder($folder_class, $folder_id);
     }
 }