From 569701d7002e71fbf76e9acaa6c83e5bee90b411 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 17 Mar 2011 10:17:08 -0400
Subject: [PATCH] - Handle properly situation when uploaded attachment file is too big
---
program/include/rcube_session.php | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php
index 0fc4442..8c7adb3 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -192,6 +192,19 @@
/**
+ * Cleanup session data before saving
+ */
+ public function cleanup()
+ {
+ // current compose information is stored in $_SESSION['compose'], move it to $_SESSION['compose_data']
+ if ($_SESSION['compose']) {
+ $_SESSION['compose_data'][$_SESSION['compose']['id']] = $_SESSION['compose'];
+ $this->remove('compose');
+ }
+ }
+
+
+ /**
* Register additional garbage collector functions
*
* @param mixed Callback function
@@ -205,15 +218,15 @@
/**
* Generate and set new session id
+ *
+ * @param boolean $destroy If enabled the current session will be destroyed
*/
- public function regenerate_id()
+ public function regenerate_id($destroy=true)
{
- // delete old session record
- $this->destroy(session_id());
- $this->vars = false;
+ session_regenerate_id($destroy);
- session_regenerate_id(false);
- $this->key = session_id();
+ $this->vars = false;
+ $this->key = session_id();
return true;
}
--
Gitblit v1.9.1