diff options
| author | roundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2006-04-13 18:23:48 +0000 |
|---|---|---|
| committer | roundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2006-04-13 18:23:48 +0000 |
| commit | db0f327120453b3886a6b2353ed3cb2db4a10c26 (patch) | |
| tree | b60c35724e64c8405679f9b0503a9222ec0e0190 /roundcubemail/program/include | |
| parent | c07a04591f3f55f83ca23b2fde0317b692dc1e24 (diff) | |
Added sort order saving patch by Jacob Brunson
git-svn-id: https://svn.roundcube.net/trunk@194 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
| -rw-r--r-- | roundcubemail/program/include/main.inc | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/roundcubemail/program/include/main.inc b/roundcubemail/program/include/main.inc index a3a391359..c0dd71ecb 100644 --- a/roundcubemail/program/include/main.inc +++ b/roundcubemail/program/include/main.inc @@ -219,10 +219,19 @@ function rcmail_shutdown() // destroy session data and remove cookie function rcmail_kill_session() { -/* $sess_name = session_name(); - if (isset($_COOKIE[$sess_name])) - setcookie($sess_name, '', time()-42000, '/'); -*/ + // save user preferences + $a_user_prefs = $_SESSION['user_prefs']; + if (!is_array($a_user_prefs)) + $a_user_prefs = array(); + + if ((isset($_SESSION['sort_col']) && $_SESSION['sort_col']!=$a_user_prefs['message_sort_col']) || + (isset($_SESSION['sort_order']) && $_SESSION['sort_order']!=$a_user_prefs['message_sort_order'])) + { + $a_user_prefs['message_sort_col'] = $_SESSION['sort_col']; + $a_user_prefs['message_sort_order'] = $_SESSION['sort_order']; + rcmail_save_user_prefs($a_user_prefs); + } + $_SESSION = array(); session_destroy(); } @@ -617,6 +626,29 @@ function rcmail_user2email($user) } +function rcmail_save_user_prefs($a_user_prefs) + { + global $DB, $CONFIG, $sess_user_lang; + + $DB->query("UPDATE ".get_table_name('users')." + SET preferences=?, + language=? + WHERE user_id=?", + serialize($a_user_prefs), + $sess_user_lang, + $_SESSION['user_id']); + + if ($DB->affected_rows()) + { + $_SESSION['user_prefs'] = $a_user_prefs; + $CONFIG = array_merge($CONFIG, $a_user_prefs); + return TRUE; + } + + return FALSE; + } + + // overwrite action variable function rcmail_overwrite_action($action) { |
