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