pixelfed/app/Like.php

49 lines
1.1 KiB
PHP
Raw Normal View History

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
2018-06-14 00:52:42 +00:00
use Illuminate\Database\Eloquent\SoftDeletes;
class Like extends Model
{
2018-06-14 00:52:42 +00:00
use SoftDeletes;
const MAX_PER_DAY = 200;
2018-06-14 00:52:42 +00:00
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['deleted_at'];
2023-01-21 14:48:27 +00:00
protected $fillable = ['profile_id', 'status_id', 'status_profile_id'];
2018-06-14 00:52:42 +00:00
public function actor()
{
2018-08-28 03:07:36 +00:00
return $this->belongsTo(Profile::class, 'profile_id', 'id');
}
public function status()
{
2018-08-28 03:07:36 +00:00
return $this->belongsTo(Status::class);
}
2019-05-04 01:18:47 +00:00
public function toText($type = 'post')
{
2018-08-28 03:07:36 +00:00
$actorName = $this->actor->username;
2019-05-04 01:18:47 +00:00
$msg = $type == 'post' ? __('notification.likedPhoto') : __('notification.likedComment');
2018-08-28 03:07:36 +00:00
2019-05-04 01:18:47 +00:00
return "{$actorName} ".$msg;
}
2019-05-04 01:18:47 +00:00
public function toHtml($type = 'post')
{
2018-08-28 03:07:36 +00:00
$actorName = $this->actor->username;
$actorUrl = $this->actor->url();
2019-05-04 01:18:47 +00:00
$msg = $type == 'post' ? __('notification.likedPhoto') : __('notification.likedComment');
2018-08-28 03:07:36 +00:00
2019-05-04 01:18:47 +00:00
return "<a href='{$actorUrl}' class='profile-link'>{$actorName}</a> ".$msg;
}
}