alecpl
2009-05-13 27924acf437df92c4e6e88e79bd28a58e6ea4aaa
- speed up the whole session cleaning in kill_session()


2 files modified
8 ■■■■■ changed files
program/include/rcmail.php 3 ●●●● patch | view | raw | blame | history
program/include/session.inc 5 ●●●● patch | view | raw | blame | history
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();
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(