summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcmail.php7
-rw-r--r--program/steps/mail/list.inc7
3 files changed, 6 insertions, 9 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 9eba18720..8658dc6d2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,6 +10,7 @@ CHANGELOG RoundCube Webmail
- Also capture backspace key in list mode (#1484566)
- Allow application/pgp parts to be displayed (#1484753)
- Correctly handle options in mailto-links (#1485228)
+- Immediately save sort_col/sort_order in user prefs (#1485265)
2008/09/04 (alec)
----------
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
{