From 1cd36267a19a2b0accda66827dbdc05ec5ec77be Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 01 Aug 2011 03:58:30 -0400
Subject: [PATCH] - Improved detection of folder rename possibility and its handling

---
 program/steps/settings/edit_folder.inc |   40 +++++++++++++++++++---------------------
 1 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/program/steps/settings/edit_folder.inc b/program/steps/settings/edit_folder.inc
index c7f61fe..710c3ff 100644
--- a/program/steps/settings/edit_folder.inc
+++ b/program/steps/settings/edit_folder.inc
@@ -106,28 +106,26 @@
         ),
     );
 
-    if (strlen($path) || !strlen($mbox)) {
-        if (!empty($options) && ($options['norename'] || $options['namespace'] != 'personal')) {
-            // prevent user from moving folder
-            $hidden_path = new html_hiddenfield(array('name' => '_parent', 'value' => $path));
-            $form['props']['fieldsets']['location']['content']['name']['value'] .= $hidden_path->show();
-        }
-        else {
-            $selected = isset($_POST['_parent']) ? $_POST['_parent'] : $path_id;
-            $select = rcmail_mailbox_select(array(
-                'name'        => '_parent',
-                'noselection' => '---',
-                'realnames'   => false,
-                'maxlength'   => 150,
-                'unsubscribed' => true,
-                'exceptions' => array($mbox_imap),
-            ));
+    if (!empty($options) && ($options['norename'] || $options['protected'])) {
+        // prevent user from moving folder
+        $hidden_path = new html_hiddenfield(array('name' => '_parent', 'value' => $path));
+        $form['props']['fieldsets']['location']['content']['name']['value'] .= $hidden_path->show();
+    }
+    else {
+        $selected = isset($_POST['_parent']) ? $_POST['_parent'] : $path_id;
+        $select = rcmail_mailbox_select(array(
+            'name'        => '_parent',
+            'noselection' => '---',
+            'realnames'   => false,
+            'maxlength'   => 150,
+            'unsubscribed' => true,
+            'exceptions' => array($mbox_imap),
+        ));
 
-            $form['props']['fieldsets']['location']['content']['path'] = array(
-                'label' => rcube_label('parentfolder'),
-                'value' => $select->show($selected),
-            );
-        }
+        $form['props']['fieldsets']['location']['content']['path'] = array(
+            'label' => rcube_label('parentfolder'),
+            'value' => $select->show($selected),
+        );
     }
 
     // Settings

--
Gitblit v1.9.1