X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/fff5bbcee458992443e3732fbcbbbe34f765fcc3..refs/pull/255/head:/app/PageRevision.php diff --git a/app/PageRevision.php b/app/PageRevision.php index e5721f5aa..ff469f0ed 100644 --- a/app/PageRevision.php +++ b/app/PageRevision.php @@ -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); - } - } }