From dadefb80b387b7a54763905e07b35ac5b3297a8f Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 29 May 2009 15:10:24 -0400
Subject: [PATCH] - prevent duplicated inserts (#1485867)

---
 program/include/session.inc |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/program/include/session.inc b/program/include/session.inc
index a73ee5c..ee9bb75 100644
--- a/program/include/session.inc
+++ b/program/include/session.inc
@@ -65,8 +65,13 @@
   
   $now = $DB->fromunixtime(time());
 
-  if ($oldvars = rcube_sess_read($key)) {
-    $a_oldvars = rcube_sess_unserialize($oldvars);
+  $sql_result = $DB->query(
+    "SELECT vars FROM " . get_table_name('session') . "
+     WHERE  sess_id=?", $key);
+
+  if ($sql_arr = $DB->fetch_assoc($sql_result)) {
+
+    $a_oldvars = rcube_sess_unserialize($sql_arr['vars']);
     foreach ((array)$GLOBALS['rcube_session_unsets'] as $k)
       unset($a_oldvars[$k]);
 

--
Gitblit v1.9.1