]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/PageController.php
replace GPL diff lib with MIT lib
[bookstack] / app / Http / Controllers / PageController.php
index 373e49de762a2a113793cc20a96b9c195ea0d9cc..fc71292e0598d72c4913beca08a6f375efd1dfff 100644 (file)
@@ -12,6 +12,7 @@ use BookStack\Repos\ChapterRepo;
 use BookStack\Repos\PageRepo;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 use Views;
+use GatherContent\Htmldiff\Htmldiff;
 
 class PageController extends Controller
 {
@@ -332,9 +333,18 @@ class PageController extends Controller
         $book = $this->bookRepo->getBySlug($bookSlug);
         $page = $this->pageRepo->getBySlug($pageSlug, $book->id);
         $revision = $this->pageRepo->getRevisionById($revisionId);
+        
+        $next = $revision->getNext() ?: $page;
+        $diff = (new Htmldiff)->diff($revision->html, $next->html);
+
         $page->fill($revision->toArray());
         $this->setPageTitle('Page Revision For ' . $page->getShortName());
-        return view('pages/revision', ['page' => $page, 'book' => $book]);
+        
+        return view('pages/revision', [
+            'page' => $page,
+            'book' => $book,
+            'diff' => $diff,
+        ]);
     }
 
     /**
@@ -468,6 +478,14 @@ class PageController extends Controller
         ]);
     }
 
+    /**
+     * Does the action of moving the location of a page
+     * @param $bookSlug
+     * @param $pageSlug
+     * @param Request $request
+     * @return mixed
+     * @throws NotFoundException
+     */
     public function move($bookSlug, $pageSlug, Request $request)
     {
         $book = $this->bookRepo->getBySlug($bookSlug);