X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/1a32b25b5e85f68730aed95c65f252eb2e724978..refs/pull/780/head:/app/Http/Controllers/PageController.php diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index fd36b3158..17bce7eba 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -145,6 +145,7 @@ class PageController extends Controller * @param string $bookSlug * @param string $pageSlug * @return Response + * @throws NotFoundException */ public function show($bookSlug, $pageSlug) { @@ -152,7 +153,9 @@ class PageController extends Controller $page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug); } catch (NotFoundException $e) { $page = $this->entityRepo->getPageByOldSlug($pageSlug, $bookSlug); - if ($page === null) abort(404); + if ($page === null) { + throw $e; + } return redirect($page->getUrl()); } @@ -161,14 +164,22 @@ class PageController extends Controller $page->html = $this->entityRepo->renderPage($page); $sidebarTree = $this->entityRepo->getBookChildren($page->book); $pageNav = $this->entityRepo->getPageNav($page->html); - $page->load(['comments.createdBy']); + + // check if the comment's are enabled + $commentsEnabled = !setting('app-disable-comments'); + if ($commentsEnabled) { + $page->load(['comments.createdBy']); + } Views::add($page); $this->setPageTitle($page->getShortName()); return view('pages/show', [ 'page' => $page,'book' => $page->book, - 'current' => $page, 'sidebarTree' => $sidebarTree, - 'pageNav' => $pageNav]); + 'current' => $page, + 'sidebarTree' => $sidebarTree, + 'commentsEnabled' => $commentsEnabled, + 'pageNav' => $pageNav + ]); } /** @@ -211,7 +222,9 @@ class PageController extends Controller $warnings [] = $this->entityRepo->getUserPageDraftMessage($draft); } - if (count($warnings) > 0) session()->flash('warning', implode("\n", $warnings)); + if (count($warnings) > 0) { + session()->flash('warning', implode("\n", $warnings)); + } $draftsEnabled = $this->signedIn; return view('pages/edit', [ @@ -324,9 +337,10 @@ class PageController extends Controller $page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug); $book = $page->book; $this->checkOwnablePermission('page-delete', $page); + $this->entityRepo->destroyPage($page); + Activity::addMessage('page_delete', $book->id, $page->name); session()->flash('success', trans('entities.pages_delete_success')); - $this->entityRepo->destroyPage($page); return redirect($book->getUrl()); } @@ -594,5 +608,4 @@ class PageController extends Controller session()->flash('success', trans('entities.pages_permissions_success')); return redirect($page->getUrl()); } - }