X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9537e2ae9572f75edc8da7fb23572346c56f101d..refs/pull/358/head:/app/PageRevision.php diff --git a/app/PageRevision.php b/app/PageRevision.php index 1baf0f8e5..ff469f0ed 100644 --- a/app/PageRevision.php +++ b/app/PageRevision.php @@ -3,7 +3,7 @@ class PageRevision extends Model { - protected $fillable = ['name', 'html', 'text', 'markdown']; + protected $fillable = ['name', 'html', 'text', 'markdown', 'summary']; /** * Get the user that created the page revision @@ -25,32 +25,26 @@ class PageRevision extends Model /** * Get the url for this revision. + * @param null|string $path * @return string */ - public function getUrl() + public function getUrl($path = null) { - return $this->page->getUrl() . '/revisions/' . $this->id; + $url = $this->page->getUrl() . '/revisions/' . $this->id; + if ($path) return $url . '/' . trim($path, '/'); + return $url; } /** - * Get previous revision - * @return \BookStack\PageRevision + * Get the previous revision for the same page if existing + * @return \BookStack\PageRevision|null */ public function getPrevious() { - if ($id = PageRevision::where('id', '<', $this->id)->max('id')) { - return PageRevision::find($id); + if ($id = static::where('page_id', '=', $this->page_id)->where('id', '<', $this->id)->max('id')) { + return static::find($id); } + return null; } - /** - * Get next revision - * @return \BookStack\PageRevision - */ - public function getNext() - { - if ($id = PageRevision::where('id', '>', $this->id)->min('id')) { - return PageRevision::find($id); - } - } }