Interface class for accessing an IMAP server
| package |
Framework |
|---|---|
| subpackage |
Storage |
| author |
Thomas Bruederli roundcube@gmail.com |
| author |
Aleksander Machniak alec@alec.pl |
__construct()
__get( $name)
| deprecated |
. |
|---|---|
cache_gc()
change_subscription( $folders, $mode)
check_connection() : boolean
booleanConnection state.
check_permflag(string $flag) : boolean
stringPermanentflag name
booleanTrue if this flag is supported
clear_cache(string $key = null, boolean $prefix_mode = false)
stringCache key name or pattern
booleanEnable it to clear all keys starting with prefix specified in $key
clear_folder(string $folder = null) : boolean
.
stringFolder name
booleanTrue on success, False on error
close()
connect(string $host, string $user, string $pass, integer $port = 143, string $use_ssl = null) : boolean
stringHost to connect
stringUsername for IMAP account
stringPassword for IMAP account
integerPort to connect to
stringSSL schema (either ssl or tls) or null if plain connection
booleanTRUE on success, FALSE on failure
convert_criteria(string $str, string $charset, string $dest_charset = 'US-ASCII') : string
stringSearch string
stringOriginal charset
stringDestination charset (default US-ASCII)
stringSearch string
count(string $folder = null, string $mode = 'ALL', boolean $force = false, boolean $status = true) : integer
stringFolder name
stringMode for count [ALL|THREADS|UNSEEN|RECENT|EXISTS]
booleanForce reading from server and update cache
booleanEnables storing folder status info (max UID/count), required for folder_status()
integerNumber of messages
create_default_folders()
create_folder(string $folder, boolean $subscribe = false) : boolean
stringNew folder name
booleanTrue if the newvfolder should be subscribed
booleanTrue on success, False on error
date_format( $date)
debug_handler( &$imap, $message)
delete_acl(string $folder, string $user) : boolean
stringFolder name
stringUser name
booleanTrue on success, False on failure
delete_folder(string $folder) : boolean
stringFolder name
booleanTrue on success, False on error
expunge_folder(string $folder = null, boolean $clear_cache = true) : boolean
stringFolder name
booleanFalse if cache should not be cleared
booleanTrue on success, False on error
fetch_headers(string $folder, array $msgs, boolean $sort = true, boolean $force = false) : array
stringFolder name
arrayMessage UIDs
booleanEnables result sorting by $msgs
booleanDisables cache use
arrayMessages headers indexed by UID
fetch_thread_headers(string $folder, \rcube_result_thread $threads, integer $page, integer $slice) : array
stringFolder name
integerList page number
integerNumber of threads to slice
arrayMessages headers
filter_rights( $a_folders, $rights)
For performance reasons we assume user has full rights on all personal folders.
folder_attributes(string $folder, boolean $force = false) : array
stringFolder name
booleanSet to True if attributes should be refreshed
arrayOptions list
folder_data(string $folder) : array
stringFolder name
arrayData
folder_exists(string $folder, boolean $subscription = false) : boolean
stringFolder name
booleanEnable subscription checking
booleanTrue if folder exists, False otherwise
folder_info(string $folder) : array
stringFolder name
arrayData
folder_namespace(string $folder) : string
stringFolder name
stringOne of 'personal', 'other' or 'shared'
folder_size(string $folder) : integer
stringFolder name
integerFolder size in bytes, False on error
folder_status(string $folder = null, array &$diff = array()) : integer
stringFolder name
arrayDifference data
integerFolder status
folder_sync(string $folder)
stringFolder name
get_acl(string $folder) : array
stringFolder name
arrayUser-rights array on success, NULL on error
get_body(integer $uid, $part = 1) : string
| see | \rcube_imap::get_message_part() |
|---|
integerMessage UID
string$part Message/part body
get_cache(string $key) : mixed
stringCache key
mixedCached value
get_cache_engine()
get_capability(string $cap) : mixed
stringCapability name
mixedCapability value or TRUE if supported, FALSE if not
get_error_code() : integer
integerError code
get_error_str() : string
stringError message
get_fetch_headers() : string
stringSpace-separated list of header names
get_folder() : string
stringName of the folder
get_folder_stats(string $folder) : array
stringFolder name
arrayStats data
get_hierarchy_delimiter() : string
stringDelimiter string
get_mcache_engine()
get_namespace(string $name = null) : array
stringNamespace array index: personal, other, shared, prefix
arrayNamespace data
get_option(string $name)
stringOption name
get_page() : integer
integerPage number
get_pagesize() : integer
integerNumber of messages to display on one page
get_permflags(string $folder) : array
stringFolder name
arrayFlags
get_quota(string $folder = null) : mixed
stringFolder name
mixedQuota info or False if not supported
get_raw_body(integer $uid, resource $fp = null, string $part = null) : string
integerMessage UID
resourceFile pointer to save the message
stringOptional message part ID
stringMessage source string
get_raw_headers(integer $uid, string $part = null) : string
integerMessage UID
stringOptional message part ID
stringMessage headers string
get_response_code() : integer
integerResponse code (class constant)
get_search_set() : array
arraySearch set in driver specific format, NULL if search wasn't initialized
get_special_folders( $forced = false)
get_threading() : mixed
mixedThreading algorithm or False if THREAD is not supported or disabled
get_vendor() : string
| since | 1.2 |
|---|---|
stringVendor name
id2uid(integer $id, string $folder = null) : integer
integerMessage (sequence) ID
stringFolder name
integerMessage UID
index(string $folder = null, string $sort_field = null, string $sort_order = null) : \rcube_result_index|\rcube_result_thread
stringFolder to get index from
stringSort column
stringSort order [ASC, DESC]
\rcube_result_index|\rcube_result_threadList of messages (UIDs)
index_direct(string $folder, string $sort_field = null, string $sort_order = null, \rcube_result_* $search = null) : \rcube_result_index
Doesn't uses cache by default.
stringFolder to get index from
stringSort column
stringSort order [ASC, DESC]
\rcube_result_*Optional messages set to limit the result
\rcube_result_indexSorted list of message UIDs
is_connected() : boolean
booleanTRUE on success, FALSE on failure
is_special_folder( $name)
list_flags(string $folder, array $uids, integer $mod_seq = null) : array
stringFolder name
arrayMessage UIDs
integerOptional MODSEQ value
arrayIndexed array with message flags
list_folders(string $root = '', string $name = '*', mixed $filter = null, string $rights = null, boolean $skip_sort = false) : array
stringIMAP root dir
stringOptional name pattern
mixedOptional filter
stringOptional ACL requirements
booleanEnable to return unsorted list (for better performance)
arrayIndexed array with folder names
list_folders_direct(string $root = '', string $name = '*') : array
| see | \rcube_imap::list_folders() |
|---|
stringOptional root folder
stringOptional name pattern
arrayList of folders
list_folders_subscribed(string $root = '', string $name = '*', string $filter = null, string $rights = null, boolean $skip_sort = false) : array
stringOptional root folder
stringOptional name pattern
stringOptional filter
stringOptional ACL requirements
booleanEnable to return unsorted list (for better performance)
arrayList of folders
list_folders_subscribed_direct(string $root = '', string $name = '*') : array
| see | \rcube_imap::list_folders_subscribed() |
|---|
stringOptional root folder
stringOptional name pattern
arrayList of subscribed folders
list_folders_update(array &$result, string $type = null)
Needed on some servers eg. Courier IMAP
arrayReference to folders list
stringListing type (ext-subscribed, subscribed or all)
list_rights(string $folder, string $user) : array
stringFolder name
stringUser name
arrayList of user rights
md2annotate(string $entry) : array
stringEntry name
arrayEntry-attribute list, NULL if not supported (?)
mod_folder(string $folder, string $mode = 'out') : string
For output it removes prefix of the personal namespace if it's possible. For input it adds the prefix. Use it before creating a folder in root of the folders tree.
stringFolder name
stringMode name (out/in)
stringFolder name
my_rights(string $folder) : array
stringFolder name
arrayMYRIGHTS response on success, NULL on error
parse_uids(mixed $uids) : array
mixedUIDs array or comma-separated list or '' or '1:'
arrayTwo elements array with UIDs converted to list and ALL flag
print_raw_body(integer $uid, boolean $formatted = true)
integerMessage UID
booleanEnables line-ending formatting
refresh_search() : array
arrayCurrent search set
rename_folder(string $folder, string $new_name) : boolean
stringFolder to rename
stringNew folder name
booleanTrue on success, False on error
search(string $folder = null, string $str = 'ALL', string $charset = null, string $sort_field = null)
| todo |
: Search criteria should be provided in non-IMAP format, eg. array |
|---|---|
stringFolder name to search in
stringSearch criteria
stringSearch charset
stringHeader field to sort by
search_index(string $folder, string $criteria = 'ALL', string $charset = NULL, string $sort_field = NULL) : \rcube_result_index|\rcube_result_thread
| see | \rcube_imap::search() |
|---|
stringFolder name
stringSearch criteria
stringCharset
stringSorting field
\rcube_result_index|\rcube_result_threadSearch results (UIDs)
search_once(string $folder = null, string $str = 'ALL') : \rcube_result_index
stringFolder name to search in
stringSearch string
\rcube_result_indexSearch result (UIDs)
set_acl(string $folder, string $user, string $acl) : boolean
stringFolder name
stringUser name
stringACL string
booleanTrue on success, False on failure
set_caching(string $type)
stringCache type (@see rcube::get_cache)
set_charset(string $cs)
This will be used for message decoding if a charset specification is not available
stringCharset string
set_debug(boolean $dbg = true)
booleanTrue if conversation with the server should be logged
set_env()
set_flag(mixed $uids, string $flag, string $folder = null, boolean $skip_cache = false) : boolean
mixedMessage UIDs as array or comma-separated string, or '*'
stringFlag to set: SEEN, UNDELETED, DELETED, RECENT, ANSWERED, DRAFT, MDNSENT
stringFolder name
booleanTrue to skip message cache clean up
booleanOperation status
set_folder(string $folder)
All operations will be performed on this folder.
stringFolder name
set_folder_stats(string $folder, string $name, mixed $data)
| TODO |
: move to separate DB table (cache?) |
|---|---|
stringFolder name
stringData name
mixedData value
set_page(integer $page)
integerPage number to list
set_pagesize(integer $size)
integerNumber of messages to display on one page
set_part_filename(\rcube_message_part &$part, string $headers = null)
set_search_dirty( $folder)
For subsequent refresh_search() calls to only refresh the updated parts.
set_search_set(mixed $set)
mixedSearch set in driver specific format
set_sort_order(string $sort_field, string $sort_order)
stringSort column
stringSort order
set_special_folders( $specials)
set_thread_flags(array &$headers, \rcube_result_thread $threads) : array
arrayReference to headers array indexed by message UID
arrayMessage headers array indexed by message UID
set_threading(boolean $enable = false) : mixed
Enable/Disable threaded mode.
booleanTRUE to enable and FALSE
mixedThreading algorithm or False if THREAD is not supported
sort_folder_comparator( $str1, $str2)
sort_folder_list(array $a_folders, boolean $skip_default = false) : array
arrayFolders list
booleanSkip default folders handling
arraySorted list
sort_folder_specials( $folder, &$list, &$specials, &$out)
sort_threads(\rcube_result_thread $threads)
If not, use any method and re-sort the result in THREAD=REFS way.
structure_charset(array $structure) : string
arrayMessage structure
stringCharset name
structure_part(array $part, integer $count, string $parent = '', $mime_headers = null)
array
integer
string
subscribe(array $folders) : boolean
arrayFolder name(s)
booleanTrue on success
thread_index(string $folder = '', string $sort_field = NULL, string $sort_order = NULL) : \rcube_result_thread
stringFolder to get index from
stringSort column
stringSort order [ASC, DESC]
\rcube_result_threadMessage UIDs
threads(string $folder) : \rcube_imap_thread
stringFolder name
\rcube_imap_threadThread data object
threads_direct(string $folder) : \rcube_imap_thread
stringFolder name
\rcube_imap_threadThread data object
unset_flag(mixed $uids, string $flag, string $folder = null) : boolean
| see | \set_flag |
|---|
mixedMessage UIDs as array or comma-separated string, or '*'
stringFlag to unset: SEEN, DELETED, RECENT, ANSWERED, DRAFT, MDNSENT
stringFolder name
booleanOperation status
unsubscribe(array $folders) : boolean
arrayFolder name(s)
booleanTrue on success
update_cache(string $key, mixed $data)
stringCache key
mixedData
UNKNOWN
NOPERM
READONLY
TRYCREATE
INUSE
OVERQUOTA
ALREADYEXISTS
NONEXISTENT
CONTACTADMIN
conn : mixed
| var |
|---|
mixed
icache : array
| var |
|---|
array
plugins :
delimiter :
namespace :
sort_field :
sort_order :
struct_charset :
search_set :
search_string :
search_charset :
search_sort_field :
search_threads :
search_sorted :
caching :
threading :
folder_types : array
| var |
|---|
array
folder :
default_charset :
page_size :
list_page :
all_headers : array
| var |
|---|
array