From d08333ea578e3b6c6ab42bed05f808a2b7b93cf1 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Thu, 05 May 2011 08:46:54 -0400 Subject: [PATCH] - Fix problems with subfolders of INBOX folder on some IMAP servers (#1487725) - Fix handling of folders that doesn't belong to any namespace (#1487637) --- program/steps/settings/save_folder.inc | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/program/steps/settings/save_folder.inc b/program/steps/settings/save_folder.inc index d8ba87b..c112096 100644 --- a/program/steps/settings/save_folder.inc +++ b/program/steps/settings/save_folder.inc @@ -34,12 +34,10 @@ // $path is in UTF7-IMAP already $delimiter = $IMAP->get_hierarchy_delimiter(); -$special = (strlen($old_imap) && in_array($old_imap, (array) $RCMAIL->config->get('default_imap_folders'))); -$protected = ($special && $RCMAIL->config->get('protect_default_folders')); - +$options = strlen($old_imap) ? rcube_folder_options($old_imap) : array(); // Folder name checks -if ($protected) { +if ($options['protected'] || $options['norename']) { } else if (!strlen($name)) { $error = rcube_label('cannotbeempty'); @@ -61,11 +59,14 @@ $OUTPUT->command('display_message', $error, 'error'); } else { - if ($protected) { + if ($options['protected'] || $options['norename']) { $name_imap = $old_imap; } else if (strlen($path)) { $name_imap = $path . $delimiter . $name_imap; + } + else { + $name_imap = $RCMAIL->imap->mod_mailbox($name, 'in'); } $folder['name'] = $name_imap; @@ -141,7 +142,6 @@ // In case of name change update names of childrens in settings if ($rename) { - $delimiter = $RCMAIL->imap->get_hierarchy_delimiter(); $oldprefix = '/^' . preg_quote($folder['oldname'] . $delimiter, '/') . '/'; foreach ($a_threaded as $key => $val) { if ($key == $folder['oldname']) { -- Gitblit v1.9.1