1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-07-30 04:23:11 +03:00

Updated all application urls to allow path prefix.

Allows BookStack to be installed at a non-root location on a domain.
Closes #40.
This commit is contained in:
Dan Brown
2016-08-14 12:29:35 +01:00
parent baa260a03d
commit 43d9d2eba7
81 changed files with 479 additions and 403 deletions

View File

@ -69,10 +69,33 @@ function setting($key, $default = false)
*/
function baseUrl($path)
{
if (strpos($path, 'http') === 0) return $path;
$path = trim($path, '/');
return rtrim(config('app.url'), '/') . '/' . $path;
}
/**
* Get an instance of the redirector.
* Overrides the default laravel redirect helper.
* Ensures it redirects even when the app is in a subdirectory.
*
* @param string|null $to
* @param int $status
* @param array $headers
* @param bool $secure
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
function redirect($to = null, $status = 302, $headers = [], $secure = null)
{
if (is_null($to)) {
return app('redirect');
}
$to = baseUrl($to);
return app('redirect')->to($to, $status, $headers, $secure);
}
/**
* Generate a url with multiple parameters for sorting purposes.
* Works out the logic to set the correct sorting direction
@ -102,5 +125,5 @@ function sortUrl($path, $data, $overrideData = [])
if (count($queryStringSections) === 0) return $path;
return $path . '?' . implode('&', $queryStringSections);
return baseUrl($path . '?' . implode('&', $queryStringSections));
}