From: Michael M Slusarz Date: Thu, 22 Apr 2010 16:54:48 +0000 (-0600) Subject: Fallback to STATUS if LIST-STATUS doesn't work properly X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=d99654f4b7d0519cbe1936f52a5229fbf5e683e1;p=horde.git Fallback to STATUS if LIST-STATUS doesn't work properly --- diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php index a07da1d60..fc6304c7b 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php @@ -1122,17 +1122,23 @@ abstract class Horde_Imap_Client_Base public function statusMultiple($mailboxes, $flags = Horde_Imap_Client::STATUS_ALL) { - $ret = array(); + $ret = null; if ($this->queryCapability('LIST-STATUS')) { try { + $ret = array(); foreach ($this->listMailboxes($mailboxes, Horde_Imap_Client::MBOX_ALL, array('status' => $flags)) as $val) { if (isset($val['status'])) { $ret[$val['mailbox']] = $val['status']; } } - } catch (Horde_Imap_Client_Exception $e) {} - } else { + } catch (Horde_Imap_Client_Exception $e) { + $ret = null; + } + } + + if (is_null($ret)) { + $ret = array(); foreach ($mailboxes as $val) { try { $ret[$val] = $this->status($val, $flags);