From e73ad7d8b9dd850afe2738f2b1e1097d3420c249 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Sat, 25 Sep 2010 10:39:24 -0400 Subject: [PATCH] Fixed a bug in javascript library related to session handling. --- interface/lib/classes/session.inc.php | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php index 11224c8..de00d13 100644 --- a/interface/lib/classes/session.inc.php +++ b/interface/lib/classes/session.inc.php @@ -42,6 +42,7 @@ } function close () { + if (!empty($this->fieldarray)) { $result = $this->gc(ini_get('session.gc_maxlifetime')); return $result; @@ -55,7 +56,7 @@ if (is_array($rec)) { $this->session_array = $rec; - return $this->session_array['session_data']; + return $rec['session_data']; } else { return ''; } @@ -66,6 +67,7 @@ if (!empty($this->session_array) && $this->session_array['session_id'] != $session_id) { $this->session_array = array(); } + if ($this->session_array['session_id'] == '') { $session_id = $this->db->quote($session_id); @@ -74,19 +76,21 @@ $session_data = $this->db->quote($session_data); $sql = "INSERT INTO sys_session (session_id,date_created,last_updated,session_data) VALUES ('$session_id','$date_created','$last_updated','$session_data')"; $this->db->query($sql); + } else { $session_id = $this->db->quote($session_id); $last_updated = date('Y-m-d H:i:s'); $session_data = $this->db->quote($session_data); $sql = "UPDATE sys_session SET last_updated = '$last_updated', session_data = '$session_data' WHERE session_id = '$session_id'"; $this->db->query($sql); + } return true; } function destroy ($session_id) { - + $session_id = $this->db->quote($session_id); $sql = "DELETE FROM sys_session WHERE session_id = '$session_id'"; $this->db->query($sql); @@ -95,7 +99,7 @@ } function gc ($max_lifetime) { - + $real_now = date('Y-m-d H:i:s'); $dt1 = strtotime("$real_now -$max_lifetime seconds"); $dt2 = date('Y-m-d H:i:s', $dt1); @@ -106,11 +110,12 @@ return true; } - + function __destruct () { @session_write_close(); - } + } + } ?> \ No newline at end of file -- Gitblit v1.9.1