web/lib/Zend/Mail/Storage/Writable/Interface.php
changeset 64 162c1de6545a
parent 19 1c2f13fd785c
child 68 ecaf28ffe26e
equal deleted inserted replaced
63:5b37998e522e 64:162c1de6545a
       
     1 <?php
       
     2 /**
       
     3  * Zend Framework
       
     4  *
       
     5  * LICENSE
       
     6  *
       
     7  * This source file is subject to the new BSD license that is bundled
       
     8  * with this package in the file LICENSE.txt.
       
     9  * It is also available through the world-wide-web at this URL:
       
    10  * http://framework.zend.com/license/new-bsd
       
    11  * If you did not receive a copy of the license and are unable to
       
    12  * obtain it through the world-wide-web, please send an email
       
    13  * to license@zend.com so we can send you a copy immediately.
       
    14  *
       
    15  * @category   Zend
       
    16  * @package    Zend_Mail
       
    17  * @subpackage Storage
       
    18  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    19  * @license    http://framework.zend.com/license/new-bsd     New BSD License
       
    20  * @version    $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
       
    21  */
       
    22 
       
    23 
       
    24 /**
       
    25  * @category   Zend
       
    26  * @package    Zend_Mail
       
    27  * @subpackage Storage
       
    28  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    29  * @license    http://framework.zend.com/license/new-bsd     New BSD License
       
    30  */
       
    31 
       
    32 interface Zend_Mail_Storage_Writable_Interface
       
    33 {
       
    34     /**
       
    35      * create a new folder
       
    36      *
       
    37      * This method also creates parent folders if necessary. Some mail storages may restrict, which folder
       
    38      * may be used as parent or which chars may be used in the folder name
       
    39      *
       
    40      * @param string                          $name         global name of folder, local name if $parentFolder is set
       
    41      * @param string|Zend_Mail_Storage_Folder $parentFolder parent folder for new folder, else root folder is parent
       
    42      * @return null
       
    43      * @throws Zend_Mail_Storage_Exception
       
    44      */
       
    45     public function createFolder($name, $parentFolder = null);
       
    46 
       
    47     /**
       
    48      * remove a folder
       
    49      *
       
    50      * @param string|Zend_Mail_Storage_Folder $name      name or instance of folder
       
    51      * @return null
       
    52      * @throws Zend_Mail_Storage_Exception
       
    53      */
       
    54     public function removeFolder($name);
       
    55 
       
    56     /**
       
    57      * rename and/or move folder
       
    58      *
       
    59      * The new name has the same restrictions as in createFolder()
       
    60      *
       
    61      * @param string|Zend_Mail_Storage_Folder $oldName name or instance of folder
       
    62      * @param string                          $newName new global name of folder
       
    63      * @return null
       
    64      * @throws Zend_Mail_Storage_Exception
       
    65      */
       
    66     public function renameFolder($oldName, $newName);
       
    67 
       
    68     /**
       
    69      * append a new message to mail storage
       
    70      *
       
    71      * @param  string|Zend_Mail_Message|Zend_Mime_Message $message message as string or instance of message class
       
    72      * @param  null|string|Zend_Mail_Storage_Folder       $folder  folder for new message, else current folder is taken
       
    73      * @param  null|array                                 $flags   set flags for new message, else a default set is used
       
    74      * @throws Zend_Mail_Storage_Exception
       
    75      */
       
    76     public function appendMessage($message, $folder = null, $flags = null);
       
    77 
       
    78     /**
       
    79      * copy an existing message
       
    80      *
       
    81      * @param  int                             $id     number of message
       
    82      * @param  string|Zend_Mail_Storage_Folder $folder name or instance of targer folder
       
    83      * @return null
       
    84      * @throws Zend_Mail_Storage_Exception
       
    85      */
       
    86     public function copyMessage($id, $folder);
       
    87 
       
    88     /**
       
    89      * move an existing message
       
    90      *
       
    91      * @param  int                             $id     number of message
       
    92      * @param  string|Zend_Mail_Storage_Folder $folder name or instance of targer folder
       
    93      * @return null
       
    94      * @throws Zend_Mail_Storage_Exception
       
    95      */
       
    96     public function moveMessage($id, $folder);
       
    97 
       
    98     /**
       
    99      * set flags for message
       
   100      *
       
   101      * NOTE: this method can't set the recent flag.
       
   102      *
       
   103      * @param  int   $id    number of message
       
   104      * @param  array $flags new flags for message
       
   105      * @throws Zend_Mail_Storage_Exception
       
   106      */
       
   107     public function setFlags($id, $flags);
       
   108 }