| | |
| | | |
| | | /* |
| | | +-----------------------------------------------------------------------+ |
| | | | program/include/rcube_storage.php | |
| | | | | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2005-2012, The Roundcube Dev Team | |
| | | | Copyright (C) 2012, Kolab Systems AG | |
| | |
| | | | | |
| | | | PURPOSE: | |
| | | | Mail Storage Engine | |
| | | | | |
| | | +-----------------------------------------------------------------------+ |
| | | | Author: Thomas Bruederli <roundcube@gmail.com> | |
| | | | Author: Aleksander Machniak <alec@alec.pl> | |
| | | +-----------------------------------------------------------------------+ |
| | | */ |
| | | |
| | | |
| | | /** |
| | | * Abstract class for accessing mail messages storage server |
| | |
| | | protected $default_charset = 'ISO-8859-1'; |
| | | protected $default_folders = array('INBOX'); |
| | | protected $search_set; |
| | | protected $options = array('auth_method' => 'check'); |
| | | protected $options = array('auth_type' => 'check'); |
| | | protected $page_size = 10; |
| | | protected $threading = false; |
| | | |
| | |
| | | protected $all_headers = array( |
| | | 'IN-REPLY-TO', |
| | | 'BCC', |
| | | 'SENDER', |
| | | 'MESSAGE-ID', |
| | | 'CONTENT-TRANSFER-ENCODING', |
| | | 'REFERENCES', |
| | |
| | | * Get messages count for a specific folder. |
| | | * |
| | | * @param string $folder Folder name |
| | | * @param string $mode Mode for count [ALL|THREADS|UNSEEN|RECENT] |
| | | * @param string $mode Mode for count [ALL|THREADS|UNSEEN|RECENT|EXISTS] |
| | | * @param boolean $force Force reading from server and update cache |
| | | * @param boolean $status Enables storing folder status info (max UID/count), |
| | | * required for folder_status() |
| | |
| | | /** |
| | | * Append a mail message (source) to a specific folder. |
| | | * |
| | | * @param string $folder Target folder |
| | | * @param string $message The message source string or filename |
| | | * @param string $headers Headers string if $message contains only the body |
| | | * @param boolean $is_file True if $message is a filename |
| | | * @param array $flags Message flags |
| | | * @param mixed $date Message internal date |
| | | * @param string $folder Target folder |
| | | * @param string|array $message The message source string or filename |
| | | * or array (of strings and file pointers) |
| | | * @param string $headers Headers string if $message contains only the body |
| | | * @param boolean $is_file True if $message is a filename |
| | | * @param array $flags Message flags |
| | | * @param mixed $date Message internal date |
| | | * |
| | | * @return int|bool Appended message UID or True on success, False on error |
| | | */ |
| | |
| | | |
| | | |
| | | /** |
| | | * Returns current status of a folder |
| | | * Returns current status of a folder (compared to the last time use) |
| | | * |
| | | * @param string $folder Folder name |
| | | * @param array $diff Difference data |
| | | * |
| | | * @return int Folder status |
| | | */ |
| | | abstract function folder_status($folder = null); |
| | | abstract function folder_status($folder = null, &$diff = array()); |
| | | |
| | | |
| | | /** |
| | |
| | | /** |
| | | * Delete outdated cache entries |
| | | */ |
| | | abstract function expunge_cache(); |
| | | abstract function cache_gc(); |
| | | |
| | | } // end class rcube_storage |