From f5121b5639992fc9e51fd551bac2254429b638fa Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Sat, 04 Mar 2006 08:43:25 -0500 Subject: [PATCH] Updated localizations --- program/include/session.inc | 22 ++++++++++++++++------ 1 files changed, 16 insertions(+), 6 deletions(-) diff --git a/program/include/session.inc b/program/include/session.inc index ccca0a9..dc362f8 100644 --- a/program/include/session.inc +++ b/program/include/session.inc @@ -45,7 +45,7 @@ if ($sql_arr = $DB->fetch_assoc($sql_result)) { - $SESS_CHANGED = $sql_arr['changed']; + $SESS_CHANGED = mktime(); //$sql_arr['changed']; if (strlen($sql_arr['vars'])) return $sql_arr['vars']; @@ -59,7 +59,7 @@ function sess_write($key, $vars) { global $DB; - + $sql_result = $DB->query("SELECT 1 FROM ".get_table_name('session')." WHERE sess_id=?", @@ -70,7 +70,7 @@ session_decode($vars); $DB->query("UPDATE ".get_table_name('session')." SET vars=?, - changed=NOW() + changed=now() WHERE sess_id=?", $vars, $key); @@ -79,10 +79,12 @@ { $DB->query("INSERT INTO ".get_table_name('session')." (sess_id, vars, ip, created, changed) - VALUES (?, ?, ?, NOW(), NOW())", + VALUES (?, ?, ?, now(), now())", $key, $vars, $_SERVER['REMOTE_ADDR']); + + } return TRUE; @@ -102,7 +104,8 @@ $DB->query("DELETE FROM ".get_table_name('session')." WHERE sess_id=?", $key); - + + rcmail_clear_session_temp($key); return TRUE; } @@ -115,7 +118,7 @@ // get all expired sessions $sql_result = $DB->query("SELECT sess_id FROM ".get_table_name('session')." - WHERE ".$DB->unixtimestamp('NOW()')."-".$DB->unixtimestamp('created')." > ?", + WHERE ".$DB->unixtimestamp('now()')."-".$DB->unixtimestamp('changed')." > ?", $maxlifetime); $a_exp_sessions = array(); @@ -134,6 +137,13 @@ WHERE sess_id IN ('".join("','", $a_exp_sessions)."')"); } + // remove session specific temp dirs + foreach ($a_exp_sessions as $key) + rcmail_clear_session_temp($key); + + // also run message cache GC + rcmail_message_cache_gc(); + return TRUE; } -- Gitblit v1.9.1