diff options
author | alecpl <alec@alec.pl> | 2011-06-27 07:09:15 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-06-27 07:09:15 +0000 |
commit | 68070e448c6c8cd09faa75fd70ff11bfea764cc1 (patch) | |
tree | 72003d24e5ed2fcf588be2d999ac56b9f2ba5a68 | |
parent | 87a2f686f0c0477a33ffe563321cc3eda89e021f (diff) |
- Fix PHP warning in mailbox_info(),
- Set namespace/delimiter in constructor (this way some methods could be used before connecting to IMAP server)
-rw-r--r-- | program/include/rcube_imap.php | 23 |
1 files changed, 13 insertions, 10 deletions
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; + } } } } |