From 83a793baa74fde7de81ee96430e7b6e39968efbe Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sat, 25 Sep 2010 15:57:41 +0000
Subject: [PATCH] Improved the session handler so that it does not write
 unchanged sessions to database.

---
 interface/lib/classes/session.inc.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php
index 7ec2955d0b..aff61aa94e 100644
--- a/interface/lib/classes/session.inc.php
+++ b/interface/lib/classes/session.inc.php
@@ -56,7 +56,7 @@ class session {
 
         if (is_array($rec)) {
 			$this->session_array = $rec;
-			return $rec['session_data'];
+			return $this->session_array['session_data'];
 		} else {
 			return '';
 		}
@@ -68,6 +68,11 @@ class session {
             $this->session_array = array();
         }
 		
+		// Dont write session 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) {
+			return true;
+		}
+		
 
         if ($this->session_array['session_id'] == '') {
 			$session_id   = $this->db->quote($session_id);
-- 
GitLab