[evolvis-commits] r16977: Harmonise return_to behaviour for login and logout, and stop redirecting to inaccessible pages such as /my/ on logout
mirabilos at evolvis.org
mirabilos at evolvis.org
Tue Mar 1 01:54:28 CET 2011
Author: mirabilos
Date: 2011-03-01 01:54:28 +0100 (Tue, 01 Mar 2011)
New Revision: 16977
Modified:
trunk/gforge_base/evolvisforge-5.1/src/www/account/login.php
trunk/gforge_base/evolvisforge-5.1/src/www/account/logout.php
Log:
Harmonise return_to behaviour for login and logout, and stop redirecting to inaccessible pages such as /my/ on logout
Modified: trunk/gforge_base/evolvisforge-5.1/src/www/account/login.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/account/login.php 2011-03-01 00:54:23 UTC (rev 16976)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/account/login.php 2011-03-01 00:54:28 UTC (rev 16977)
@@ -54,7 +54,7 @@
|| (strpos($rtpath,'/plugins/mediawiki') == 0)) {
$newrt = $return_to ;
} else {
- $newrt = '' ;
+ $newrt = '/' ;
}
$return_to = $newrt ;
}
@@ -83,10 +83,10 @@
You can now optionally stay in SSL mode
*/
if ($return_to) {
- header ("Location: " . $return_to);
+ header ("Location: " . util_make_url($return_to));
exit;
} else {
- header ("Location: ".util_make_url ("/my/"));
+ header ("Location: " . util_make_url("/my"));
exit;
}
}
Modified: trunk/gforge_base/evolvisforge-5.1/src/www/account/logout.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/account/logout.php 2011-03-01 00:54:23 UTC (rev 16976)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/account/logout.php 2011-03-01 00:54:28 UTC (rev 16977)
@@ -34,17 +34,29 @@
// Validate return_to
//
if ($return_to) {
- $tmpreturn=explode('?',$return_to);
- if (!@is_file(forge_get_config('url_root').$tmpreturn[0]) && !@is_dir(forge_get_config('url_root').$tmpreturn[0]) && !(strpos($tmpreturn[0],'projects') == 1) && !(strpos($tmpreturn[0],'plugins/mediawiki') == 1)) {
- $return_to='';
-} }
+ $tmpreturn = explode('?',$return_to);
+ $rtpath = $tmpreturn[0] ;
+ if (@is_file(forge_get_config('url_root').$rtpath)
+ || @is_dir(forge_get_config('url_root').$rtpath)
+ || (strpos($rtpath,'/projects') == 0)
+ || (strpos($rtpath,'/plugins/mediawiki') == 0)) {
+ $newrt = $return_to ;
+ } else {
+ $newrt = '/' ;
+ }
+
+ if ($return_to == '/my' || $return_to == '/account') {
+ $return_to = '/';
+ }
+}
+
session_logout();
plugin_hook('before_logout_redirect');
if ($return_to) {
- header('Location: '.$return_to);
+ header('Location: '.util_make_url ($return_to));
}else{
header('Location: '.util_make_url ('/'));
}
More information about the evolvis-commits
mailing list