From 68070e448c6c8cd09faa75fd70ff11bfea764cc1 Mon Sep 17 00:00:00 2001 From: alecpl Date: Mon, 27 Jun 2011 07:09:15 +0000 Subject: - Fix PHP warning in mailbox_info(), - Set namespace/delimiter in constructor (this way some methods could be used before connecting to IMAP server) --- program/include/rcube_imap.php | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'program/include') diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index e1da538da..c2a4a0dc2 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -121,6 +121,13 @@ class rcube_imap function __construct() { $this->conn = new rcube_imap_generic(); + + // Set namespace and delimiter from session, + // so some methods would work before connection + if (isset($_SESSION['imap_namespace'])) + $this->namespace = $_SESSION['imap_namespace']; + if (isset($_SESSION['imap_delimiter'])) + $this->delimiter = $_SESSION['imap_delimiter']; } @@ -552,12 +559,6 @@ class rcube_imap return; } - if (isset($_SESSION['imap_namespace']) && isset($_SESSION['imap_delimiter'])) { - $this->namespace = $_SESSION['imap_namespace']; - $this->delimiter = $_SESSION['imap_delimiter']; - return; - } - $config = rcmail::get_instance()->config; $imap_personal = $config->get('imap_ns_personal'); $imap_other = $config->get('imap_ns_other'); @@ -3505,10 +3506,12 @@ class rcube_imap if (!empty($namespace)) { $mbox = $mailbox . $this->delimiter; foreach ($namespace as $ns) { - foreach ($ns as $item) { - if ($item[0] === $mbox) { - $options['is_root'] = true; - break; + if (!empty($ns)) { + foreach ($ns as $item) { + if ($item[0] === $mbox) { + $options['is_root'] = true; + break; + } } } } -- cgit v1.2.3