X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/2fd421b115132cdea97ec5ccbbab412e02659ab7..refs/pull/654/head:/app/Http/Controllers/PageController.php diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index 9a8525c23..9dc7d6401 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,22 +153,31 @@ 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()); } $this->checkOwnablePermission('page-view', $page); - $pageContent = $this->entityRepo->renderPage($page); + $page->html = $this->entityRepo->renderPage($page); $sidebarTree = $this->entityRepo->getBookChildren($page->book); - $pageNav = $this->entityRepo->getPageNav($pageContent); + $pageNav = $this->entityRepo->getPageNav($page->html); + + // 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, 'pageContent' => $pageContent]); + 'current' => $page, + 'sidebarTree' => $sidebarTree, + 'commentsEnabled' => $commentsEnabled, + 'pageNav' => $pageNav + ]); } /** @@ -323,9 +333,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()); } @@ -380,6 +391,7 @@ class PageController extends Controller return view('pages/revision', [ 'page' => $page, 'book' => $page->book, + 'revision' => $revision ]); } @@ -409,6 +421,7 @@ class PageController extends Controller 'page' => $page, 'book' => $page->book, 'diff' => $diff, + 'revision' => $revision ]); } @@ -438,6 +451,7 @@ class PageController extends Controller public function exportPdf($bookSlug, $pageSlug) { $page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug); + $page->html = $this->entityRepo->renderPage($page); $pdfContent = $this->exportService->pageToPdf($page); return response()->make($pdfContent, 200, [ 'Content-Type' => 'application/octet-stream', @@ -454,6 +468,7 @@ class PageController extends Controller public function exportHtml($bookSlug, $pageSlug) { $page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug); + $page->html = $this->entityRepo->renderPage($page); $containedHtml = $this->exportService->pageToContainedHtml($page); return response()->make($containedHtml, 200, [ 'Content-Type' => 'application/octet-stream',