Mail/Storage/Folder/Mbox.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: Mbox.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Mail_Storage_Folder_Mbox
- Implements
- \Zend_Mail_Storage_Folder_Interface
- Parent(s)
- \Zend_Mail_Storage_Mbox < \Zend_Mail_Storage_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties

int $_filemtime- Type
- int
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_filemtime

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_Mbox::$$_has

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

int $_iterationPos = 00Details- Type
- int
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_iterationPos
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_iterationPos

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

array $_positions- Type
- array
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_positions

\Zend_Mail_Storage_Folder $_rootFolderMethods

__construct(array $params) : voidCreate instance with parameters
Disallowed parameters are: - filename use Zend_Mail_Storage_Mbox for a single file Supported parameters are: - dirname rootdir of mbox structure - folder intial selected folder, default is 'INBOX'
| 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()\Zend_Mail_Storage_Mbox::__destruct()
__get(string $var) : boolGetter for has-properties.
Inherited from: \Zend_Mail_Storage_Abstract::__get()\Zend_Mail_Storage_Mbox::__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 |

__sleep() : arraymagic method for serialize()
with this method you can cache the mbox class
| Type | Description |
|---|---|
| array | name of variables |

__wakeup() : nullmagic method for unserialize()
with this method you can cache the mbox class
| Type | Description |
|---|---|
| null |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

_buildFolderTree(string $currentDir, \Zend_Mail_Storage_Folder | null $parentFolder = null, string $parentGlobalName = '') : nullfind 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.
| Name | Type | Description |
|---|---|---|
| $currentDir | string | call with root dir, also used for recursion. |
| $parentFolder | \Zend_Mail_Storage_Folder | null | used for recursion |
| $parentGlobalName | string | used for rescursion |
| Type | Description |
|---|---|
| null |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

_getPos(int $id) : arrayGet positions for mail message or throw exeption if id is invalid
Inherited from: \Zend_Mail_Storage_Mbox::_getPos()| Name | Type | Description |
|---|---|---|
| $id | int | number of message |
| Type | Description |
|---|---|
| array | positions as in _positions |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

_isMboxFile(resource | string $file, bool $fileIsString = true) : boolif $file is a resource its file pointer is moved after the first line
| Name | Type | Description |
|---|---|---|
| $file | resource | string | stream resource of name of file |
| $fileIsString | bool | file is string or resource |
| Type | Description |
|---|---|
| bool | file is mbox file |

_openMboxFile(string $filename) : nullopen given file as current mbox file
Inherited from: \Zend_Mail_Storage_Mbox::_openMboxFile()| Name | Type | Description |
|---|---|---|
| $filename | string | filename of mbox file |
| Type | Description |
|---|---|
| null |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

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

count() : intCountable::count()
Inherited from: \Zend_Mail_Storage_Abstract::count()\Zend_Mail_Storage_Mbox::count()| Type | Description |
|---|---|
| int |

countMessages() : intCount messages all messages in current box
Inherited from: \Zend_Mail_Storage_Mbox::countMessages()| Type | Description |
|---|---|
| int | number of messages |
| Exception | Description |
|---|---|
| \Zend_Mail_Storage_Exception |

current() : \Zend_Mail_MessageIterator::current()
Inherited from: \Zend_Mail_Storage_Abstract::current()\Zend_Mail_Storage_Mbox::current()| Type | Description |
|---|---|
| \Zend_Mail_Message | current message |

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

getCurrentFolder() : \Zend_Mail_Storage_Folderget 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_Folderget 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) : intget a message number from a unique id
Inherited from: \Zend_Mail_Storage_Mbox::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| 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| 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 = 0) : int | arrayGet a list of messages with number and size
Inherited from: \Zend_Mail_Storage_Mbox::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) |

getUniqueId(int | null $id = null) : array | stringget unique id for one or all messages
Inherited from: \Zend_Mail_Storage_Mbox::getUniqueId()Mbox does not support unique ids (yet) - it's always the same as the message number. That shouldn't be a problem, because we can't change mbox files. Therefor the message number is save enough.
| 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() : intIterator::key()
Inherited from: \Zend_Mail_Storage_Abstract::key()\Zend_Mail_Storage_Mbox::key()| Type | Description |
|---|---|
| int | id of current position |

next() : voidIterator::next()
Inherited from: \Zend_Mail_Storage_Abstract::next()\Zend_Mail_Storage_Mbox::next()
offsetExists(int $id) : booleanArrayAccess::offsetExists()
Inherited from: \Zend_Mail_Storage_Abstract::offsetExists()\Zend_Mail_Storage_Mbox::offsetExists()| Name | Type | Description |
|---|---|---|
| $id | int |
| Type | Description |
|---|---|
| boolean |

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

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

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

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

rewind() : voidIterator::rewind()
Inherited from: \Zend_Mail_Storage_Abstract::rewind()\Zend_Mail_Storage_Mbox::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) : voidSeekableIterator::seek()
Inherited from: \Zend_Mail_Storage_Abstract::seek()\Zend_Mail_Storage_Mbox::seek()| Name | Type | Description |
|---|---|---|
| $pos | int |
| Exception | Description |
|---|---|
| \OutOfBoundsException |

selectFolder(\Zend_Mail_Storage_Folder | string $globalName) : nullselect 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() : booleanIterator::valid()
Inherited from: \Zend_Mail_Storage_Abstract::valid()\Zend_Mail_Storage_Mbox::valid()| Type | Description |
|---|---|
| boolean |