Horde_Imap_Client_Cache_Backend_Hashtable
extends Horde_Imap_Client_Cache_Backend
in package
A Horde_HashTable implementation for caching IMAP/POP data.
Requires the Horde_HashTable and Horde_Pack packages.
Tags
Table of Contents
- CID_SEPARATOR = '|'
- Separator for CID between mailbox and UID.
- $_data : array<string|int, mixed>
- The working data for the current pageload. All changes take place to this data.
- $_hash : Horde_HashTable
- HashTable object.
- $_mbox : array<string|int, mixed>
- Mailbox level data.
- $_pack : Horde_Pack
- Horde_Pack singleton object.
- $_params : array<string|int, mixed>
- Configuration paramters.
- $_update : array<string|int, mixed>
- List of mailbox/UIDs to update.
- __construct() : mixed
- Constructor.
- __serialize() : array<string|int, mixed>
- __unserialize() : mixed
- clear() : mixed
- Clear the cache.
- deleteMailbox() : mixed
- Delete a mailbox from the cache.
- deleteMsgs() : mixed
- Delete messages in the cache.
- get() : array<string|int, mixed>
- Get information from the cache for a set of UIDs.
- getCachedUids() : array<string|int, mixed>
- Get the list of cached UIDs.
- getMetaData() : array<string|int, mixed>
- Get metadata information for a mailbox.
- save() : mixed
- Updates the cache.
- serialize() : mixed
- set() : mixed
- Store data in cache.
- setMetaData() : mixed
- Set metadata information for a mailbox.
- setParams() : mixed
- Add configuration parameters.
- unserialize() : mixed
- _getCid() : string
- Create the unique ID used to store the mailbox data in the cache.
- _getMsgCids() : array<string|int, mixed>
- Return a list of cache IDs for mailbox/UID pairs.
- _initOb() : mixed
- Initialization tasks.
- _loadMailbox() : mixed
- Loads basic mailbox information.
- _loadUids() : mixed
- Load UIDs by regenerating from the cache.
Constants
CID_SEPARATOR
Separator for CID between mailbox and UID.
public
mixed
CID_SEPARATOR
= '|'
Properties
$_data
The working data for the current pageload. All changes take place to this data.
protected
array<string|int, mixed>
$_data
= array()
$_hash
HashTable object.
protected
Horde_HashTable
$_hash
$_mbox
Mailbox level data.
protected
array<string|int, mixed>
$_mbox
= array()
$_pack
Horde_Pack singleton object.
protected
Horde_Pack
$_pack
$_params
Configuration paramters.
protected
array<string|int, mixed>
$_params
= array()
Values set by the base Cache object: hostspec, port, username
$_update
List of mailbox/UIDs to update.
protected
array<string|int, mixed>
$_update
= array()
Keys are mailboxes. Values are arrays with three possible keys:
- d: UIDs to delete - m: Was metadata updated? - u: UIDs to update
Methods
__construct()
Constructor.
public
__construct([array<string|int, mixed> $params = array() ]) : mixed
Parameters
- $params : array<string|int, mixed> = array()
-
Configuration parameters:
- REQUIRED parameters: - hashtable: (Horde_HashTable) A HashTable object. - Optional Parameters: - lifetime: (integer) The lifetime of the cache data (in seconds). DEFAULT: 604800 seconds (1 week) [@since 2.19.0]
Return values
mixed —__serialize()
public
__serialize() : array<string|int, mixed>
Return values
array<string|int, mixed> —__unserialize()
public
__unserialize(array<string|int, mixed> $data) : mixed
Parameters
- $data : array<string|int, mixed>
Return values
mixed —clear()
Clear the cache.
public
clear(mixed $lifetime) : mixed
Parameters
- $lifetime : mixed
-
Only delete entries older than this (in seconds). If null, deletes all entries.
Return values
mixed —deleteMailbox()
Delete a mailbox from the cache.
public
deleteMailbox(mixed $mailbox) : mixed
Parameters
- $mailbox : mixed
-
The mailbox to delete.
Return values
mixed —deleteMsgs()
Delete messages in the cache.
public
deleteMsgs(mixed $mailbox, mixed $uids) : mixed
Parameters
- $mailbox : mixed
-
An IMAP mailbox string.
- $uids : mixed
-
The list of message UIDs to delete.
Return values
mixed —get()
Get information from the cache for a set of UIDs.
public
get(mixed $mailbox, mixed $uids, mixed $fields, mixed $uidvalid) : array<string|int, mixed>
Parameters
- $mailbox : mixed
-
An IMAP mailbox string.
- $uids : mixed
-
The list of message UIDs to retrieve information for.
- $fields : mixed
-
An array of fields to retrieve. If empty, returns all cached fields.
- $uidvalid : mixed
-
The IMAP uidvalidity value of the mailbox.
Return values
array<string|int, mixed> —An array of arrays with the UID of the message as the key (if found) and the fields as values (will be undefined if not found).
getCachedUids()
Get the list of cached UIDs.
public
getCachedUids(mixed $mailbox, mixed $uidvalid) : array<string|int, mixed>
Parameters
- $mailbox : mixed
-
An IMAP mailbox string.
- $uidvalid : mixed
-
The IMAP uidvalidity value of the mailbox.
Return values
array<string|int, mixed> —The (unsorted) list of cached UIDs.
getMetaData()
Get metadata information for a mailbox.
public
getMetaData(mixed $mailbox, mixed $uidvalid, mixed $entries) : array<string|int, mixed>
Parameters
- $mailbox : mixed
-
An IMAP mailbox string.
- $uidvalid : mixed
-
The IMAP uidvalidity value of the mailbox.
- $entries : mixed
-
An array of entries to return. If empty, returns all metadata.
Return values
array<string|int, mixed> —The requested metadata. Requested entries that do not exist will be undefined. The following entries are defaults and always present:
- uidvalid: (integer) The UIDVALIDITY of the mailbox.
save()
Updates the cache.
public
save() : mixed
Return values
mixed —serialize()
public
serialize() : mixed
Return values
mixed —set()
Store data in cache.
public
set(mixed $mailbox, mixed $data, mixed $uidvalid) : mixed
Parameters
- $mailbox : mixed
-
An IMAP mailbox string.
- $data : mixed
-
The list of data to save. The keys are the UIDs, the values are an array of information to save.
- $uidvalid : mixed
-
The IMAP uidvalidity value of the mailbox.
Return values
mixed —setMetaData()
Set metadata information for a mailbox.
public
setMetaData(mixed $mailbox, mixed $data) : mixed
Parameters
- $mailbox : mixed
-
An IMAP mailbox string.
- $data : mixed
-
The list of data to save. The keys are the metadata IDs, the values are the associated data. (If present, uidvalidity appears as the 'uidvalid' key in $data.)
Return values
mixed —setParams()
Add configuration parameters.
public
setParams([array<string|int, mixed> $params = array() ]) : mixed
Parameters
- $params : array<string|int, mixed> = array()
-
Configuration parameters.
Return values
mixed —unserialize()
public
unserialize(mixed $data) : mixed
Parameters
- $data : mixed
Return values
mixed —_getCid()
Create the unique ID used to store the mailbox data in the cache.
protected
_getCid(string $mailbox) : string
Parameters
- $mailbox : string
-
The mailbox to cache.
Return values
string —The cache ID.
_getMsgCids()
Return a list of cache IDs for mailbox/UID pairs.
protected
_getMsgCids(string $mailbox, array<string|int, mixed> $ids) : array<string|int, mixed>
Parameters
- $mailbox : string
-
The mailbox to cache.
- $ids : array<string|int, mixed>
-
The UID list.
Return values
array<string|int, mixed> —List of UIDs => cache IDs.
_initOb()
Initialization tasks.
protected
_initOb() : mixed
Return values
mixed —_loadMailbox()
Loads basic mailbox information.
protected
_loadMailbox(string $mailbox[, int $uidvalid = null ]) : mixed
Parameters
- $mailbox : string
-
The mailbox to load.
- $uidvalid : int = null
-
The IMAP uidvalidity value of the mailbox.
Return values
mixed —_loadUids()
Load UIDs by regenerating from the cache.
protected
_loadUids(string $mailbox, array<string|int, mixed> $uids[, int $uidvalid = null ]) : mixed
Parameters
- $mailbox : string
-
The mailbox to load.
- $uids : array<string|int, mixed>
-
The UIDs to load.
- $uidvalid : int = null
-
The IMAP uidvalidity value of the mailbox.