mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-22 07:40:58 +00:00
Added public build folder and support for a demo mode
This commit is contained in:
parent
0d8ca22487
commit
9a470b07fd
5 changed files with 37 additions and 5 deletions
app/Http/Controllers
|
@ -42,6 +42,15 @@ abstract class Controller extends BaseController
|
|||
$this->signedIn = auth()->check();
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops the application and shows a permission error if
|
||||
* the application is in demo mode.
|
||||
*/
|
||||
protected function preventAccessForDemoUsers()
|
||||
{
|
||||
if (env('APP_ENV', 'production') === 'demo') $this->showPermissionError();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the page title into the view.
|
||||
* @param $title
|
||||
|
@ -51,6 +60,18 @@ abstract class Controller extends BaseController
|
|||
view()->share('pageTitle', $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* On a permission error redirect to home and display
|
||||
* the error as a notification.
|
||||
*/
|
||||
protected function showPermissionError()
|
||||
{
|
||||
Session::flash('error', trans('errors.permission'));
|
||||
throw new HttpResponseException(
|
||||
redirect('/')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks for a permission.
|
||||
*
|
||||
|
@ -60,15 +81,18 @@ abstract class Controller extends BaseController
|
|||
protected function checkPermission($permissionName)
|
||||
{
|
||||
if (!$this->currentUser || !$this->currentUser->can($permissionName)) {
|
||||
Session::flash('error', trans('errors.permission'));
|
||||
throw new HttpResponseException(
|
||||
redirect('/')
|
||||
);
|
||||
$this->showPermissionError();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a user has a permission or bypass if the callback is true.
|
||||
* @param $permissionName
|
||||
* @param $callback
|
||||
* @return bool
|
||||
*/
|
||||
protected function checkPermissionOr($permissionName, $callback)
|
||||
{
|
||||
$callbackResult = $callback();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue