summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2011-06-27 07:09:15 +0000
committeralecpl <alec@alec.pl>2011-06-27 07:09:15 +0000
commit68070e448c6c8cd09faa75fd70ff11bfea764cc1 (patch)
tree72003d24e5ed2fcf588be2d999ac56b9f2ba5a68
parent87a2f686f0c0477a33ffe563321cc3eda89e021f (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.php23
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;
+ }
}
}
}