Move App::internalRedirect to BaseUrl::redirect
This commit is contained in:
parent
0d744be732
commit
5bb63e59e0
2 changed files with 25 additions and 14 deletions
18
src/App.php
18
src/App.php
|
@ -796,22 +796,12 @@ class App
|
|||
}
|
||||
|
||||
/**
|
||||
* Redirects to another module relative to the current Friendica base.
|
||||
* 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
|
||||
* @deprecated 2019.12 use BaseUrl::redirect instead
|
||||
* @see BaseURL::redirect()
|
||||
*/
|
||||
public function internalRedirect($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->baseURL->get($ssl) . '/' . ltrim($toUrl, '/');
|
||||
Core\System::externalRedirect($redirectTo);
|
||||
$this->baseURL->redirect($toUrl, $ssl);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -827,7 +817,7 @@ class App
|
|||
if (!empty(parse_url($toUrl, PHP_URL_SCHEME))) {
|
||||
Core\System::externalRedirect($toUrl);
|
||||
} else {
|
||||
$this->internalRedirect($toUrl);
|
||||
$this->baseURL->redirect($toUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,8 +3,10 @@
|
|||
namespace Friendica\App;
|
||||
|
||||
use Friendica\Core\Config\Configuration;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Util\Network;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
||||
/**
|
||||
* A class which checks and contains the basic
|
||||
|
@ -414,4 +416,23 @@ class BaseURL
|
|||
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 a new issue