X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/e108808a32b865668076b7b032ee620229d44d1f..refs/pull/2336/head:/app/Entities/Repos/PageRepo.php diff --git a/app/Entities/Repos/PageRepo.php b/app/Entities/Repos/PageRepo.php index 501b19c78..e5f13463c 100644 --- a/app/Entities/Repos/PageRepo.php +++ b/app/Entities/Repos/PageRepo.php @@ -180,12 +180,11 @@ class PageRepo $page->template = ($input['template'] === 'true'); } + $pageContent = new PageContent($page); + $pageContent->setNewHTML($input['html']); $this->baseRepo->update($page, $input); // Update with new details - $page->fill($input); - $pageContent = new PageContent($page); - $pageContent->setNewHTML($input['html']); $page->revision_count++; if (setting('app-editor') !== 'markdown') { @@ -211,7 +210,7 @@ class PageRepo */ protected function savePageRevision(Page $page, string $summary = null) { - $revision = new PageRevision($page->toArray()); + $revision = new PageRevision($page->getAttributes()); if (setting('app-editor') !== 'markdown') { $revision->markdown = ''; @@ -279,7 +278,7 @@ class PageRepo $revision = $page->revisions()->where('id', '=', $revisionId)->first(); $page->fill($revision->toArray()); $content = new PageContent($page); - $content->setNewHTML($page->html); + $content->setNewHTML($revision->html); $page->updated_by = user()->id; $page->refreshSlug(); $page->save(); @@ -306,10 +305,7 @@ class PageRepo throw new PermissionsException('User does not have permission to create a page within the new parent'); } - if ($parent instanceof Chapter) { - $page->chapter_id = $parent->id; - } - + $page->chapter_id = ($parent instanceof Chapter) ? $parent->id : null; $page->changeBook($parent instanceof Book ? $parent->id : $parent->book->id); $page->rebuildPermissions();