$this->checkOwnablePermission('page-view', $page);
+ $page->html = $this->entityRepo->renderPage($page);
$sidebarTree = $this->entityRepo->getBookChildren($page->book);
- $pageNav = $this->entityRepo->getPageNav($page);
-
+ $pageNav = $this->entityRepo->getPageNav($page->html);
+ $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]);
+ return view('pages/show', [
+ 'page' => $page,'book' => $page->book,
+ 'current' => $page, 'sidebarTree' => $sidebarTree,
+ 'pageNav' => $pageNav]);
}
/**
$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());
}
public function showRevision($bookSlug, $pageSlug, $revisionId)
{
$page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug);
- $revision = $this->entityRepo->getById('page_revision', $revisionId, false);
+ $revision = $page->revisions()->where('id', '=', $revisionId)->first();
+ if ($revision === null) {
+ abort(404);
+ }
$page->fill($revision->toArray());
- $this->setPageTitle(trans('entities.pages_revision_named', ['pageName'=>$page->getShortName()]));
-
+ $this->setPageTitle(trans('entities.pages_revision_named', ['pageName' => $page->getShortName()]));
+
return view('pages/revision', [
'page' => $page,
'book' => $page->book,
+ 'revision' => $revision
]);
}
public function showRevisionChanges($bookSlug, $pageSlug, $revisionId)
{
$page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug);
- $revision = $this->entityRepo->getById('page_revision', $revisionId);
+ $revision = $page->revisions()->where('id', '=', $revisionId)->first();
+ if ($revision === null) {
+ abort(404);
+ }
$prev = $revision->getPrevious();
$prevContent = ($prev === null) ? '' : $prev->html;
'page' => $page,
'book' => $page->book,
'diff' => $diff,
+ 'revision' => $revision
]);
}
}
/**
- * Exports a page to pdf format using barryvdh/laravel-dompdf wrapper.
+ * Exports a page to a PDF.
* https://github.com/barryvdh/laravel-dompdf
* @param string $bookSlug
* @param string $pageSlug
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',
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',