Mail/Storage/Folder/Mbox.php

Show: inherited
Table of Contents

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

Package: Zend\Mail\Storage

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

Propertyprotectedstring $_currentFolder =

name of current folder

Details
Type
string
Propertyprotectednull|resource $_fh =
inherited

file handle to mbox file

Inherited from: \Zend_Mail_Storage_Mbox::$$_fh
Details
Type
null | resource
Inherited_from
\Zend_Mail_Storage_Mbox::$$_fh  
Propertyprotectedint $_filemtime =
inherited

modification date of mbox file for __wakeup

Inherited from: \Zend_Mail_Storage_Mbox::$$_filemtime
Details
Type
int
Inherited_from
\Zend_Mail_Storage_Mbox::$$_filemtime  
Propertyprotectedstring $_filename =
inherited

filename of mbox file for __wakeup

Inherited from: \Zend_Mail_Storage_Mbox::$$_filename
Details
Type
string
Inherited_from
\Zend_Mail_Storage_Mbox::$$_filename  
Propertyprotectedarray $_has = array('uniqueid' => true, 'delete' => false, 'create' => false, 'top' => false, 'fetchPart' => true, 'flags' => false)
inherited

class capabilities with default values

Inherited from: \Zend_Mail_Storage_Abstract::$$_has\Zend_Mail_Storage_Mbox::$$_has
Default valuearray('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  
Propertyprotectednull|int $_iterationMax = null
inherited

maximum iteration position (= message count)

Inherited from: \Zend_Mail_Storage_Abstract::$$_iterationMax\Zend_Mail_Storage_Mbox::$$_iterationMax
Default valuenullDetails
Type
null | int
Inherited_from
\Zend_Mail_Storage_Abstract::$$_iterationMax  
Inherited_from
\Zend_Mail_Storage_Mbox::$$_iterationMax  
Propertyprotectedint $_iterationPos = 0
Default value0Details
Type
int
Inherited_from
\Zend_Mail_Storage_Abstract::$$_iterationPos  
Inherited_from
\Zend_Mail_Storage_Mbox::$$_iterationPos  
Propertyprotectedstring $_messageClass = 'Zend_Mail_Message_File'
inherited

used message class, change it in an extened class to extend the returned message class

Inherited from: \Zend_Mail_Storage_Mbox::$$_messageClass
Default value'Zend_Mail_Message_File'Details
Type
string
Inherited_from
\Zend_Mail_Storage_Mbox::$$_messageClass  
Propertyprotectedarray $_positions =
inherited

start and end position of messages as array('start' => start, 'seperator' => headersep, 'end' => end)

Inherited from: \Zend_Mail_Storage_Mbox::$$_positions
Details
Type
array
Inherited_from
\Zend_Mail_Storage_Mbox::$$_positions  
Propertyprotected\Zend_Mail_Storage_Folder $_rootFolder =

Zend_Mail_Storage_Folder root folder for folder structure

Propertyprotectedstring $_rootdir =

rootdir of folder structure

Details
Type
string

Methods

methodpublic__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'

Parameters
Name Type Description
$params array

mail reader specific parameters

Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublic__destruct() : void
inherited

Destructor calls close() and therefore closes the resource.

Inherited from: \Zend_Mail_Storage_Abstract::__destruct()\Zend_Mail_Storage_Mbox::__destruct()
methodpublic__get(string $var) : bool
inherited

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

Parameters
Name Type Description
$var string

property name

Returns
Type Description
bool supported or not
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublic__sleep() : array

magic method for serialize()

with this method you can cache the mbox class

Returns
Type Description
array name of variables
methodpublic__wakeup() : null

magic method for unserialize()

with this method you can cache the mbox class

Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodprotected_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.

Parameters
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

Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodprotected_getPos(int $id) : array
inherited

Get positions for mail message or throw exeption if id is invalid

Inherited from: \Zend_Mail_Storage_Mbox::_getPos()
Parameters
Name Type Description
$id int

number of message

Returns
Type Description
array positions as in _positions
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodprotected_isMboxFile(resource | string $file, bool $fileIsString = true) : bool
inherited

check if given file is a mbox file

Inherited from: \Zend_Mail_Storage_Mbox::_isMboxFile()

if $file is a resource its file pointer is moved after the first line

Parameters
Name Type Description
$file resource | string

stream resource of name of file

$fileIsString bool

file is string or resource

Returns
Type Description
bool file is mbox file
methodprotected_openMboxFile(string $filename) : null
inherited

open given file as current mbox file

Inherited from: \Zend_Mail_Storage_Mbox::_openMboxFile()
Parameters
Name Type Description
$filename string

filename of mbox file

Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicclose() : void
inherited

Close resource for mail lib.

Inherited from: \Zend_Mail_Storage_Mbox::close()

If you need to control, when the resource is closed. Otherwise the destructor would call this.

methodpubliccount() : int
inherited

Countable::count()

Inherited from: \Zend_Mail_Storage_Abstract::count()\Zend_Mail_Storage_Mbox::count()
Returns
Type Description
int
methodpubliccountMessages() : int
inherited

Count messages all messages in current box

Inherited from: \Zend_Mail_Storage_Mbox::countMessages()
Returns
Type Description
int number of messages
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpubliccurrent() : \Zend_Mail_Message
Returns
Type Description
\Zend_Mail_Message current message
methodpublicgetCapabilities() : array
inherited

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()
Returns
Type Description
array list of features as array(featurename => true|false[|null])
methodpublicgetCurrentFolder() : \Zend_Mail_Storage_Folder

get Zend_Mail_Storage_Folder instance for current folder

Returns
Type Description
\Zend_Mail_Storage_Folder instance of current folder
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicgetFolders(string $rootFolder = null) : \Zend_Mail_Storage_Folder

get root folder or given folder

Parameters
Name Type Description
$rootFolder string

get folder structure for given folder, else root

Returns
Type Description
\Zend_Mail_Storage_Folder root or wanted folder
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicgetMessage(int $id) : \Zend_Mail_Message_File
inherited

Fetch a message

Inherited from: \Zend_Mail_Storage_Mbox::getMessage()
Parameters
Name Type Description
$id int

number of message

Returns
Type Description
\Zend_Mail_Message_File
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicgetNumberByUniqueId(string $id) : int
inherited

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()

Parameters
Name Type Description
$id string

unique id

Returns
Type Description
int message number
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicgetRawContent(int $id, null | array | string $part = null) : string
inherited

Get raw content of message or part

Inherited from: \Zend_Mail_Storage_Mbox::getRawContent()
Parameters
Name Type Description
$id int

number of message

$part null | array | string

path to part or null for messsage content

Returns
Type Description
string raw content
methodpublicgetRawHeader(int $id, null | array | string $part = null, int $topLines = 0) : string
inherited

Get raw header of message or part

Inherited from: \Zend_Mail_Storage_Mbox::getRawHeader()
Parameters
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)

Returns
Type Description
string raw header
methodpublicgetSize(int | null $id = 0) : int | array
inherited

Get a list of messages with number and size

Inherited from: \Zend_Mail_Storage_Mbox::getSize()
Parameters
Name Type Description
$id int | null

number of message or null for all messages

Returns
Type Description
int | array size of given message of list with all messages as array(num => size)
methodpublicgetUniqueId(int | null $id = null) : array | string
inherited

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.

Parameters
Name Type Description
$id int | null

message number

Returns
Type Description
array | string message number for given message or all messages as array
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublickey() : int
inherited

Iterator::key()

Inherited from: \Zend_Mail_Storage_Abstract::key()\Zend_Mail_Storage_Mbox::key()
Returns
Type Description
int id of current position
methodpublicnext() : void
inherited

Iterator::next()

Inherited from: \Zend_Mail_Storage_Abstract::next()\Zend_Mail_Storage_Mbox::next()
methodpublicnoop() : void
inherited

Waste some CPU cycles doing nothing.

Inherited from: \Zend_Mail_Storage_Mbox::noop()
methodpublicoffsetExists(int $id) : boolean
inherited

ArrayAccess::offsetExists()

Inherited from: \Zend_Mail_Storage_Abstract::offsetExists()\Zend_Mail_Storage_Mbox::offsetExists()
Parameters
Name Type Description
$id int
Returns
Type Description
boolean
methodpublicoffsetGet(int $id) : \Zend_Mail_Message
inherited

ArrayAccess::offsetGet()

Inherited from: \Zend_Mail_Storage_Abstract::offsetGet()\Zend_Mail_Storage_Mbox::offsetGet()
Parameters
Name Type Description
$id int
Returns
Type Description
\Zend_Mail_Message message object
methodpublicoffsetSet(\id $id, mixed $value) : void
inherited

ArrayAccess::offsetSet()

Inherited from: \Zend_Mail_Storage_Abstract::offsetSet()\Zend_Mail_Storage_Mbox::offsetSet()
Parameters
Name Type Description
$id \id
$value mixed
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicoffsetUnset(int $id) : boolean
inherited

ArrayAccess::offsetUnset()

Inherited from: \Zend_Mail_Storage_Abstract::offsetUnset()\Zend_Mail_Storage_Mbox::offsetUnset()
Parameters
Name Type Description
$id int
Returns
Type Description
boolean success
methodpublicremoveMessage( $id) : null
inherited

stub for not supported message deletion

Inherited from: \Zend_Mail_Storage_Mbox::removeMessage()
Parameters
Name Type Description
$id
Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicrewind() : void

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.

methodpublicseek(int $pos) : void
inherited

SeekableIterator::seek()

Inherited from: \Zend_Mail_Storage_Abstract::seek()\Zend_Mail_Storage_Mbox::seek()
Parameters
Name Type Description
$pos int
Throws
Exception Description
\OutOfBoundsException
methodpublicselectFolder(\Zend_Mail_Storage_Folder | string $globalName) : null

select given folder

folder must be selectable!

Parameters
Name Type Description
$globalName \Zend_Mail_Storage_Folder | string

global name of folder or instance for subfolder

Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicvalid() : boolean
Returns
Type Description
boolean
Documentation was generated by phpDocumentor 2.0.0a8.