From ced34cb15e095836767971aa4d27b141fb1d7ec9 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 18 Oct 2014 08:47:54 -0400
Subject: [PATCH] Merge pull request #230 from bytesatwork-xx/master

---
 program/steps/settings/save_prefs.inc |   29 ++++++++++++-----------------
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index f71eee3..f0ce9c9 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -90,6 +90,7 @@
         'default_font_size'  => rcube_utils::get_input_value('_default_font_size', rcube_utils::INPUT_POST),
         'reply_all_mode'     => intval($_POST['_reply_all_mode']),
         'forward_attachment' => !empty($_POST['_forward_attachment']),
+        'compose_save_localstorage' => intval($_POST['_compose_save_localstorage']),
     );
 
     break;
@@ -121,11 +122,11 @@
 case 'folders':
     $a_user_prefs = array(
         'show_real_foldernames' => isset($_POST['_show_real_foldernames']) ? true : false,
-        'drafts_mbox' => rcube_utils::get_input_value('_drafts_mbox', rcube_utils::INPUT_POST, true),
-        'sent_mbox'   => rcube_utils::get_input_value('_sent_mbox', rcube_utils::INPUT_POST, true),
-        'junk_mbox'   => rcube_utils::get_input_value('_junk_mbox', rcube_utils::INPUT_POST, true),
-        'trash_mbox'  => rcube_utils::get_input_value('_trash_mbox', rcube_utils::INPUT_POST, true),
     );
+
+    foreach (rcube_storage::$folder_types as $type) {
+        $a_user_prefs[$type . '_mbox'] = rcube_utils::get_input_value('_' . $type . '_mbox', rcube_utils::INPUT_POST, true);
+    };
 
     break;
 }
@@ -191,20 +192,14 @@
     break;
 
 case 'folders':
-    // special handling for 'default_folders'
-    if (in_array('default_folders', (array)$CONFIG['dont_override'])) {
-        foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
-            $a_user_prefs[$p] = $CONFIG[$p];
-        }
+    $storage  = $RCMAIL->get_storage();
+    $specials = array();
+
+    foreach (rcube_storage::$folder_types as $type) {
+        $specials[$type] = $a_user_prefs[$type . '_mbox'];
     }
-    else {
-        $a_user_prefs['default_folders'] = array('INBOX');
-        foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
-            if ($a_user_prefs[$p]) {
-                $a_user_prefs['default_folders'][] = $a_user_prefs[$p];
-            }
-        }
-    }
+
+    $storage->set_special_folders($specials);
 
     break;
 }

--
Gitblit v1.9.1