alecpl
2011-08-19 dd6a47c24a5546dc40c083700af16efcfe6154cf
- Fix parent folder ACL checking in some cases


1 files modified
22 ■■■■ changed files
program/steps/settings/save_folder.inc 22 ●●●● patch | view | raw | blame | history
program/steps/settings/save_folder.inc
@@ -55,16 +55,6 @@
    }
}
// Check access rights to the parent folder
if (!$error && strlen($path)) {
    $parent_opts = $RCMAIL->imap->mailbox_info($path);
    if ($parent_opts['namespace'] != 'personal'
        && (empty($parent_opts['rights']) || !preg_match('/[ck]/', implode($parent_opts)))
    ) {
        $error = rcube_label('parentnotwritable');
    }
}
if ($error) {
    $OUTPUT->command('display_message', $error, 'error');
}
@@ -78,7 +68,19 @@
    else {
        $name_imap = $RCMAIL->imap->mod_mailbox($name_imap, 'in');
    }
}
// Check access rights to the parent folder
if (!$error && strlen($path) && (!strlen($old_imap) || $old_imap != $name_imap)) {
    $parent_opts = $RCMAIL->imap->mailbox_info($path);
    if ($parent_opts['namespace'] != 'personal'
        && (empty($parent_opts['rights']) || !preg_match('/[ck]/', implode($parent_opts)))
    ) {
        $error = rcube_label('parentnotwritable');
    }
}
if (!$error) {
    $folder['name']     = $name_imap;
    $folder['oldname']  = $old_imap;
    $folder['class']    = '';