From 64f20dae0cdd3a53114053e3520eb30b71bfa42c Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 31 Jul 2008 17:30:25 -0400
Subject: [PATCH] Show real names in folder drop-down + rebuild default_imap_folders property when saving prefs

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

diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index c9c2fd3..3bccffa 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -25,27 +25,48 @@
   'pagesize'     => is_numeric($_POST['_pagesize']) ? max(2, intval($_POST['_pagesize'])) : $CONFIG['pagesize'],
   'prettydate'   => isset($_POST['_pretty_date']) ? TRUE : FALSE,
   'prefer_html'  => isset($_POST['_prefer_html']) ? TRUE : FALSE,
+  'addrbook_show_images' => isset($_POST['_addrbook_show_images']) ? TRUE : FALSE,
   'htmleditor'   => isset($_POST['_htmleditor']) ? TRUE : FALSE,
+  'inline_images'   => isset($_POST['_inline_images']) ? TRUE : FALSE,
   'preview_pane' => isset($_POST['_preview_pane']) ? TRUE : FALSE,
   'read_when_deleted' => isset($_POST['_read_when_deleted']) ? TRUE : FALSE,
+  'flag_for_deletion' => isset($_POST['_flag_for_deletion']) ? TRUE : FALSE,
   'logout_purge' => isset($_POST['_logout_purge']) ? TRUE : FALSE,
   'logout_expunge' => isset($_POST['_logout_expunge']) ? TRUE : FALSE,
   'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0,
   'mdn_requests' => isset($_POST['_mdn_requests']) ? intval($_POST['_mdn_requests']) : 0,
-  'message_sort_col' => isset($_POST['_message_sort_col']) ? get_input_value('_message_sort_col', RCUBE_INPUT_POST) : 'date',
-  'message_sort_order' => isset($_POST['_message_sort_order']) ? get_input_value('_message_sort_order', RCUBE_INPUT_POST) : '',
+  '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));
 }
 
+// switch skin
+$OUTPUT->set_skin($a_user_prefs['skin']);
+
 // force min size
 if ($a_user_prefs['pagesize'] < 1)
   $a_user_prefs['pagesize'] = 10;

--
Gitblit v1.9.1