]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #1464: A new session is created in logout() after destorying the old session...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 27 Jan 2010 15:58:27 +0000 (15:58 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 27 Jan 2010 15:58:27 +0000 (15:58 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@3847 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/sessions.php

index 862ab8f6b7e078c6a39976a4d463e6e72fa5bf29..fdc6d180637e47679c06bd5c157f339db77da573 100644 (file)
@@ -451,9 +451,16 @@ function logout() {
 
        setcookie("elggperm", "", (time()-(86400 * 30)),"/");
 
+       // pass along any messages
+       $old_msg = $_SESSION['msg'];
+
        session_destroy();
 
-       return true;
+       // starting a default session to store any post-logout messages.
+       session_init(NULL, NULL, NULL);
+       $_SESSION['msg'] = $old_msg;
+
+       return TRUE;
 }
 
 /**
@@ -733,4 +740,4 @@ function __elgg_session_gc($maxlifetime) {
        return true;
 }
 
-register_elgg_event_handler("boot","system","session_init",20);
\ No newline at end of file
+register_elgg_event_handler("boot","system","session_init",20);