BookStack\Repos\PageRepo::saveRevision PHP Method

saveRevision() public method

Saves a page revision into the system.
public saveRevision ( Page $page, null | string $summary = null )
$page BookStack\Page
$summary null | string
    public function saveRevision(Page $page, $summary = null)
    {
        $revision = $this->pageRevision->newInstance($page->toArray());
        if (setting('app-editor') !== 'markdown') {
            $revision->markdown = '';
        }
        $revision->page_id = $page->id;
        $revision->slug = $page->slug;
        $revision->book_slug = $page->book->slug;
        $revision->created_by = user()->id;
        $revision->created_at = $page->updated_at;
        $revision->type = 'version';
        $revision->summary = $summary;
        $revision->save();
        // Clear old revisions
        if ($this->pageRevision->where('page_id', '=', $page->id)->count() > 50) {
            $this->pageRevision->where('page_id', '=', $page->id)->orderBy('created_at', 'desc')->skip(50)->take(5)->delete();
        }
        return $revision;
    }