From 27924acf437df92c4e6e88e79bd28a58e6ea4aaa Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Wed, 13 May 2009 03:17:33 -0400 Subject: [PATCH] - speed up the whole session cleaning in kill_session() --- program/include/session.inc | 5 ++++- program/include/rcmail.php | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/program/include/rcmail.php b/program/include/rcmail.php index 1443617..6ed0950 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -793,8 +793,7 @@ */ public function kill_session() { - foreach (array_keys($_SESSION) as $var) - rcube_sess_unset($var); + rcube_sess_unset(); $_SESSION = array('language' => $this->user->language, 'auth_time' => time(), 'temp' => true); rcmail::setcookie('sessauth', '-del-', time() - 60); $this->user->reset(); diff --git a/program/include/session.inc b/program/include/session.inc index 7ba6041..e198077 100644 --- a/program/include/session.inc +++ b/program/include/session.inc @@ -87,10 +87,13 @@ // unset session variable -function rcube_sess_unset($var) +function rcube_sess_unset($var=NULL) { $DB = rcmail::get_instance()->get_dbh(); + if (empty($var)) + return rcube_sess_destroy(session_id()); + $now = $DB->fromunixtime(time()); $sql_result = $DB->query( -- Gitblit v1.9.1