diff options
| -rw-r--r-- | 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 a73ee5c48..ee9bb75ab 100644 --- a/program/include/session.inc +++ b/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]); | 
