BookStack/app/PageRevision.php

57 lines
1.2 KiB
PHP
Raw Normal View History

<?php namespace BookStack;
2015-08-09 11:06:52 +00:00
class PageRevision extends Model
{
2016-03-25 14:41:15 +00:00
protected $fillable = ['name', 'html', 'text', 'markdown'];
2015-08-09 11:06:52 +00:00
/**
* Get the user that created the page revision
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
2015-08-09 11:06:52 +00:00
public function createdBy()
{
return $this->belongsTo(User::class, 'created_by');
2015-08-09 11:06:52 +00:00
}
/**
* Get the page this revision originates from.
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
2015-08-09 11:06:52 +00:00
public function page()
{
return $this->belongsTo(Page::class);
2015-08-09 11:06:52 +00:00
}
/**
* Get the url for this revision.
* @return string
*/
2015-08-09 11:06:52 +00:00
public function getUrl()
{
return $this->page->getUrl() . '/revisions/' . $this->id;
}
2016-07-07 17:42:21 +00:00
/**
* Get previous revision
* @return \BookStack\PageRevision
*/
public function getPrevious()
{
if ($id = PageRevision::where('id', '<', $this->id)->max('id')) {
return PageRevision::find($id);
}
}
/**
* Get next revision
* @return \BookStack\PageRevision
*/
public function getNext()
{
if ($id = PageRevision::where('id', '>', $this->id)->min('id')) {
return PageRevision::find($id);
}
}
2015-08-09 11:06:52 +00:00
}