X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/59367b34178739c3aedb4d21e863f3cc58401a2d..refs/pull/205/head:/app/PageRevision.php diff --git a/app/PageRevision.php b/app/PageRevision.php index 49e53400e..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 @@ -11,7 +11,7 @@ class PageRevision extends Model */ public function createdBy() { - return $this->belongsTo('BookStack\User', 'created_by'); + return $this->belongsTo(User::class, 'created_by'); } /** @@ -20,16 +20,31 @@ class PageRevision extends Model */ public function page() { - return $this->belongsTo('BookStack\Page'); + return $this->belongsTo(Page::class); } /** * 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 the previous revision for the same page if existing + * @return \BookStack\PageRevision|null + */ + public function getPrevious() + { + if ($id = static::where('page_id', '=', $this->page_id)->where('id', '<', $this->id)->max('id')) { + return static::find($id); + } + return null; } }