Mail/Storage/Folder/Mbox.php
Zend Framework
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 [email protected] 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 =
modification date of mbox file for __wakeup
Inherited from: \Zend_Mail_Storage_Mbox::$$_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)
class capabilities with default values
Inherited from: \Zend_Mail_Storage_Abstract::$$_has\Zend_Mail_Storage_Mbox::$$_hasarray('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 = null
maximum iteration position (= message count)
Inherited from: \Zend_Mail_Storage_Abstract::$$_iterationMax\Zend_Mail_Storage_Mbox::$$_iterationMaxnull
Details- Type
- null | int
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_iterationMax
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_iterationMax


int $_iterationPos = 0
current iteration position
Inherited from: \Zend_Mail_Storage_Abstract::$$_iterationPos\Zend_Mail_Storage_Mbox::$$_iterationPos0
Details- Type
- int
- Inherited_from
- \Zend_Mail_Storage_Abstract::$$_iterationPos
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_iterationPos


string $_messageClass = 'Zend_Mail_Message_File'
used message class, change it in an extened class to extend the returned message class
Inherited from: \Zend_Mail_Storage_Mbox::$$_messageClass'Zend_Mail_Message_File'
Details- Type
- string
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_messageClass


array $_positions =
start and end position of messages as array('start' => start, 'seperator' => headersep, 'end' => end)
Inherited from: \Zend_Mail_Storage_Mbox::$$_positions- Type
- array
- Inherited_from
- \Zend_Mail_Storage_Mbox::$$_positions


\Zend_Mail_Storage_Folder $_rootFolder =
Zend_Mail_Storage_Folder root folder for folder structure
Methods


__construct(array $params) : void
Create 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() : void
Destructor calls close() and therefore closes the resource.
Inherited from: \Zend_Mail_Storage_Abstract::__destruct()\Zend_Mail_Storage_Mbox::__destruct()

__get(string $var) : bool
Getter 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() : array
magic method for serialize()
with this method you can cache the mbox class
Type | Description |
---|---|
array | name of variables |


__wakeup() : null
magic 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 = '') : 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.
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) : array
Get 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) : bool
if $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) : null
open 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() : 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_Mbox::count()Type | Description |
---|---|
int |


countMessages() : int
Count 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_Message
Iterator::current()
Inherited from: \Zend_Mail_Storage_Abstract::current()\Zend_Mail_Storage_Mbox::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_Mbox::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_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
Get raw content of message or part
Inherited from: \Zend_Mail_Storage_Mbox::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
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 | array
Get 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 | string
get 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() : int
Iterator::key()
Inherited from: \Zend_Mail_Storage_Abstract::key()\Zend_Mail_Storage_Mbox::key()Type | Description |
---|---|
int | id of current position |


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

offsetExists(int $id) : boolean
ArrayAccess::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_Message
ArrayAccess::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) : void
ArrayAccess::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) : boolean
ArrayAccess::offsetUnset()
Inherited from: \Zend_Mail_Storage_Abstract::offsetUnset()\Zend_Mail_Storage_Mbox::offsetUnset()Name | Type | Description |
---|---|---|
$id | int |
Type | Description |
---|---|
boolean | success |


removeMessage( $id) : null
stub 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() : void
Iterator::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) : void
SeekableIterator::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) : 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_Mbox::valid()Type | Description |
---|---|
boolean |