From 7759370a52e75d411dcc322f20af3acd3c62dc35 Mon Sep 17 00:00:00 2001 From: alec Date: Fri, 29 May 2009 19:10:24 +0000 Subject: - prevent duplicated inserts (#1485867) git-svn-id: https://svn.roundcube.net/trunk@2573 208e9e7b-5314-0410-a742-e7e81cd9613c --- roundcubemail/program/include/session.inc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'roundcubemail/program/include') diff --git a/roundcubemail/program/include/session.inc b/roundcubemail/program/include/session.inc index a73ee5c48..ee9bb75ab 100644 --- a/roundcubemail/program/include/session.inc +++ b/roundcubemail/program/include/session.inc @@ -65,8 +65,13 @@ function rcube_sess_write($key, $vars) $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]); -- cgit v1.2.3