summaryrefslogtreecommitdiff
path: root/program/include/rcube_imap.php
diff options
context:
space:
mode:
Diffstat (limited to 'program/include/rcube_imap.php')
-rw-r--r--program/include/rcube_imap.php7
1 files changed, 5 insertions, 2 deletions
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index f809288eb..3ba058988 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -3535,6 +3535,7 @@ class rcube_imap
$options['rights'] = $acl && !$options['is_root'] ? (array)$this->my_rights($mailbox) : array();
$options['special'] = in_array($mailbox, $this->default_folders);
+ // Set 'noselect' and 'norename' flags
if (is_array($options['options'])) {
foreach ($options['options'] as $opt) {
$opt = strtolower($opt);
@@ -3548,12 +3549,14 @@ class rcube_imap
}
if (!empty($options['rights'])) {
- $options['norename'] = !in_array('x', $options['rights']) &&
- (!in_array('c', $options['rights']) || !in_array('d', $options['rights']));
+ $options['norename'] = !in_array('x', $options['rights']);
if (!$options['noselect']) {
$options['noselect'] = !in_array('r', $options['rights']);
}
}
+ else {
+ $options['norename'] = $options['is_root'] || $options['namespace'] != 'personal';
+ }
return $options;
}