From 59ab0c3bcd146f48940459240f980f4a97f280cd Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 12 Aug 2011 10:01:02 -0400
Subject: [PATCH] - Fix infinite recurrence when saving user preferences stored in session

---
 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 b4a7c88..d2bbaa1 100644
--- a/program/include/rcube_user.php
+++ b/program/include/rcube_user.php
@@ -122,7 +122,10 @@
             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'];

--
Gitblit v1.9.1