Horde_Imap_Client_Cache_Backend_Db
extends Horde_Imap_Client_Cache_Backend
in package
A SQL database implementation for caching IMAP/POP data.
Requires the Horde_Db package.
Tags
Table of Contents
- BASE_TABLE = 'horde_imap_client_data'
- SQL table names.
- MD_TABLE = 'horde_imap_client_metadata'
- MSG_TABLE = 'horde_imap_client_message'
- $_db : Horde_Db_Adapter
- Handle for the database connection.
- $_params : array<string|int, mixed>
- Configuration paramters.
- __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.
- serialize() : mixed
- set() : mixed
- Store data in cache.
- setMetaData() : mixed
- Set metadata information for a mailbox.
- setParams() : mixed
- Add configuration parameters.
- unserialize() : mixed
- _baseSql() : array<string|int, mixed>
- Prepare the base SQL query.
- _createUid() : string
- _getUid() : string
- _initOb() : mixed
- Initialization tasks.
Constants
BASE_TABLE
SQL table names.
public
mixed
BASE_TABLE
= 'horde_imap_client_data'
MD_TABLE
public
mixed
MD_TABLE
= 'horde_imap_client_metadata'
MSG_TABLE
public
mixed
MSG_TABLE
= 'horde_imap_client_message'
Properties
$_db
Handle for the database connection.
protected
Horde_Db_Adapter
$_db
$_params
Configuration paramters.
protected
array<string|int, mixed>
$_params
= array()
Values set by the base Cache object: hostspec, port, username
Methods
__construct()
Constructor.
public
__construct([array<string|int, mixed> $params = array() ]) : mixed
Parameters
- $params : array<string|int, mixed> = array()
-
Configuration parameters:
- REQUIRED Parameters: - db: (Horde_Db_Adapter) DB object.
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.
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 —_baseSql()
Prepare the base SQL query.
protected
_baseSql(string $mailbox[, string $join = null ]) : array<string|int, mixed>
Parameters
- $mailbox : string
-
The mailbox.
- $join : string = null
-
The table to join with the base table.
Return values
array<string|int, mixed> —SQL query and bound parameters.
_createUid()
protected
_createUid(string $mailbox) : string
Parameters
- $mailbox : string
Return values
string —UID from base table.
_getUid()
protected
_getUid(string $mailbox) : string
Parameters
- $mailbox : string
Return values
string —UID from base table.
_initOb()
Initialization tasks.
protected
_initOb() : mixed