Mail/Storage/Folder/Maildir.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Mail
- Subpackage
- Storage
- Version
- $Id: Maildir.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Mail_Storage_Folder_Maildir
- Implements
- \Zend_Mail_Storage_Folder_Interface
- Parent(s)
- \Zend_Mail_Storage_Maildir < \Zend_Mail_Storage_Abstract
- Children
- \Zend_Mail_Storage_Writable_Maildir
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


array $_files = array()
array()
Details- Type
- array
- Inherited_from
- \Zend_Mail_Storage_Maildir::$$_files


array $_has = array('uniqueid' => true, 'delete' => false, 'create' => false, 'top' => false, 'fetchPart' => true, 'flags' => false)
array('uniqueid' => true, 'delete' => false, 'create' => false, 'top' => false, 'fetchPart' => true, 'flags' => false)
Details- Type
- array
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_has
- Inherited_from
- \Zend_Mail_Storage_Maildir::$$_has


null|int $_iterationMax = null
null
Details- Type
- null | int
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_iterationMax
- Inherited_from
- \Zend_Mail_Storage_Maildir::$$_iterationMax


int $_iterationPos = 0
0
Details- Type
- int
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_iterationPos
- Inherited_from
- \Zend_Mail_Storage_Maildir::$$_iterationPos


array $_knownFlags = array('D' => \Zend_Mail_Storage::FLAG_DRAFT, 'F' => \Zend_Mail_Storage::FLAG_FLAGGED, 'P' => \Zend_Mail_Storage::FLAG_PASSED, 'R' => \Zend_Mail_Storage::FLAG_ANSWERED, 'S' => \Zend_Mail_Storage::FLAG_SEEN, 'T' => \Zend_Mail_Storage::FLAG_DELETED)
This list has to be in alphabetical order for setFlags()
array('D' => \Zend_Mail_Storage::FLAG_DRAFT, 'F' => \Zend_Mail_Storage::FLAG_FLAGGED, 'P' => \Zend_Mail_Storage::FLAG_PASSED, 'R' => \Zend_Mail_Storage::FLAG_ANSWERED, 'S' => \Zend_Mail_Storage::FLAG_SEEN, 'T' => \Zend_Mail_Storage::FLAG_DELETED)
Details- Type
- array
- Inherited_from
- \Zend_Mail_Storage_Maildir::$$_knownFlags


string $_messageClass = 'Zend_Mail_Message_File'
'Zend_Mail_Message_File'
Details- Type
- string
- Inherited_from
- \Zend_Mail_Storage_Maildir::$$_messageClass


\Zend_Mail_Storage_Folder $_rootFolder
Methods


__construct(array $params) : void
Create instance with parameters Supported parameters are: - dirname rootdir of maildir structure - delim delim char for folder structur, default is '.' - folder intial selected folder, default is 'INBOX'
Name | Type | Description |
---|---|---|
$params | array | mail reader specific parameters |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


__destruct() : void
Destructor calls close() and therefore closes the resource.
Inherited from: \Zend_Mail_Storage_Abstract::__destruct()\Zend_Mail_Storage_Maildir::__destruct()

__get(string $var) : bool
Getter for has-properties.
Inherited from: \Zend_Mail_Storage_Abstract::__get()\Zend_Mail_Storage_Maildir::__get()The standard has properties are: hasFolder, hasUniqueid, hasDelete, hasCreate, hasTop
The valid values for the has-properties are: - true if a feature is supported - false if a feature is not supported - null is it's not yet known or it can't be know if a feature is supported
Name | Type | Description |
---|---|---|
$var | string | property name |
Type | Description |
---|---|
bool | supported or not |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


_buildFolderTree() : null
find all subfolders and mbox files for folder structure
Result is save in Zend_Mail_Storage_Folder instances with the root in $this->_rootFolder. $parentFolder and $parentGlobalName are only used internally for recursion.
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


_getFileData(int $id, string | null $field = null) : string | array
Get one or all fields from file structure.
Inherited from: \Zend_Mail_Storage_Maildir::_getFileData()Also checks if message is valid
Name | Type | Description |
---|---|---|
$id | int | message number |
$field | string | null | wanted field |
Type | Description |
---|---|
string | array | wanted field or all fields as array |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


_getMaildirFiles(resource $dh, string $dirname, array $default_flags = array()) : null
find all files in opened dir handle and add to maildir files
Inherited from: \Zend_Mail_Storage_Maildir::_getMaildirFiles()Name | Type | Description |
---|---|---|
$dh | resource | dir handle used for search |
$dirname | string | dirname of dir in $dh |
$default_flags | array | default flags for given dir |
Type | Description |
---|---|
null |


_isMaildir(string $dirname) : bool
check if a given dir is a valid maildir
Inherited from: \Zend_Mail_Storage_Maildir::_isMaildir()Name | Type | Description |
---|---|---|
$dirname | string | name of dir |
Type | Description |
---|---|
bool | dir is valid maildir |


_openMaildir(string $dirname) : null
open given dir as current maildir
Inherited from: \Zend_Mail_Storage_Maildir::_openMaildir()Name | Type | Description |
---|---|---|
$dirname | string | name of maildir |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


close() : void
If you need to control, when the resource is closed. Otherwise the destructor would call this.


count() : int
Countable::count()
Inherited from: \Zend_Mail_Storage_Abstract::count()\Zend_Mail_Storage_Maildir::count()Type | Description |
---|---|
int |


countMessages( $flags = null) : int
Count messages all messages in current box
Inherited from: \Zend_Mail_Storage_Maildir::countMessages()Name | Type | Description |
---|---|---|
$flags |
Type | Description |
---|---|
int | number of messages |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


current() : \Zend_Mail_Message
Iterator::current()
Inherited from: \Zend_Mail_Storage_Abstract::current()\Zend_Mail_Storage_Maildir::current()Type | Description |
---|---|
\Zend_Mail_Message | current message |


getCapabilities() : array
Get a full list of features supported by the specific mail lib and the server
Inherited from: \Zend_Mail_Storage_Abstract::getCapabilities()\Zend_Mail_Storage_Maildir::getCapabilities()Type | Description |
---|---|
array | list of features as array(featurename => true|false[|null]) |


getCurrentFolder() : \Zend_Mail_Storage_Folder
get Zend_Mail_Storage_Folder instance for current folder
Type | Description |
---|---|
\Zend_Mail_Storage_Folder | instance of current folder |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


getFolders(string $rootFolder = null) : \Zend_Mail_Storage_Folder
get root folder or given folder
Name | Type | Description |
---|---|---|
$rootFolder | string | get folder structure for given folder, else root |
Type | Description |
---|---|
\Zend_Mail_Storage_Folder | root or wanted folder |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


getMessage(int $id) : \Zend_Mail_Message_File
Name | Type | Description |
---|---|---|
$id | int | number of message |
Type | Description |
---|---|
\Zend_Mail_Message_File |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


getNumberByUniqueId(string $id) : int
get a message number from a unique id
Inherited from: \Zend_Mail_Storage_Maildir::getNumberByUniqueId()I.e. if you have a webmailer that supports deleting messages you should use unique ids as parameter and use this method to translate it to message number right before calling removeMessage()
Name | Type | Description |
---|---|---|
$id | string | unique id |
Type | Description |
---|---|
int | message number |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


getRawContent(int $id, null | array | string $part = null) : string
Get raw content of message or part
Inherited from: \Zend_Mail_Storage_Maildir::getRawContent()Name | Type | Description |
---|---|---|
$id | int | number of message |
$part | null | array | string | path to part or null for messsage content |
Type | Description |
---|---|
string | raw content |


getRawHeader(int $id, null | array | string $part = null, int $topLines = 0) : string
Get raw header of message or part
Inherited from: \Zend_Mail_Storage_Maildir::getRawHeader()Name | Type | Description |
---|---|---|
$id | int | number of message |
$part | null | array | string | path to part or null for messsage header |
$topLines | int | include this many lines with header (after an empty line) |
Type | Description |
---|---|
string | raw header |


getSize(int | null $id = null) : int | array
Get a list of messages with number and size
Inherited from: \Zend_Mail_Storage_Maildir::getSize()Name | Type | Description |
---|---|---|
$id | int | null | number of message or null for all messages |
Type | Description |
---|---|
int | array | size of given message of list with all messages as array(num => size) |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


getUniqueId(int | null $id = null) : array | string
get unique id for one or all messages
Inherited from: \Zend_Mail_Storage_Maildir::getUniqueId()if storage does not support unique ids it's the same as the message number
Name | Type | Description |
---|---|---|
$id | int | null | message number |
Type | Description |
---|---|
array | string | message number for given message or all messages as array |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


key() : int
Iterator::key()
Inherited from: \Zend_Mail_Storage_Abstract::key()\Zend_Mail_Storage_Maildir::key()Type | Description |
---|---|
int | id of current position |


next() : void
Iterator::next()
Inherited from: \Zend_Mail_Storage_Abstract::next()\Zend_Mail_Storage_Maildir::next()

offsetExists(int $id) : boolean
ArrayAccess::offsetExists()
Inherited from: \Zend_Mail_Storage_Abstract::offsetExists()\Zend_Mail_Storage_Maildir::offsetExists()Name | Type | Description |
---|---|---|
$id | int |
Type | Description |
---|---|
boolean |


offsetGet(int $id) : \Zend_Mail_Message
ArrayAccess::offsetGet()
Inherited from: \Zend_Mail_Storage_Abstract::offsetGet()\Zend_Mail_Storage_Maildir::offsetGet()Name | Type | Description |
---|---|---|
$id | int |
Type | Description |
---|---|
\Zend_Mail_Message | message object |


offsetSet(\id $id, mixed $value) : void
ArrayAccess::offsetSet()
Inherited from: \Zend_Mail_Storage_Abstract::offsetSet()\Zend_Mail_Storage_Maildir::offsetSet()Name | Type | Description |
---|---|---|
$id | \id | |
$value | mixed |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


offsetUnset(int $id) : boolean
ArrayAccess::offsetUnset()
Inherited from: \Zend_Mail_Storage_Abstract::offsetUnset()\Zend_Mail_Storage_Maildir::offsetUnset()Name | Type | Description |
---|---|---|
$id | int |
Type | Description |
---|---|
boolean | success |


removeMessage( $id) : null
stub for not supported message deletion
Inherited from: \Zend_Mail_Storage_Maildir::removeMessage()Name | Type | Description |
---|---|---|
$id |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


rewind() : void
Iterator::rewind()
Inherited from: \Zend_Mail_Storage_Abstract::rewind()\Zend_Mail_Storage_Maildir::rewind()Rewind always gets the new count from the storage. Thus if you use the interfaces and your scripts take long you should use reset() from time to time.


seek(int $pos) : void
SeekableIterator::seek()
Inherited from: \Zend_Mail_Storage_Abstract::seek()\Zend_Mail_Storage_Maildir::seek()Name | Type | Description |
---|---|---|
$pos | int |
Exception | Description |
---|---|
\OutOfBoundsException |


selectFolder(\Zend_Mail_Storage_Folder | string $globalName) : null
select given folder
folder must be selectable!
Name | Type | Description |
---|---|---|
$globalName | \Zend_Mail_Storage_Folder | string | global name of folder or instance for subfolder |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |


valid() : boolean
Iterator::valid()
Inherited from: \Zend_Mail_Storage_Abstract::valid()\Zend_Mail_Storage_Maildir::valid()Type | Description |
---|---|
boolean |