Move App::internalRedirect to BaseUrl::redirect
This commit is contained in:
parent
0d744be732
commit
5bb63e59e0
18
src/App.php
18
src/App.php
|
@ -796,22 +796,12 @@ class App
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Redirects to another module relative to the current Friendica base.
|
* @deprecated 2019.12 use BaseUrl::redirect instead
|
||||||
* If you want to redirect to a external URL, use System::externalRedirectTo()
|
* @see BaseURL::redirect()
|
||||||
*
|
|
||||||
* @param string $toUrl The destination URL (Default is empty, which is the default page of the Friendica node)
|
|
||||||
* @param bool $ssl if true, base URL will try to get called with https:// (works just for relative paths)
|
|
||||||
*
|
|
||||||
* @throws HTTPException\InternalServerErrorException In Case the given URL is not relative to the Friendica node
|
|
||||||
*/
|
*/
|
||||||
public function internalRedirect($toUrl = '', $ssl = false)
|
public function internalRedirect($toUrl = '', $ssl = false)
|
||||||
{
|
{
|
||||||
if (!empty(parse_url($toUrl, PHP_URL_SCHEME))) {
|
$this->baseURL->redirect($toUrl, $ssl);
|
||||||
throw new HTTPException\InternalServerErrorException("'$toUrl is not a relative path, please use System::externalRedirectTo");
|
|
||||||
}
|
|
||||||
|
|
||||||
$redirectTo = $this->baseURL->get($ssl) . '/' . ltrim($toUrl, '/');
|
|
||||||
Core\System::externalRedirect($redirectTo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -827,7 +817,7 @@ class App
|
||||||
if (!empty(parse_url($toUrl, PHP_URL_SCHEME))) {
|
if (!empty(parse_url($toUrl, PHP_URL_SCHEME))) {
|
||||||
Core\System::externalRedirect($toUrl);
|
Core\System::externalRedirect($toUrl);
|
||||||
} else {
|
} else {
|
||||||
$this->internalRedirect($toUrl);
|
$this->baseURL->redirect($toUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,10 @@
|
||||||
namespace Friendica\App;
|
namespace Friendica\App;
|
||||||
|
|
||||||
use Friendica\Core\Config\Configuration;
|
use Friendica\Core\Config\Configuration;
|
||||||
|
use Friendica\Core\System;
|
||||||
use Friendica\Util\Network;
|
use Friendica\Util\Network;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
use Friendica\Network\HTTPException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class which checks and contains the basic
|
* A class which checks and contains the basic
|
||||||
|
@ -414,4 +416,23 @@ class BaseURL
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirects to another module relative to the current Friendica base URL.
|
||||||
|
* If you want to redirect to a external URL, use System::externalRedirectTo()
|
||||||
|
*
|
||||||
|
* @param string $toUrl The destination URL (Default is empty, which is the default page of the Friendica node)
|
||||||
|
* @param bool $ssl if true, base URL will try to get called with https:// (works just for relative paths)
|
||||||
|
*
|
||||||
|
* @throws HTTPException\InternalServerErrorException In Case the given URL is not relative to the Friendica node
|
||||||
|
*/
|
||||||
|
public function redirect($toUrl = '', $ssl = false)
|
||||||
|
{
|
||||||
|
if (!empty(parse_url($toUrl, PHP_URL_SCHEME))) {
|
||||||
|
throw new HTTPException\InternalServerErrorException("'$toUrl is not a relative path, please use System::externalRedirectTo");
|
||||||
|
}
|
||||||
|
|
||||||
|
$redirectTo = $this->get($ssl) . '/' . ltrim($toUrl, '/');
|
||||||
|
System::externalRedirect($redirectTo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user