summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/actions.php15
-rw-r--r--inc/init.php6
2 files changed, 21 insertions, 0 deletions
diff --git a/inc/actions.php b/inc/actions.php
index 2faf8bfca..41e81e267 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -312,9 +312,24 @@ function act_save($act){
return 'show';
}
+/**
+ * Do a redirect after receiving post data
+ *
+ * Tries to add the section id as hash mark after section editing
+ */
function act_redirect($id,$preact){
global $PRE;
global $TEXT;
+ global $MSG;
+
+ //are there any undisplayed messages? keep them in session for display
+ //on the next page
+ if(isset($MSG) && count($MSG)){
+ //reopen session, store data and close session again
+ @session_start();
+ $_SESSION[DOKU_COOKIE]['msg'] = $MSG;
+ session_write_close();
+ }
//get section name when coming from section edit
if($PRE && preg_match('/^\s*==+([^=\n]+)/',$TEXT,$match)){
diff --git a/inc/init.php b/inc/init.php
index def5d7997..6c3f54e16 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -118,6 +118,12 @@
session_set_cookie_params(0,DOKU_REL,'',($conf['securecookie'] && is_ssl()));
}
session_start();
+
+ // load left over messages
+ if(isset($_SESSION[DOKU_COOKIE]['msg'])){
+ $MSG = $_SESSION[DOKU_COOKIE]['msg'];
+ unset($_SESSION[DOKU_COOKIE]['msg']);
+ }
}
// kill magic quotes