| 
									
										
										
										
											2018-09-25 19:30:50 +08:00
										 |  |  | <?php namespace BookStack\Actions; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-31 02:25:35 +08:00
										 |  |  | use BookStack\Model; | 
					
						
							|  |  |  | use BookStack\Traits\HasCreatorAndUpdater; | 
					
						
							|  |  |  | use Illuminate\Database\Eloquent\Relations\MorphTo; | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-02 06:24:11 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @property string text | 
					
						
							|  |  |  |  * @property string html | 
					
						
							|  |  |  |  * @property int|null parent_id | 
					
						
							|  |  |  |  * @property int local_id | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2020-12-31 02:25:35 +08:00
										 |  |  | class Comment extends Model | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2020-12-31 02:25:35 +08:00
										 |  |  |     use HasCreatorAndUpdater; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-02 06:24:11 +08:00
										 |  |  |     protected $fillable = ['text', 'parent_id']; | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |     protected $appends = ['created', 'updated']; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get the entity that this comment belongs to | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-12-31 02:25:35 +08:00
										 |  |  |     public function entity(): MorphTo | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     { | 
					
						
							|  |  |  |         return $this->morphTo('entity'); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2017-05-16 03:10:14 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |      * Check if a comment has been updated since creation. | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-12-31 02:25:35 +08:00
										 |  |  |     public function isUpdated(): bool | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |         return $this->updated_at->timestamp > $this->created_at->timestamp; | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2017-05-16 03:10:14 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |      * Get created date as a relative diff. | 
					
						
							|  |  |  |      * @return mixed | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |     public function getCreatedAttribute() | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |         return $this->created_at->diffForHumans(); | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2017-05-16 03:10:14 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get updated date as a relative diff. | 
					
						
							|  |  |  |      * @return mixed | 
					
						
							| 
									
										
										
										
											2017-06-06 04:16:59 +08:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2017-09-03 23:37:51 +08:00
										 |  |  |     public function getUpdatedAttribute() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return $this->updated_at->diffForHumans(); | 
					
						
							| 
									
										
										
										
											2017-05-30 11:32:47 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2017-01-14 00:15:48 +08:00
										 |  |  | } |