From d99654f4b7d0519cbe1936f52a5229fbf5e683e1 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 22 Apr 2010 10:54:48 -0600 Subject: [PATCH] Fallback to STATUS if LIST-STATUS doesn't work properly --- framework/Imap_Client/lib/Horde/Imap/Client/Base.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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); -- 2.11.0