Merge pull request #182 from owncloud/fix-redirect
Make the redirect_url working again
This commit is contained in:
commit
1e062ea895
|
@ -1,7 +1,7 @@
|
||||||
<!--[if IE 8]><style>input[type="checkbox"]{padding:0;}</style><![endif]-->
|
<!--[if IE 8]><style>input[type="checkbox"]{padding:0;}</style><![endif]-->
|
||||||
<form method="post">
|
<form method="post">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<?php if(!empty($_['redirect'])) { echo '<input type="hidden" name="redirect_url" value="'.$_['redirect'].'" />'; } ?>
|
<?php if(!empty($_['redirect_url'])) { echo '<input type="hidden" name="redirect_url" value="'.$_['redirect_url'].'" />'; } ?>
|
||||||
<ul>
|
<ul>
|
||||||
<?php if(isset($_['invalidcookie']) && ($_['invalidcookie'])): ?>
|
<?php if(isset($_['invalidcookie']) && ($_['invalidcookie'])): ?>
|
||||||
<li class="errors">
|
<li class="errors">
|
||||||
|
|
|
@ -506,6 +506,12 @@ class OC{
|
||||||
require_once 'core/setup.php';
|
require_once 'core/setup.php';
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
// Handle redirect URL for logged in users
|
||||||
|
if(isset($_REQUEST['redirect_url']) && OC_User::isLoggedIn()) {
|
||||||
|
$location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url']));
|
||||||
|
header( 'Location: '.$location );
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Handle WebDAV
|
// Handle WebDAV
|
||||||
if($_SERVER['REQUEST_METHOD']=='PROPFIND') {
|
if($_SERVER['REQUEST_METHOD']=='PROPFIND') {
|
||||||
header('location: '.OC_Helper::linkToRemote('webdav'));
|
header('location: '.OC_Helper::linkToRemote('webdav'));
|
||||||
|
@ -670,7 +676,7 @@ class OC{
|
||||||
else {
|
else {
|
||||||
OC_User::unsetMagicInCookie();
|
OC_User::unsetMagicInCookie();
|
||||||
}
|
}
|
||||||
header( 'Location: '.$_SERVER['REQUEST_URI'] );
|
OC_Util::redirectToDefaultPage();
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -340,10 +340,8 @@ class OC_Util {
|
||||||
}
|
}
|
||||||
if (isset($_REQUEST['redirect_url'])) {
|
if (isset($_REQUEST['redirect_url'])) {
|
||||||
$redirect_url = OC_Util::sanitizeHTML($_REQUEST['redirect_url']);
|
$redirect_url = OC_Util::sanitizeHTML($_REQUEST['redirect_url']);
|
||||||
} else {
|
$parameters['redirect_url'] = urlencode($redirect_url);
|
||||||
$redirect_url = $_SERVER['REQUEST_URI'];
|
|
||||||
}
|
}
|
||||||
$parameters['redirect_url'] = $redirect_url;
|
|
||||||
OC_Template::printGuestPage("", "login", $parameters);
|
OC_Template::printGuestPage("", "login", $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,8 +437,8 @@ class OC_Util {
|
||||||
* Redirect to the user default page
|
* Redirect to the user default page
|
||||||
*/
|
*/
|
||||||
public static function redirectToDefaultPage() {
|
public static function redirectToDefaultPage() {
|
||||||
if(isset($_REQUEST['redirect_url']) && (substr($_REQUEST['redirect_url'], 0, strlen(OC::$WEBROOT)) == OC::$WEBROOT || $_REQUEST['redirect_url'][0] == '/')) {
|
if(isset($_REQUEST['redirect_url'])) {
|
||||||
$location = $_REQUEST['redirect_url'];
|
$location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url']));
|
||||||
}
|
}
|
||||||
else if (isset(OC::$REQUESTEDAPP) && !empty(OC::$REQUESTEDAPP)) {
|
else if (isset(OC::$REQUESTEDAPP) && !empty(OC::$REQUESTEDAPP)) {
|
||||||
$location = OC_Helper::linkToAbsolute( OC::$REQUESTEDAPP, 'index.php' );
|
$location = OC_Helper::linkToAbsolute( OC::$REQUESTEDAPP, 'index.php' );
|
||||||
|
|
Loading…
Reference in New Issue