summaryrefslogtreecommitdiff
path: root/roundcubemail
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-08-12 14:01:02 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-08-12 14:01:02 +0000
commit5efbfb44755caa532bd653a2418dbb15813ae160 (patch)
tree5b14bac7a9a82b789b1b86ebd44f27781e50795e /roundcubemail
parent06e049230210405ec4ff7224e5c241ffd0c5a469 (diff)
- Fix infinite recurrence when saving user preferences stored in session
git-svn-id: https://svn.roundcube.net/trunk@5057 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail')
-rw-r--r--roundcubemail/program/include/rcube_user.php5
1 files changed, 4 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_user.php b/roundcubemail/program/include/rcube_user.php
index b4a7c8871..d2bbaa176 100644
--- a/roundcubemail/program/include/rcube_user.php
+++ b/roundcubemail/program/include/rcube_user.php
@@ -122,7 +122,10 @@ class rcube_user
if (!empty($_SESSION['preferences'])) {
// Check last write attempt time, try to write again (every 5 minutes)
if ($_SESSION['preferences_time'] < time() - 5 * 60) {
- $this->save_prefs(unserialize($_SESSION['preferences']));
+ $saved_prefs = unserialize($_SESSION['preferences']);
+ $this->rc->session->remove('preferences');
+ $this->rc->session->remove('preferences_time');
+ $this->save_prefs($saved_prefs);
}
else {
$this->data['preferences'] = $_SESSION['preferences'];