summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2008-09-05 11:46:17 +0000
committerthomascube <thomas@roundcube.net>2008-09-05 11:46:17 +0000
commit94e4be534b334a58800d11895dc862908311a94a (patch)
treef6b492caea0e67647211a3bb1d67e82d1b2bf0d4 /program
parent5f314dafe9798b38c30301417cdfb70dfaca0fae (diff)
Immediately save sort_col/sort_order in user prefs (#1485265)
Diffstat (limited to 'program')
-rw-r--r--program/include/rcmail.php7
-rw-r--r--program/steps/mail/list.inc7
2 files changed, 5 insertions, 9 deletions
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 243b6f835..c10f83559 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -750,13 +750,6 @@ class rcmail
*/
public function kill_session()
{
- $user_prefs = $this->user->get_prefs();
-
- if ((isset($_SESSION['sort_col']) && $_SESSION['sort_col'] != $user_prefs['message_sort_col']) ||
- (isset($_SESSION['sort_order']) && $_SESSION['sort_order'] != $user_prefs['message_sort_order'])) {
- $this->user->save_prefs(array('message_sort_col' => $_SESSION['sort_col'], 'message_sort_order' => $_SESSION['sort_order']));
- }
-
$_SESSION = array('language' => $this->user->language, 'auth_time' => time(), 'temp' => true);
setcookie('sessauth', '-del-', time() - 60);
$this->user->reset();
diff --git a/program/steps/mail/list.inc b/program/steps/mail/list.inc
index 201437190..a868f9cc6 100644
--- a/program/steps/mail/list.inc
+++ b/program/steps/mail/list.inc
@@ -26,8 +26,11 @@ if ($sort = get_input_value('_sort', RCUBE_INPUT_GET))
list($sort_col, $sort_order) = explode('_', $sort);
// set session vars for sort (so next page and task switch know how to sort)
- $_SESSION['sort_col'] = $sort_col;
- $_SESSION['sort_order'] = $sort_order;
+ $save_arr = array();
+ $_SESSION['sort_col'] = $save_arr['message_sort_col'] = $sort_col;
+ $_SESSION['sort_order'] = $save_arr['message_sort_order'] = $sort_order;
+
+ $RCMAIL->user->save_prefs($save_arr);
}
else
{