From 077cfdac2d979f177489495d6e6524377756f832 Mon Sep 17 00:00:00 2001 From: alecpl Date: Thu, 11 Aug 2011 08:32:04 +0000 Subject: - Added IMAP ENABLE (RFC5161) support - Removed deprecated @access comments --- CHANGELOG | 1 + program/include/rcube_imap_generic.php | 64 ++++++++++++++++------------------ 2 files changed, 32 insertions(+), 33 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 73d57fc91..1598b1338 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Added IMAP ENABLE (RFC5161) support - Add newlines between organization, department, jobtitle (#1488028) - Recalculate date when replying to a message and localize the cite header (#1487675) - Fix XSS vulnerability in UI messages (#1488030) diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php index e3c987cd3..85fb379fd 100644 --- a/program/include/rcube_imap_generic.php +++ b/program/include/rcube_imap_generic.php @@ -874,7 +874,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return boolean True on success, false on error - * @access public */ function select($mailbox) { @@ -929,7 +928,6 @@ 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()) @@ -983,7 +981,6 @@ 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) { @@ -1016,7 +1013,6 @@ class rcube_imap_generic * Executes CLOSE command * * @return boolean True on success, False on error - * @access public * @since 0.5 */ function close() @@ -1037,7 +1033,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return boolean True on success, False on error - * @access public */ function subscribe($mailbox) { @@ -1053,7 +1048,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return boolean True on success, False on error - * @access public */ function unsubscribe($mailbox) { @@ -1069,7 +1063,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return boolean True on success, False on error - * @access public */ function deleteFolder($mailbox) { @@ -1085,7 +1078,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return boolean True on success, False on error - * @access public */ function clearFolder($mailbox) { @@ -1110,7 +1102,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return int Number of messages, False on error - * @access public */ function countMessages($mailbox, $refresh = false) { @@ -1143,7 +1134,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return int Number of messages, False on error - * @access public */ function countRecent($mailbox) { @@ -1166,7 +1156,6 @@ class rcube_imap_generic * @param string $mailbox Mailbox name * * @return int Number of messages, False on error - * @access public */ function countUnseen($mailbox) { @@ -1197,7 +1186,6 @@ 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()) @@ -1229,6 +1217,37 @@ 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); @@ -1466,7 +1485,6 @@ class rcube_imap_generic * @param int $uid Message unique identifier (UID) * * @return int Message sequence identifier - * @access public */ function UID2ID($mailbox, $uid) { @@ -1486,7 +1504,6 @@ class rcube_imap_generic * @param int $uid Message sequence identifier * * @return int Message unique identifier - * @access public */ function ID2UID($mailbox, $id) { @@ -2110,7 +2127,6 @@ 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()) { @@ -2126,7 +2142,6 @@ 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()) { @@ -2146,7 +2161,6 @@ 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()) @@ -2654,7 +2668,6 @@ class rcube_imap_generic * * @return boolean True on success, False on failure * - * @access public * @since 0.5-beta */ function setACL($mailbox, $user, $acl) @@ -2678,7 +2691,6 @@ class rcube_imap_generic * * @return boolean True on success, False on failure * - * @access public * @since 0.5-beta */ function deleteACL($mailbox, $user) @@ -2696,7 +2708,6 @@ 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) @@ -2737,7 +2748,6 @@ 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) @@ -2769,7 +2779,6 @@ 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) @@ -2796,7 +2805,6 @@ 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) @@ -2826,7 +2834,6 @@ class rcube_imap_generic * * @return boolean True on success, False on failure * - * @access public * @since 0.5-beta */ function deleteMetadata($mailbox, $entries) @@ -2856,7 +2863,6 @@ 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()) @@ -2948,7 +2954,6 @@ 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) @@ -2980,7 +2985,6 @@ class rcube_imap_generic * * @return boolean True on success, False on failure * - * @access public * @since 0.5-beta */ function deleteAnnotation($mailbox, $data) @@ -3002,7 +3006,6 @@ class rcube_imap_generic * * @return array Annotations result on success, NULL on error * - * @access public * @since 0.5-beta */ function getAnnotation($mailbox, $entries, $attribs) @@ -3090,7 +3093,6 @@ class rcube_imap_generic * Creates next command identifier (tag) * * @return string Command identifier - * @access public * @since 0.5-beta */ function nextTag() @@ -3109,7 +3111,6 @@ 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) @@ -3167,7 +3168,6 @@ 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,7 +3342,6 @@ class rcube_imap_generic * * @param boolean $debug New value for the debugging flag. * - * @access public * @since 0.5-stable */ function setDebug($debug, $handler = null) @@ -3356,7 +3355,6 @@ class rcube_imap_generic * * @param string $message Debug mesage text. * - * @access private * @since 0.5-stable */ private function debug($message) -- cgit v1.2.3