Documentation

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
author

Michael Slusarz slusarz@horde.org

category

Horde

copyright

2013-2017 Horde LLC

license

http://www.horde.org/licenses/lgpl21 LGPL 2.1

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
Return values
mixed

Search results