|
|
|
@ -2,7 +2,7 @@
|
|
|
|
|
|
|
|
|
|
namespace App;
|
|
|
|
|
|
|
|
|
|
use Auth;
|
|
|
|
|
use Auth, Cache;
|
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
|
|
|
use Storage;
|
|
|
|
@ -37,6 +37,7 @@ class Status extends Model
|
|
|
|
|
|
|
|
|
|
public function viewType()
|
|
|
|
|
{
|
|
|
|
|
return Cache::remember('status:view-type:'.$this->id, 40320, function() {
|
|
|
|
|
$media = $this->firstMedia();
|
|
|
|
|
$mime = explode('/', $media->mime)[0];
|
|
|
|
|
$count = $this->media()->count();
|
|
|
|
@ -44,12 +45,13 @@ class Status extends Model
|
|
|
|
|
if($count > 1) {
|
|
|
|
|
$type = ($type == 'image') ? 'album' : 'video-album';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $type;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function thumb($showNsfw = false)
|
|
|
|
|
{
|
|
|
|
|
return Cache::remember('status:thumb:'.$this->id, 40320, function() use ($showNsfw) {
|
|
|
|
|
$type = $this->viewType();
|
|
|
|
|
$is_nsfw = !$showNsfw ? $this->is_nsfw : false;
|
|
|
|
|
if ($this->media->count() == 0 || $is_nsfw || !in_array($type,['image', 'album', 'video'])) {
|
|
|
|
@ -57,6 +59,7 @@ class Status extends Model
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return url(Storage::url($this->firstMedia()->thumbnail_path));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function url()
|
|
|
|
|