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 ++++++++++-----
interface/web/js/scrigo.js.php | 3 ++-
2 files changed, 12 insertions(+), 6 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
diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index cd72445..4316af7 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -1,7 +1,8 @@
<?php
session_start();
include('../../lib/config.inc.php');
- include_once(ISPC_ROOT_PATH.'/web/strengthmeter/lib/lang/'.$_SESSION['s']['language'].'_strengthmeter.lng');
+ $lang = (isset($_SESSION['s']['language']) && $_SESSION['s']['language'] != '')?$_SESSION['s']['language']:'en';
+ include_once(ISPC_ROOT_PATH.'/web/strengthmeter/lib/lang/'.$lang.'_strengthmeter.lng');
?>
redirect = '';
--
Gitblit v1.9.1