kopia lustrzana https://github.com/pixelfed/pixelfed
Update MediaTransformer, return proper image type
rodzic
434ac27a8d
commit
0dff48adb3
|
|
@ -111,6 +111,30 @@ class Media extends Model
|
|||
return $verb;
|
||||
}
|
||||
|
||||
public function mediaType()
|
||||
{
|
||||
$verb = 'Document';
|
||||
switch ($this->mimeType()) {
|
||||
case 'audio':
|
||||
$verb = 'Audio';
|
||||
break;
|
||||
|
||||
case 'image':
|
||||
$verb = 'Image';
|
||||
break;
|
||||
|
||||
case 'video':
|
||||
$verb = 'Video';
|
||||
break;
|
||||
|
||||
default:
|
||||
$verb = 'Image';
|
||||
break;
|
||||
}
|
||||
|
||||
return $verb;
|
||||
}
|
||||
|
||||
public function getMetadata()
|
||||
{
|
||||
return json_decode($this->metadata, true, 3);
|
||||
|
|
|
|||
|
|
@ -11,40 +11,42 @@ class MediaTransformer extends Fractal\TransformerAbstract
|
|||
public function transform(Media $media)
|
||||
{
|
||||
$res = [
|
||||
'id' => (string) $media->id,
|
||||
'type' => strtolower($media->activityVerb()),
|
||||
'url' => $media->url(),
|
||||
'remote_url' => null,
|
||||
'preview_url' => $media->thumbnailUrl(),
|
||||
'id' => (string) $media->id,
|
||||
'type' => strtolower($media->mediaType()),
|
||||
'url' => $media->url(),
|
||||
'remote_url' => null,
|
||||
'preview_url' => $media->thumbnailUrl(),
|
||||
'optimized_url' => $media->optimized_url,
|
||||
'text_url' => null,
|
||||
'meta' => null,
|
||||
'description' => $media->caption,
|
||||
'license' => $media->getLicense(),
|
||||
'is_nsfw' => $media->is_nsfw,
|
||||
'orientation' => $media->orientation,
|
||||
'filter_name' => $media->filter_name,
|
||||
'filter_class' => $media->version == 1 ? $media->filter_class : null,
|
||||
'mime' => $media->mime,
|
||||
'blurhash' => $media->blurhash ?? 'U4Rfzst8?bt7ogayj[j[~pfQ9Goe%Mj[WBay'
|
||||
'text_url' => null,
|
||||
'meta' => null,
|
||||
'description' => $media->caption,
|
||||
'license' => $media->getLicense(),
|
||||
'is_nsfw' => $media->is_nsfw,
|
||||
'orientation' => $media->orientation,
|
||||
'filter_name' => $media->filter_name,
|
||||
'filter_class' => $media->version == 1 ? $media->filter_class : null,
|
||||
'mime' => $media->mime,
|
||||
'blurhash' => $media->blurhash ?? 'U4Rfzst8?bt7ogayj[j[~pfQ9Goe%Mj[WBay',
|
||||
];
|
||||
|
||||
if(config('media.hls.enabled') && $media->hls_transcoded_at != null && $media->hls_path) {
|
||||
$res['hls_manifest'] = url(Storage::url($media->hls_path));
|
||||
if ((bool) config('media.hls.enabled')) {
|
||||
if ($media->hls_transcoded_at != null && $media->hls_path) {
|
||||
$res['hls_manifest'] = url(Storage::url($media->hls_path));
|
||||
}
|
||||
}
|
||||
|
||||
if($media->width && $media->height) {
|
||||
if ($media->width && $media->height) {
|
||||
$res['meta'] = [
|
||||
'focus' => [
|
||||
'x' => 0,
|
||||
'y' => 0
|
||||
'y' => 0,
|
||||
],
|
||||
'original' => [
|
||||
'width' => $media->width,
|
||||
'height' => $media->height,
|
||||
'size' => "{$media->width}x{$media->height}",
|
||||
'aspect' => $media->width / $media->height
|
||||
]
|
||||
'aspect' => $media->width / $media->height,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue