|
|
|
@ -874,6 +874,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, false on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function select($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -928,6 +929,7 @@ class rcube_imap_generic
|
|
|
|
|
* in RFC3501: UIDNEXT, UIDVALIDITY, RECENT
|
|
|
|
|
*
|
|
|
|
|
* @return array Status item-value hash
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function status($mailbox, $items=array())
|
|
|
|
@ -981,6 +983,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $messages Message UIDs to expunge
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function expunge($mailbox, $messages=NULL)
|
|
|
|
|
{
|
|
|
|
@ -1013,6 +1016,7 @@ class rcube_imap_generic
|
|
|
|
|
* Executes CLOSE command
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5
|
|
|
|
|
*/
|
|
|
|
|
function close()
|
|
|
|
@ -1033,6 +1037,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function subscribe($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -1048,6 +1053,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function unsubscribe($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -1063,6 +1069,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function deleteFolder($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -1078,6 +1085,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function clearFolder($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -1102,6 +1110,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return int Number of messages, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function countMessages($mailbox, $refresh = false)
|
|
|
|
|
{
|
|
|
|
@ -1134,6 +1143,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return int Number of messages, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function countRecent($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -1156,6 +1166,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return int Number of messages, False on error
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function countUnseen($mailbox)
|
|
|
|
|
{
|
|
|
|
@ -1186,6 +1197,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param array $items Client identification information key/value hash
|
|
|
|
|
*
|
|
|
|
|
* @return array Server identification information key/value hash
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.6
|
|
|
|
|
*/
|
|
|
|
|
function id($items=array())
|
|
|
|
@ -1217,37 +1229,6 @@ class rcube_imap_generic
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Executes ENABLE command (RFC5161)
|
|
|
|
|
*
|
|
|
|
|
* @param mixed $extension Extension name to enable (or array of names)
|
|
|
|
|
*
|
|
|
|
|
* @return array|bool List of enabled extensions, False on error
|
|
|
|
|
* @since 0.6
|
|
|
|
|
*/
|
|
|
|
|
function enable($extension)
|
|
|
|
|
{
|
|
|
|
|
if (empty($extension))
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
if (!$this->hasCapability('ENABLE'))
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
if (!is_array($extension))
|
|
|
|
|
$extension = array($extension);
|
|
|
|
|
|
|
|
|
|
list($code, $response) = $this->execute('ENABLE', $extension);
|
|
|
|
|
|
|
|
|
|
if ($code == self::ERROR_OK && preg_match('/\* ENABLED /i', $response)) {
|
|
|
|
|
$response = substr($response, 10); // remove prefix "* ENABLED "
|
|
|
|
|
$result = (array) $this->tokenizeResponse($response);
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function sort($mailbox, $field, $add='', $is_uid=FALSE, $encoding = 'US-ASCII')
|
|
|
|
|
{
|
|
|
|
|
$field = strtoupper($field);
|
|
|
|
@ -1485,6 +1466,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param int $uid Message unique identifier (UID)
|
|
|
|
|
*
|
|
|
|
|
* @return int Message sequence identifier
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function UID2ID($mailbox, $uid)
|
|
|
|
|
{
|
|
|
|
@ -1504,6 +1486,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param int $uid Message sequence identifier
|
|
|
|
|
*
|
|
|
|
|
* @return int Message unique identifier
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function ID2UID($mailbox, $id)
|
|
|
|
|
{
|
|
|
|
@ -2127,6 +2110,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return array List of mailboxes or hash of options if $status_opts argument
|
|
|
|
|
* is non-empty.
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function listMailboxes($ref, $mailbox, $status_opts=array(), $select_opts=array())
|
|
|
|
|
{
|
|
|
|
@ -2142,6 +2126,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return array List of mailboxes or hash of options if $status_opts argument
|
|
|
|
|
* is non-empty.
|
|
|
|
|
* @access public
|
|
|
|
|
*/
|
|
|
|
|
function listSubscribed($ref, $mailbox, $status_opts=array())
|
|
|
|
|
{
|
|
|
|
@ -2161,6 +2146,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return array List of mailboxes or hash of options if $status_ops argument
|
|
|
|
|
* is non-empty.
|
|
|
|
|
* @access private
|
|
|
|
|
*/
|
|
|
|
|
private function _listMailboxes($ref, $mailbox, $subscribed=false,
|
|
|
|
|
$status_opts=array(), $select_opts=array())
|
|
|
|
@ -2668,6 +2654,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on failure
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function setACL($mailbox, $user, $acl)
|
|
|
|
@ -2691,6 +2678,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on failure
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function deleteACL($mailbox, $user)
|
|
|
|
@ -2708,6 +2696,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return array User-rights array on success, NULL on error
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function getACL($mailbox)
|
|
|
|
@ -2748,6 +2737,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $user User name
|
|
|
|
|
*
|
|
|
|
|
* @return array List of user rights
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function listRights($mailbox, $user)
|
|
|
|
@ -2779,6 +2769,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param string $mailbox Mailbox name
|
|
|
|
|
*
|
|
|
|
|
* @return array MYRIGHTS response on success, NULL on error
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function myRights($mailbox)
|
|
|
|
@ -2805,6 +2796,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param array $entries Entry-value array (use NULL value as NIL)
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on failure
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function setMetadata($mailbox, $entries)
|
|
|
|
@ -2834,6 +2826,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on failure
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function deleteMetadata($mailbox, $entries)
|
|
|
|
@ -2863,6 +2856,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return array GETMETADATA result on success, NULL on error
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function getMetadata($mailbox, $entries, $options=array())
|
|
|
|
@ -2954,6 +2948,7 @@ class rcube_imap_generic
|
|
|
|
|
* three elements: entry name, attribute name, value
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on failure
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function setAnnotation($mailbox, $data)
|
|
|
|
@ -2985,6 +2980,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return boolean True on success, False on failure
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function deleteAnnotation($mailbox, $data)
|
|
|
|
@ -3006,6 +3002,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @return array Annotations result on success, NULL on error
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function getAnnotation($mailbox, $entries, $attribs)
|
|
|
|
@ -3093,6 +3090,7 @@ class rcube_imap_generic
|
|
|
|
|
* Creates next command identifier (tag)
|
|
|
|
|
*
|
|
|
|
|
* @return string Command identifier
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function nextTag()
|
|
|
|
@ -3111,6 +3109,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param int $options Execution options
|
|
|
|
|
*
|
|
|
|
|
* @return mixed Response code or list of response code and data
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
function execute($command, $arguments=array(), $options=0)
|
|
|
|
@ -3168,6 +3167,7 @@ class rcube_imap_generic
|
|
|
|
|
* @param int $num Number of tokens to return
|
|
|
|
|
*
|
|
|
|
|
* @return mixed Tokens array or string if $num=1
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-beta
|
|
|
|
|
*/
|
|
|
|
|
static function tokenizeResponse(&$str, $num=0)
|
|
|
|
@ -3342,6 +3342,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @param boolean $debug New value for the debugging flag.
|
|
|
|
|
*
|
|
|
|
|
* @access public
|
|
|
|
|
* @since 0.5-stable
|
|
|
|
|
*/
|
|
|
|
|
function setDebug($debug, $handler = null)
|
|
|
|
@ -3355,6 +3356,7 @@ class rcube_imap_generic
|
|
|
|
|
*
|
|
|
|
|
* @param string $message Debug mesage text.
|
|
|
|
|
*
|
|
|
|
|
* @access private
|
|
|
|
|
* @since 0.5-stable
|
|
|
|
|
*/
|
|
|
|
|
private function debug($message)
|
|
|
|
|