]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/PageExportController.php
Update settings.php
[bookstack] / app / Http / Controllers / PageExportController.php
index addcc55132c218078ab903bc85777bf8805ba330..3b02ea224716c4f01bc1ceffdd043d5e88702ba4 100644 (file)
@@ -3,21 +3,15 @@
 namespace BookStack\Http\Controllers;
 
 use BookStack\Entities\ExportService;
+use BookStack\Entities\Managers\PageContent;
 use BookStack\Entities\Repos\PageRepo;
 use BookStack\Exceptions\NotFoundException;
-use Illuminate\Http\Response;
 use Throwable;
 
 class PageExportController extends Controller
 {
-    /**
-     * @var PageRepo
-     */
-    protected $pageRepo;
 
-    /**
-     * @var ExportService
-     */
+    protected $pageRepo;
     protected $exportService;
 
     /**
@@ -35,46 +29,37 @@ class PageExportController extends Controller
     /**
      * Exports a page to a PDF.
      * https://github.com/barryvdh/laravel-dompdf
-     * @param string $bookSlug
-     * @param string $pageSlug
-     * @return Response
      * @throws NotFoundException
      * @throws Throwable
      */
     public function pdf(string $bookSlug, string $pageSlug)
     {
-        $page = $this->pageRepo->getBySlug($pageSlug, $bookSlug);
-        $page->html = $this->pageRepo->renderPage($page);
+        $page = $this->pageRepo->getBySlug($bookSlug, $pageSlug);
+        $page->html = (new PageContent($page))->render();
         $pdfContent = $this->exportService->pageToPdf($page);
         return $this->downloadResponse($pdfContent, $pageSlug . '.pdf');
     }
 
     /**
      * Export a page to a self-contained HTML file.
-     * @param string $bookSlug
-     * @param string $pageSlug
-     * @return Response
      * @throws NotFoundException
      * @throws Throwable
      */
     public function html(string $bookSlug, string $pageSlug)
     {
-        $page = $this->pageRepo->getBySlug($pageSlug, $bookSlug);
-        $page->html = $this->pageRepo->renderPage($page);
+        $page = $this->pageRepo->getBySlug($bookSlug, $pageSlug);
+        $page->html = (new PageContent($page))->render();
         $containedHtml = $this->exportService->pageToContainedHtml($page);
         return $this->downloadResponse($containedHtml, $pageSlug . '.html');
     }
 
     /**
      * Export a page to a simple plaintext .txt file.
-     * @param string $bookSlug
-     * @param string $pageSlug
-     * @return Response
      * @throws NotFoundException
      */
     public function plainText(string $bookSlug, string $pageSlug)
     {
-        $page = $this->pageRepo->getBySlug($pageSlug, $bookSlug);
+        $page = $this->pageRepo->getBySlug($bookSlug, $pageSlug);
         $pageText = $this->exportService->pageToPlainText($page);
         return $this->downloadResponse($pageText, $pageSlug . '.txt');
     }