diff options
author | alecpl <alec@alec.pl> | 2011-08-12 14:01:02 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-08-12 14:01:02 +0000 |
commit | 59ab0c3bcd146f48940459240f980f4a97f280cd (patch) | |
tree | 849fcb2a1a134206fbe9de64ddcb0ba012c81648 /program/include/rcube_user.php | |
parent | f4c364967153f9b1532b55e8ca82f4a6a1cad460 (diff) |
- Fix infinite recurrence when saving user preferences stored in session
Diffstat (limited to 'program/include/rcube_user.php')
-rw-r--r-- | program/include/rcube_user.php | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php index b4a7c8871..d2bbaa176 100644 --- a/program/include/rcube_user.php +++ b/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']; |