mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-07-16 16:22:44 +00:00
Started work on subdirectory support
This commit is contained in:
parent
b157a9927a
commit
baa260a03d
|
@ -11,7 +11,7 @@ class Book extends Entity
|
||||||
*/
|
*/
|
||||||
public function getUrl()
|
public function getUrl()
|
||||||
{
|
{
|
||||||
return '/books/' . $this->slug;
|
return baseUrl('/books/' . $this->slug);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Chapter extends Entity
|
||||||
public function getUrl()
|
public function getUrl()
|
||||||
{
|
{
|
||||||
$bookSlug = $this->getAttribute('bookSlug') ? $this->getAttribute('bookSlug') : $this->book->slug;
|
$bookSlug = $this->getAttribute('bookSlug') ? $this->getAttribute('bookSlug') : $this->book->slug;
|
||||||
return '/books/' . $bookSlug. '/chapter/' . $this->slug;
|
return baseUrl('/books/' . $bookSlug. '/chapter/' . $this->slug);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -63,7 +63,7 @@ class Page extends Entity
|
||||||
$bookSlug = $this->getAttribute('bookSlug') ? $this->getAttribute('bookSlug') : $this->book->slug;
|
$bookSlug = $this->getAttribute('bookSlug') ? $this->getAttribute('bookSlug') : $this->book->slug;
|
||||||
$midText = $this->draft ? '/draft/' : '/page/';
|
$midText = $this->draft ? '/draft/' : '/page/';
|
||||||
$idComponent = $this->draft ? $this->id : $this->slug;
|
$idComponent = $this->draft ? $this->id : $this->slug;
|
||||||
return '/books/' . $bookSlug . $midText . $idComponent;
|
return baseUrl('/books/' . $bookSlug . $midText . $idComponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -138,8 +138,8 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
||||||
*/
|
*/
|
||||||
public function getAvatar($size = 50)
|
public function getAvatar($size = 50)
|
||||||
{
|
{
|
||||||
if ($this->image_id === 0 || $this->image_id === '0' || $this->image_id === null) return '/user_avatar.png';
|
if ($this->image_id === 0 || $this->image_id === '0' || $this->image_id === null) return baseUrl('/user_avatar.png');
|
||||||
return $this->avatar->getThumb($size, $size, false);
|
return baseUrl($this->avatar->getThumb($size, $size, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -157,7 +157,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
||||||
*/
|
*/
|
||||||
public function getEditUrl()
|
public function getEditUrl()
|
||||||
{
|
{
|
||||||
return '/settings/users/' . $this->id;
|
return baseUrl('/settings/users/' . $this->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -20,11 +20,11 @@ if (!function_exists('versioned_asset')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($manifest[$file])) {
|
if (isset($manifest[$file])) {
|
||||||
return '/' . $manifest[$file];
|
return baseUrl($manifest[$file]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists(public_path($file))) {
|
if (file_exists(public_path($file))) {
|
||||||
return '/' . $file;
|
return baseUrl($file);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new InvalidArgumentException("File {$file} not defined in asset manifest.");
|
throw new InvalidArgumentException("File {$file} not defined in asset manifest.");
|
||||||
|
@ -62,6 +62,17 @@ function setting($key, $default = false)
|
||||||
return $settingService->get($key, $default);
|
return $settingService->get($key, $default);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to create url's relative to the applications root path.
|
||||||
|
* @param $path
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function baseUrl($path)
|
||||||
|
{
|
||||||
|
$path = trim($path, '/');
|
||||||
|
return rtrim(config('app.url'), '/') . '/' . $path;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate a url with multiple parameters for sorting purposes.
|
* Generate a url with multiple parameters for sorting purposes.
|
||||||
* Works out the logic to set the correct sorting direction
|
* Works out the logic to set the correct sorting direction
|
||||||
|
|
|
@ -31,7 +31,7 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'url' => env('APP_URL', 'http://localhost'),
|
'url' => env('APP_URL', '') === 'http://bookstack.dev' ? '' : env('APP_URL', ''),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
<!-- Styles and Fonts -->
|
<!-- Styles and Fonts -->
|
||||||
<link rel="stylesheet" href="{{ versioned_asset('css/styles.css') }}">
|
<link rel="stylesheet" href="{{ versioned_asset('css/styles.css') }}">
|
||||||
<link rel="stylesheet" media="print" href="{{ versioned_asset('css/print-styles.css') }}">
|
<link rel="stylesheet" media="print" href="{{ versioned_asset('css/print-styles.css') }}">
|
||||||
<link rel="stylesheet" href="/libs/material-design-iconic-font/css/material-design-iconic-font.min.css">
|
<link rel="stylesheet" href="{{ baseUrl('/libs/material-design-iconic-font/css/material-design-iconic-font.min.css') }}">
|
||||||
|
|
||||||
<!-- Scripts -->
|
<!-- Scripts -->
|
||||||
<script src="/libs/jquery/jquery.min.js?version=2.1.4"></script>
|
<script src="{{ baseUrl('/libs/jquery/jquery.min.js?version=2.1.4') }}"></script>
|
||||||
<script src="/libs/jquery/jquery-ui.min.js?version=1.11.4"></script>
|
<script src="{{ baseUrl('/libs/jquery/jquery-ui.min.js?version=1.11.4') }}"></script>
|
||||||
|
|
||||||
@yield('head')
|
@yield('head')
|
||||||
|
|
||||||
|
@ -34,15 +34,15 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-4 col-sm-4" ng-non-bindable>
|
<div class="col-lg-4 col-sm-4" ng-non-bindable>
|
||||||
<a href="/" class="logo">
|
<a href="{{ baseUrl('/') }}" class="logo">
|
||||||
@if(setting('app-logo', '') !== 'none')
|
@if(setting('app-logo', '') !== 'none')
|
||||||
<img class="logo-image" src="{{ setting('app-logo', '') === '' ? '/logo.png' : setting('app-logo', '') }}" alt="Logo">
|
<img class="logo-image" src="{{ setting('app-logo', '') === '' ? baseUrl('/logo.png') : baseUrl(setting('app-logo', '')) }}" alt="Logo">
|
||||||
@endif
|
@endif
|
||||||
<span class="logo-text">{{ setting('app-name', 'BookStack') }}</span>
|
<span class="logo-text">{{ setting('app-name', 'BookStack') }}</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4 col-sm-3 text-center">
|
<div class="col-lg-4 col-sm-3 text-center">
|
||||||
<form action="/search/all" method="GET" class="search-box">
|
<form action="{{ baseUrl('/search/all') }}" method="GET" class="search-box">
|
||||||
<input id="header-search-box-input" type="text" name="term" tabindex="2" value="{{ isset($searchTerm) ? $searchTerm : '' }}">
|
<input id="header-search-box-input" type="text" name="term" tabindex="2" value="{{ isset($searchTerm) ? $searchTerm : '' }}">
|
||||||
<button id="header-search-box-button" type="submit" class="text-button"><i class="zmdi zmdi-search"></i></button>
|
<button id="header-search-box-button" type="submit" class="text-button"><i class="zmdi zmdi-search"></i></button>
|
||||||
</form>
|
</form>
|
||||||
|
@ -50,12 +50,12 @@
|
||||||
<div class="col-lg-4 col-sm-5">
|
<div class="col-lg-4 col-sm-5">
|
||||||
<div class="float right">
|
<div class="float right">
|
||||||
<div class="links text-center">
|
<div class="links text-center">
|
||||||
<a href="/books"><i class="zmdi zmdi-book"></i>Books</a>
|
<a href="{{ baseUrl('/books') }}"><i class="zmdi zmdi-book"></i>Books</a>
|
||||||
@if(isset($currentUser) && userCan('settings-manage'))
|
@if(isset($currentUser) && userCan('settings-manage'))
|
||||||
<a href="/settings"><i class="zmdi zmdi-settings"></i>Settings</a>
|
<a href="{{ baseUrl('/settings') }}"><i class="zmdi zmdi-settings"></i>Settings</a>
|
||||||
@endif
|
@endif
|
||||||
@if(!isset($signedIn) || !$signedIn)
|
@if(!isset($signedIn) || !$signedIn)
|
||||||
<a href="/login"><i class="zmdi zmdi-sign-in"></i>Sign In</a>
|
<a href="{{ baseUrl('/login') }}"><i class="zmdi zmdi-sign-in"></i>Sign In</a>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@if(isset($signedIn) && $signedIn)
|
@if(isset($signedIn) && $signedIn)
|
||||||
|
@ -66,13 +66,13 @@
|
||||||
</span>
|
</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="/user/{{$currentUser->id}}" class="text-primary"><i class="zmdi zmdi-account zmdi-hc-fw zmdi-hc-lg"></i>View Profile</a>
|
<a href="{{ baseUrl("/user/{$currentUser->id}") }}" class="text-primary"><i class="zmdi zmdi-account zmdi-hc-fw zmdi-hc-lg"></i>View Profile</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/settings/users/{{$currentUser->id}}" class="text-primary"><i class="zmdi zmdi-edit zmdi-hc-fw zmdi-hc-lg"></i>Edit Profile</a>
|
<a href="{{ baseUrl("/settings/users/{$currentUser->id}") }}" class="text-primary"><i class="zmdi zmdi-edit zmdi-hc-fw zmdi-hc-lg"></i>Edit Profile</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/logout" class="text-neg"><i class="zmdi zmdi-run zmdi-hc-fw zmdi-hc-lg"></i>Logout</a>
|
<a href="{{ baseUrl('/logout') }}" class="text-neg"><i class="zmdi zmdi-run zmdi-hc-fw zmdi-hc-lg"></i>Logout</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user