From c17dc6aa31aaa6e7f61bd25993be55354e428996 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 20 Sep 2008 13:21:15 -0400
Subject: [PATCH] #1485385: fix missing close form tag

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

diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index 750b33b..8e2a279 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -20,7 +20,8 @@
 */
 
 $a_user_prefs = array(
-  'timezone'     => isset($_POST['_timezone']) ? floatval($_POST['_timezone']) : $CONFIG['timezone'],
+  'language'     => isset($_POST['_language']) ? get_input_value('_language', RCUBE_INPUT_POST) : $CONFIG['language'],
+  'timezone'     => isset($_POST['_timezone']) ? (is_numeric($_POST['_timezone']) ? floatval($_POST['_timezone']) : get_input_value('_timezone', RCUBE_INPUT_POST)) : $CONFIG['timezone'],
   'dst_active'   => isset($_POST['_dst_active']) ? TRUE : FALSE,
   'pagesize'     => is_numeric($_POST['_pagesize']) ? max(2, intval($_POST['_pagesize'])) : $CONFIG['pagesize'],
   'prettydate'   => isset($_POST['_pretty_date']) ? TRUE : FALSE,
@@ -36,16 +37,32 @@
   'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0,
   'mdn_requests' => isset($_POST['_mdn_requests']) ? intval($_POST['_mdn_requests']) : 0,
   'skin' => isset($_POST['_skin']) ? get_input_value('_skin', RCUBE_INPUT_POST) : $CONFIG['skin'],
+  'drafts_mbox' => get_input_value('_drafts_mbox', RCUBE_INPUT_POST),
+  'sent_mbox' => get_input_value('_sent_mbox', RCUBE_INPUT_POST),
+  'junk_mbox' => get_input_value('_junk_mbox', RCUBE_INPUT_POST),
+  'trash_mbox' => get_input_value('_trash_mbox', RCUBE_INPUT_POST),
   );
 
 // don't override these parameters
 foreach ((array)$CONFIG['dont_override'] as $p)
   $a_user_prefs[$p] = $CONFIG[$p];
 
+// special handling for 'default_imap_folders'
+if (in_array('default_imap_folders', (array)$CONFIG['dont_override'])) {
+  foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p)
+    $a_user_prefs[$p] = $CONFIG[$p];
+}
+else {
+  $a_user_prefs['default_imap_folders'] = array('INBOX');
+  foreach (array('drafts_mbox','sent_mbox','junk_mbox','trash_mbox') as $p) {
+    if ($a_user_prefs[$p])
+      $a_user_prefs['default_imap_folders'][] = $a_user_prefs[$p];
+  }
+}
 
 // switch UI language
 if (isset($_POST['_language'])) {
-  $RCMAIL->load_language(get_input_value('_language', RCUBE_INPUT_POST));
+  $RCMAIL->load_language($a_user_prefs['language']);
 }
 
 // switch skin

--
Gitblit v1.9.1