From 07405653f111c4eb8fd1c83d45e66287807036d7 Mon Sep 17 00:00:00 2001
From: horfic <horfic@ispconfig3>
Date: Thu, 06 Jan 2011 04:26:51 -0500
Subject: [PATCH] *) Added Mailman integration
---
interface/lib/classes/session.inc.php | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php
index de00d13..34dfaa5 100644
--- a/interface/lib/classes/session.inc.php
+++ b/interface/lib/classes/session.inc.php
@@ -43,7 +43,7 @@
function close () {
- if (!empty($this->fieldarray)) {
+ if (!empty($this->session_array)) {
$result = $this->gc(ini_get('session.gc_maxlifetime'));
return $result;
}
@@ -56,7 +56,7 @@
if (is_array($rec)) {
$this->session_array = $rec;
- return $rec['session_data'];
+ return $this->session_array['session_data'];
} else {
return '';
}
@@ -68,6 +68,14 @@
$this->session_array = array();
}
+ // Dont write session_data to DB if session data has not been changed after reading it.
+ if(isset($this->session_array['session_data']) && $this->session_array['session_data'] != '' && $this->session_array['session_data'] == $session_data) {
+ $session_id = $this->db->quote($session_id);
+ $last_updated = date('Y-m-d H:i:s');
+ $this->db->query("UPDATE sys_session SET last_updated = '$last_updated' WHERE session_id = '$session_id'");
+ return true;
+ }
+
if ($this->session_array['session_id'] == '') {
$session_id = $this->db->quote($session_id);
--
Gitblit v1.9.1