thomascube
2006-11-22 d04d202234b0ba1e65b1c581acf0cbe715120dd7
program/include/session.inc
@@ -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=".$DB->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 (?, ?, ?, ".$DB->now().", ".$DB->now().")",
                $key,
                $vars,
                $_SERVER['REMOTE_ADDR']);
    }
  return TRUE;
@@ -102,7 +104,7 @@
  $DB->query("DELETE FROM ".get_table_name('session')."
              WHERE sess_id=?",
              $key);
  return TRUE;
  }
@@ -115,7 +117,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($DB->now())."-".$DB->unixtimestamp('changed')." > ?",
                            $maxlifetime);
                                   
  $a_exp_sessions = array();
@@ -134,6 +136,10 @@
                WHERE sess_id IN ('".join("','", $a_exp_sessions)."')");
    }
  // also run message cache GC
  rcmail_message_cache_gc();
  rcmail_temp_gc();
  return TRUE;
  }