Mail/Storage/Mbox.php

Show: PublicProtectedPrivateinherited
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 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_Mbox

Package: Zend\Mail\Storage
Parent(s)
\Zend_Mail_Storage_Abstract
Children
\Zend_Mail_Storage_Folder_Mbox
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprotectednull|resource $_fh
file handle to mbox file
Details
Type
null | resource
>VPropertyprotectedint $_filemtime
modification date of mbox file for __wakeup
Details
Type
int
>VPropertyprotectedstring $_filename
filename of mbox file for __wakeup
Details
Type
string
>VPropertyprotectedarray $_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
Default valuearray('uniqueid' => true, 'delete' => false, 'create' => false, 'top' => false, 'fetchPart' => true, 'flags' => false)Details
Type
array
Inherited_from
\Zend_Mail_Storage_Abstract::$$_has  
>VPropertyprotectednull|int $_iterationMax = null
inherited
maximum iteration position (= message count)
Inherited from: \Zend_Mail_Storage_Abstract::$$_iterationMax
Default valuenullDetails
Type
null | int
Inherited_from
\Zend_Mail_Storage_Abstract::$$_iterationMax  
>VPropertyprotectedint $_iterationPos = 0
inherited
current iteration position
Inherited from: \Zend_Mail_Storage_Abstract::$$_iterationPos
Default value0Details
Type
int
Inherited_from
\Zend_Mail_Storage_Abstract::$$_iterationPos  
>VPropertyprotectedstring $_messageClass = 'Zend_Mail_Message_File'
used message class, change it in an extened class to extend the returned message class
Default value'Zend_Mail_Message_File'Details
Type
string
>VPropertyprotectedarray $_positions
start and end position of messages as array('start' => start, 'seperator' => headersep, 'end' => end)
Details
Type
array

Methods

methodpublic__construct(array $params) : void

Create instance with parameters Supported parameters are: - filename filename of mbox file

Parameters
NameTypeDescription
$paramsarray

mail reader specific parameters

Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublic__destruct() : void
inherited

Destructor calls close() and therefore closes the resource.

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

Getter for has-properties.

Inherited from: \Zend_Mail_Storage_Abstract::__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
NameTypeDescription
$varstring

property name

Returns
TypeDescription
boolsupported or not
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublic__sleep() : array

magic method for serialize()

with this method you can cache the mbox class

Returns
TypeDescription
arrayname of variables
methodpublic__wakeup() : null

magic method for unserialize()

with this method you can cache the mbox class for cache validation the mtime of the mbox file is used

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodprotected_getPos(int $id) : array

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

Parameters
NameTypeDescription
$idint

number of message

Returns
TypeDescription
arraypositions as in _positions
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodprotected_isMboxFile(resource | string $file, bool $fileIsString = true) : bool

check if given file is a mbox file

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

Parameters
NameTypeDescription
$fileresource | string

stream resource of name of file

$fileIsStringbool

file is string or resource

Returns
TypeDescription
boolfile is mbox file
methodprotected_openMboxFile(string $filename) : null

open given file as current mbox file

Parameters
NameTypeDescription
$filenamestring

filename of mbox file

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicclose() : void

Close resource for mail lib.

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()
Returns
TypeDescription
int
methodpubliccountMessages() : int

Count messages all messages in current box

Returns
TypeDescription
intnumber of messages
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpubliccurrent() : \Zend_Mail_Message
inherited

Iterator::current()

Inherited from: \Zend_Mail_Storage_Abstract::current()
Returns
TypeDescription
\Zend_Mail_Messagecurrent 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()
Returns
TypeDescription
arraylist of features as array(featurename => true|false[|null])
methodpublicgetMessage(int $id) : \Zend_Mail_Message_File

Fetch a message

Parameters
NameTypeDescription
$idint

number of message

Returns
TypeDescription
\Zend_Mail_Message_File
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicgetNumberByUniqueId(string $id) : int

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

Parameters
NameTypeDescription
$idstring

unique id

Returns
TypeDescription
intmessage number
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicgetRawContent(int $id, null | array | string $part = null) : string

Get raw content of message or part

Parameters
NameTypeDescription
$idint

number of message

$partnull | array | string

path to part or null for messsage content

Returns
TypeDescription
stringraw content
methodpublicgetRawHeader(int $id, null | array | string $part = null, int $topLines = 0) : string

Get raw header of message or part

Parameters
NameTypeDescription
$idint

number of message

$partnull | array | string

path to part or null for messsage header

$topLinesint

include this many lines with header (after an empty line)

Returns
TypeDescription
stringraw header
methodpublicgetSize(int | null $id = 0) : int | array

Get a list of messages with number and size

Parameters
NameTypeDescription
$idint | null

number of message or null for all messages

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

get unique id for one or all messages

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
NameTypeDescription
$idint | null

message number

Returns
TypeDescription
array | stringmessage number for given message or all messages as array
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublickey() : int
inherited

Iterator::key()

Inherited from: \Zend_Mail_Storage_Abstract::key()
Returns
TypeDescription
intid of current position
methodpublicnext() : void
inherited

Iterator::next()

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

Waste some CPU cycles doing nothing.

methodpublicoffsetExists(int $id) : boolean
inherited

ArrayAccess::offsetExists()

Inherited from: \Zend_Mail_Storage_Abstract::offsetExists()
Parameters
NameTypeDescription
$idint
Returns
TypeDescription
boolean
methodpublicoffsetGet(int $id) : \Zend_Mail_Message
inherited

ArrayAccess::offsetGet()

Inherited from: \Zend_Mail_Storage_Abstract::offsetGet()
Parameters
NameTypeDescription
$idint
Returns
TypeDescription
\Zend_Mail_Messagemessage object
methodpublicoffsetSet(\id $id, mixed $value) : void
inherited

ArrayAccess::offsetSet()

Inherited from: \Zend_Mail_Storage_Abstract::offsetSet()
Parameters
NameTypeDescription
$id\id
$valuemixed
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicoffsetUnset(int $id) : boolean
inherited

ArrayAccess::offsetUnset()

Inherited from: \Zend_Mail_Storage_Abstract::offsetUnset()
Parameters
NameTypeDescription
$idint
Returns
TypeDescription
booleansuccess
methodpublicremoveMessage( $id) : null

stub for not supported message deletion

Parameters
NameTypeDescription
$id
Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicrewind() : void
inherited

Iterator::rewind()

Inherited from: \Zend_Mail_Storage_Abstract::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.

methodpublicseek(int $pos) : void
inherited

SeekableIterator::seek()

Inherited from: \Zend_Mail_Storage_Abstract::seek()
Parameters
NameTypeDescription
$posint
Throws
ExceptionDescription
\OutOfBoundsException
methodpublicvalid() : boolean
inherited

Iterator::valid()

Inherited from: \Zend_Mail_Storage_Abstract::valid()
Returns
TypeDescription
boolean
Documentation was generated by phpDocumentor 2.0.0a12.