diff options
-rw-r--r-- | inc/actions.php | 15 | ||||
-rw-r--r-- | inc/init.php | 6 |
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 |