From 09c1a37be21f06903e04ad459471b2f6e24e448c Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 16 Apr 2008 14:50:40 -0400
Subject: [PATCH] - last change fix

---
 program/steps/settings/manage_folders.inc |   23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/program/steps/settings/manage_folders.inc b/program/steps/settings/manage_folders.inc
index 390c1e0..a00ff9f 100644
--- a/program/steps/settings/manage_folders.inc
+++ b/program/steps/settings/manage_folders.inc
@@ -29,7 +29,7 @@
     $IMAP->subscribe(array($mbox));
 
   if ($OUTPUT->ajax_call)
-    $OUTPUT->send('// subscribed');
+    $OUTPUT->remote_response('// subscribed');
   }
 
 // unsubscribe one or more mailboxes
@@ -39,7 +39,7 @@
     $IMAP->unsubscribe(array($mbox));
 
   if ($OUTPUT->ajax_call)
-    $OUTPUT->send('// unsubscribed');
+    $OUTPUT->remote_response('// unsubscribed');
   }
 
 // create a new mailbox
@@ -55,32 +55,27 @@
     $display_create = str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', substr_count($create, $delimiter)) . rcube_charset_convert($foldersplit[count($foldersplit)-1], 'UTF-7');
     $OUTPUT->command('add_folder_row', $create, $display_create);
     }
-  else if (!$create && $OUTPUT->ajax_call)
+  else if (!$create)
     {
     $OUTPUT->show_message('errorsaving', 'error');
     }
-  else if (!$create)
-    $OUTPUT->show_message('errorsaving', 'error');
-
-  $OUTPUT->send();
   }
 
 // rename a mailbox
 else if ($_action=='rename-folder')
   {
-  $a_mboxes = array_unique(array_merge($IMAP->list_mailboxes(), $IMAP->list_unsubscribed()));
-  $delimiter = $IMAP->get_hierarchy_delimiter();
-
   if (!empty($_POST['_folder_oldname']) && !empty($_POST['_folder_newname']))
     $rename = $IMAP->rename_mailbox(($oldname = get_input_value('_folder_oldname', RCUBE_INPUT_POST)), trim(get_input_value('_folder_newname', RCUBE_INPUT_POST, FALSE, 'UTF-7')));
     
   if ($rename && $OUTPUT->ajax_call)
     {
+    $a_mboxes = array_unique(array_merge($IMAP->list_mailboxes(), $IMAP->list_unsubscribed()));
     $delimiter = $IMAP->get_hierarchy_delimiter();
     $foldersplit = explode($delimiter, $rename);
     $level = count($foldersplit) - 1;
     $display_rename = str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $level) . rcube_charset_convert($foldersplit[$level], 'UTF-7');
     $OUTPUT->command('replace_folder_row', $oldname, $rename, $display_rename);
+
     foreach ($a_mboxes as $mbox)
       if (preg_match('/^'.preg_quote($oldname . $delimiter, '/').'/', $mbox))
         {
@@ -99,8 +94,6 @@
     }
   else if (!$rename)
     $OUTPUT->show_message('errorsaving', 'error');
-
-  $OUTPUT->send();
   }
 
 // delete an existing IMAP mailbox
@@ -126,14 +119,14 @@
       }
     $OUTPUT->show_message('folderdeleted', 'confirmation');
     }
-  else if ($OUTPUT->ajax_call)
+  else if (!$deleted)
     {
     $OUTPUT->show_message('errorsaving', 'error');
     }
-
-  $OUTPUT->send();
   }
 
+if ($OUTPUT->ajax_call)
+  $OUTPUT->send();
 
 
 // build table with all folders listed by server

--
Gitblit v1.9.1