X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/991dd8a558456b5aa669a60fd06a35270697a2ab..refs/pull/139/head:/app/Http/Controllers/PageController.php diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index 373e49de7..fc71292e0 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -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);