Fix "Illegal offset type" error (#1489985)

pull/203/head
Aleksander Machniak 10 years ago
parent 774028db3b
commit e0492d213b

@ -3298,12 +3298,14 @@ class rcube_imap extends rcube_storage
// request \Subscribed flag in LIST response as performance improvement for folder_exists()
$folders = $this->conn->listMailboxes('', '*', array('SUBSCRIBED'), array('SPECIAL-USE'));
foreach ($folders as $folder) {
if ($flags = $this->conn->data['LIST'][$folder]) {
foreach ($types as $type) {
if (in_array($type, $flags)) {
$type = strtolower(substr($type, 1));
$special[$type] = $folder;
if (!empty($folders)) {
foreach ($folders as $folder) {
if ($flags = $this->conn->data['LIST'][$folder]) {
foreach ($types as $type) {
if (in_array($type, $flags)) {
$type = strtolower(substr($type, 1));
$special[$type] = $folder;
}
}
}
}

@ -1296,8 +1296,8 @@ class rcube_imap_generic
* @param array $return_opts (see self::_listMailboxes)
* @param array $select_opts (see self::_listMailboxes)
*
* @return array List of mailboxes or hash of options if $return_opts argument
* is non-empty.
* @return array|bool List of mailboxes or hash of options if STATUS/MYROGHTS response
* is requested, False on error.
*/
function listMailboxes($ref, $mailbox, $return_opts=array(), $select_opts=array())
{
@ -1311,8 +1311,8 @@ class rcube_imap_generic
* @param string $mailbox Mailbox name
* @param array $return_opts (see self::_listMailboxes)
*
* @return array List of mailboxes or hash of options if $return_opts argument
* is non-empty.
* @return array|bool List of mailboxes or hash of options if STATUS/MYROGHTS response
* is requested, False on error.
*/
function listSubscribed($ref, $mailbox, $return_opts=array())
{
@ -1332,8 +1332,8 @@ class rcube_imap_generic
* Possible: SUBSCRIBED, RECURSIVEMATCH, REMOTE,
* SPECIAL-USE (RFC6154)
*
* @return array List of mailboxes or hash of options if $status_ops argument
* is non-empty.
* @return array|bool List of mailboxes or hash of options if STATUS/MYROGHTS response
* is requested, False on error.
*/
protected function _listMailboxes($ref, $mailbox, $subscribed=false,
$return_opts=array(), $select_opts=array())
@ -1355,7 +1355,9 @@ class rcube_imap_generic
$args[] = $this->escape($mailbox);
if (!empty($return_opts) && $this->getCapability('LIST-EXTENDED')) {
$rets = array_intersect($return_opts, array('SUBSCRIBED', 'CHILDREN'));
$ext_opts = array('SUBSCRIBED', 'CHILDREN');
$rets = array_intersect($return_opts, $ext_opts);
$return_opts = array_diff($return_opts, $rets);
}
if (!empty($return_opts) && $this->getCapability('LIST-STATUS')) {

Loading…
Cancel
Save