]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/PageController.php
replace GPL diff lib with MIT lib
[bookstack] / app / Http / Controllers / PageController.php
index f35834e6221ea73332b7e88b9187c73b899fb8a5..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,
+        ]);
     }
 
     /**