From 3dc19d5fc8e13612d0f8cd85df391d7f2e232d06 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Sat, 06 Dec 2008 12:59:26 -0500 Subject: [PATCH] Move search filter drop-down closed to search box --- program/include/session.inc | 48 ++++++++++-------------------------------------- 1 files changed, 10 insertions(+), 38 deletions(-) diff --git a/program/include/session.inc b/program/include/session.inc index ad66f0c..f91a51a 100644 --- a/program/include/session.inc +++ b/program/include/session.inc @@ -75,10 +75,12 @@ WHERE sess_id=?", $key); + $now = $DB->fromunixtime(time()); + if ($DB->num_rows($sql_result)) { $DB->query( "UPDATE " . get_table_name('session') . " - SET vars=?, changed=" . $DB->now() . " + SET vars=?, changed= " . $now . " WHERE sess_id=?", $vars, $key); @@ -87,7 +89,7 @@ $DB->query( "INSERT INTO " . get_table_name('session') . " (sess_id, vars, ip, created, changed) - VALUES (?, ?, ?, ".$DB->now().", ".$DB->now().")", + VALUES (?, ?, ?, " . $now . ", " . $now .")", $key, $vars, (string)$_SERVER['REMOTE_ADDR']); @@ -107,11 +109,6 @@ return false; } - // delete session entries in cache table - if ($rcmail->config->get('enable_caching')) { - $DB->query("DELETE FROM " . get_table_name('cache') . " WHERE session_id=?", $key); - } - $DB->query("DELETE FROM " . get_table_name('session') . " WHERE sess_id=?", $key); return true; @@ -128,36 +125,13 @@ return false; } - // get all expired sessions - $sql_result = $DB->query( - "SELECT sess_id - FROM " . get_table_name('session') . " - WHERE " . $DB->unixtimestamp($DB->now())."-".$DB->unixtimestamp('changed') . " > ?", - $maxlifetime); - - $exp_sessions = array(); - while ($sql_arr = $DB->fetch_assoc($sql_result)) { - $exp_sessions[] = $sql_arr['sess_id']; - } + // just delete all expired sessions + $DB->query("DELETE FROM " . get_table_name('session') . " + WHERE changed < " . $DB->fromunixtime(time() - $maxlifetime)); - $caching = $rcmail->config->get('enable_caching'); + if ($rcmail->config->get('enable_caching')) + rcmail_cache_gc(); - if (sizeof($exp_sessions)) { - // delete session cache records - if ($caching) { - $DB->query("DELETE FROM " . get_table_name('cache') . " - WHERE session_id IN ('".join("','", $exp_sessions)."')"); - } - - // delete session records - $DB->query("DELETE FROM " . get_table_name('session') . " - WHERE sess_id IN ('".join("','", $exp_sessions)."')"); - } - - // also run message cache GC - if ($caching) { - rcmail_message_cache_gc(); - } rcmail_temp_gc(); return true; @@ -183,9 +157,7 @@ $cookie = session_get_cookie_params(); $lifetime = $cookie['lifetime'] ? time() + $cookie['lifetime'] : 0; - setcookie(session_name(), '', time() - 3600); - setcookie(session_name(), $random, $lifetime, $cookie['path'], $cookie['domain'], - $_SERVER['HTTPS'] && ($_SERVER['HTTPS']!='off')); + rcmail::setcookie(session_name(), $random, $lifetime); return true; } -- Gitblit v1.9.1