Mail/Storage/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_Maildir
- Parent(s)
- \Zend_Mail_Storage_Abstract
- Children
- \Zend_Mail_Storage_Folder_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

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

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

int $_iterationPos = 00Details- Type
- int
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_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
Methods

__construct(array $params) : voidCreate instance with parameters Supported parameters are: - dirname dirname of mbox file
| Name | Type | Description |
|---|---|---|
| $params | array | mail reader specific parameters |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

__destruct() : voidDestructor calls close() and therefore closes the resource.
Inherited from: \Zend_Mail_Storage_Abstract::__destruct()
__get(string $var) : boolThe 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 |

_getFileData(int $id, string | null $field = null) : string | arrayGet one or all fields from file structure.
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()) : nullfind all files in opened dir handle and add to maildir files
| 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) : boolcheck if a given dir is a valid maildir
| Name | Type | Description |
|---|---|---|
| $dirname | string | name of dir |
| Type | Description |
|---|---|
| bool | dir is valid maildir |

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

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

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

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

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

getNumberByUniqueId(string $id) : intget a message number from a unique id
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) : stringGet raw content of message or part
| 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) : stringGet raw header of message or part
| 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 | arrayGet a list of messages with number and size
| 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 | stringget unique id for one or all messages
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 |

offsetGet(int $id) : \Zend_Mail_Message| Name | Type | Description |
|---|---|---|
| $id | int |
| Type | Description |
|---|---|
| \Zend_Mail_Message | message object |

offsetSet(\id $id, mixed $value) : void| Name | Type | Description |
|---|---|---|
| $id | \id | |
| $value | mixed |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

offsetUnset(int $id) : boolean| Name | Type | Description |
|---|---|---|
| $id | int |
| Type | Description |
|---|---|
| boolean | success |

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

rewind() : voidRewind 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| Name | Type | Description |
|---|---|---|
| $pos | int |
| Exception | Description |
|---|---|
| \OutOfBoundsException |