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