summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-08-19 08:00:09 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-08-19 08:00:09 +0000
commitd1bd032e6032d5768a1603ff73cd8613027874cf (patch)
tree358ec3daffec35357ea59a18c7017e750d0666f8
parent28130cdeb2aa48a315063c1e41d9a428f6a3f321 (diff)
- Use internal cache for mailbox_info() result
git-svn-id: https://svn.roundcube.net/trunk@5095 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_imap.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php
index 0e28b083a..6a35af0a8 100644
--- a/roundcubemail/program/include/rcube_imap.php
+++ b/roundcubemail/program/include/rcube_imap.php
@@ -3513,6 +3513,10 @@ class rcube_imap
*/
function mailbox_info($mailbox)
{
+ if ($this->icache['options'] && $this->icache['options']['name'] == $mailbox) {
+ return $this->icache['options'];
+ }
+
$acl = $this->get_capability('ACL');
$namespace = $this->get_namespace();
$options = array();
@@ -3574,6 +3578,8 @@ class rcube_imap
$options['norename'] = $options['is_root'] || $options['namespace'] != 'personal';
}
+ $this->icache['options'] = $options;
+
return $options;
}