| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
- $Id: save_prefs.inc 543 2007-04-28 18:07:12Z thomasb $
+ $Id: save_prefs.inc 1403 2008-05-19 08:09:38Z alec $
*/
$a_user_prefs = array(
'timezone' => isset($_POST['_timezone']) ? floatval($_POST['_timezone']) : $CONFIG['timezone'],
'dst_active' => isset($_POST['_dst_active']) ? TRUE : FALSE,
- 'pagesize' => is_numeric($_POST['_pagesize']) ? intval($_POST['_pagesize']) : $CONFIG['pagesize'],
+ '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,
'htmleditor' => isset($_POST['_htmleditor']) ? TRUE : FALSE,
'preview_pane' => isset($_POST['_preview_pane']) ? TRUE : FALSE,
- 'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0
+ '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,
);
// don't override these parameters
// switch UI language
-if (isset($_POST['_language']))
- {
- $sess_user_lang = $_SESSION['user_lang'] = get_input_value('_language', RCUBE_INPUT_POST);
- rcmail_set_locale($sess_user_lang);
- }
+if (isset($_POST['_language'])) {
+ $RCMAIL->load_language(get_input_value('_language', RCUBE_INPUT_POST));
+}
-if (rcmail_save_user_prefs($a_user_prefs))
+// force min size
+if ($a_user_prefs['pagesize'] < 1)
+ $a_user_prefs['pagesize'] = 10;
+
+if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['pagesize'] > $CONFIG['max_pagesize']))
+ $a_user_prefs['pagesize'] = (int) $CONFIG['max_pagesize'];
+
+if ($USER->save_prefs($a_user_prefs))
$OUTPUT->show_message('successfullysaved', 'confirmation');