Mail/Storage/Writable/Maildir.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 license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Mail
- Subpackage
- Storage
- Version
- $Id$
\Zend_Mail_Storage_Writable_Maildir
Package: Zend_Mail\Storage- Implements
- Parent(s)
- \Zend_Mail_Storage_Folder_Maildir
<
\Zend_Mail_Storage_Maildir
<
\Zend_Mail_Storage_Abstract
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties
Methods
__construct(array $params) : void
Create instance with parameters
Additional parameters are (see parent for more):
- create if true a new maildir is create if none exists
ParametersName | Type | Description |
---|
$params | array | mail reader specific parameters |
---|
Throws _createTmpFile(string $folder = 'INBOX') : array
open a temporary maildir file
makes sure tmp/ exists and create a file with a unique name
you should close the returned filehandle!
ParametersName | Type | Description |
---|
$folder | string | name of current folder without leading . |
---|
ReturnsType | Description |
---|
array | array('dirname' => dir of maildir folder, 'uniq' => unique id, 'filename' => name of create file
'handle' => file opened for writing) |
Throws_createUniqueId() : string
create a uniqueid for maildir filename
This is nearly the format defined in the maildir standard. The microtime() call should already
create a uniqueid, the pid is for multicore/-cpu machine that manage to call this function at the
exact same time, and uname() gives us the hostname for multiple machines accessing the same storage.
If someone disables posix we create a random number of the same size, so this method should also
work on Windows - if you manage to get maildir working on Windows.
Microtime could also be disabled, altough I've never seen it.
ReturnsType | Description |
---|
string | new uniqueid |
_getInfoString(array $flags) : string
create an info string for filenames with given flags
ParametersName | Type | Description |
---|
$flags | array | wanted flags, with the reference you'll get the set flags with correct key (= char for flag) |
---|
ReturnsType | Description |
---|
string | info string for version 2 filenames including the leading colon |
Throws checkQuota(bool $detailedResponse = false, $forceRecalc = false) : bool | array
check if storage is currently over quota
ParametersName | Type | Description |
---|
$detailedResponse | bool | return known data of quota and current size and message count @see _calculateQuota() |
---|
$forceRecalc | | |
---|
ReturnsType | Description |
---|
bool | array | over quota state or detailed response |
createFolder(string $name, string | \Zend_Mail_Storage_Folder $parentFolder = null) : string
This method also creates parent folders if necessary. Some mail storages may restrict, which folder
may be used as parent or which chars may be used in the folder name
ParametersName | Type | Description |
---|
$name | string | global name of folder, local name if $parentFolder is set |
---|
$parentFolder | string | \Zend_Mail_Storage_Folder | parent folder for new folder, else root folder is parent |
---|
ReturnsType | Description |
---|
string | only used internally (new created maildir) |
ThrowsinitMaildir(string $dir) : null
staticcreate a new maildir
If the given dir is already a valid maildir this will not fail.
ParametersName | Type | Description |
---|
$dir | string | directory for the new maildir (may already exist) |
---|
ReturnsThrowsrenameFolder(string | \Zend_Mail_Storage_Folder $oldName, string $newName) : null
rename and/or move folder
The new name has the same restrictions as in createFolder()
ParametersName | Type | Description |
---|
$oldName | string | \Zend_Mail_Storage_Folder | name or instance of folder |
---|
$newName | string | new global name of folder |
---|
ReturnsThrowssetFlags(int $id, array $flags) : void
NOTE: this method can't set the recent flag.
ParametersName | Type | Description |
---|
$id | int | number of message |
---|
$flags | array | new flags for message |
---|
ThrowssetQuota(bool | array $value) : null
enable/disable quota and set a quota value if wanted or needed
You can enable/disable quota with true/false. If you don't have
a MDA or want to enforce a quota value you can also set this value
here. Use array('size' => SIZE_QUOTA, 'count' => MAX_MESSAGE) do
define your quota. Order of these fields does matter!
ParametersName | Type | Description |
---|
$value | bool | array | new quota value |
---|
Returns