mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-22 14:31:26 +00:00
Add WebP support
This commit is contained in:
parent
1baf378497
commit
069a0e4ae1
5 changed files with 68 additions and 58 deletions
|
@ -26,6 +26,7 @@ trait AdminSettingsController
|
||||||
$png = in_array('image/png', $types);
|
$png = in_array('image/png', $types);
|
||||||
$gif = in_array('image/gif', $types);
|
$gif = in_array('image/gif', $types);
|
||||||
$mp4 = in_array('video/mp4', $types);
|
$mp4 = in_array('video/mp4', $types);
|
||||||
|
$webp = in_array('image/webp', $types);
|
||||||
|
|
||||||
// $system = [
|
// $system = [
|
||||||
// 'permissions' => is_writable(base_path('storage')) && is_writable(base_path('bootstrap')),
|
// 'permissions' => is_writable(base_path('storage')) && is_writable(base_path('bootstrap')),
|
||||||
|
@ -39,6 +40,7 @@ trait AdminSettingsController
|
||||||
'png',
|
'png',
|
||||||
'gif',
|
'gif',
|
||||||
'mp4',
|
'mp4',
|
||||||
|
'webp',
|
||||||
'rules',
|
'rules',
|
||||||
'cloud_storage',
|
'cloud_storage',
|
||||||
'cloud_disk',
|
'cloud_disk',
|
||||||
|
@ -60,6 +62,7 @@ trait AdminSettingsController
|
||||||
'type_png' => 'nullable',
|
'type_png' => 'nullable',
|
||||||
'type_gif' => 'nullable',
|
'type_gif' => 'nullable',
|
||||||
'type_mp4' => 'nullable',
|
'type_mp4' => 'nullable',
|
||||||
|
'type_webp' => 'nullable',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if($request->filled('rule_delete')) {
|
if($request->filled('rule_delete')) {
|
||||||
|
@ -83,6 +86,7 @@ trait AdminSettingsController
|
||||||
'type_png' => 'image/png',
|
'type_png' => 'image/png',
|
||||||
'type_gif' => 'image/gif',
|
'type_gif' => 'image/gif',
|
||||||
'type_mp4' => 'video/mp4',
|
'type_mp4' => 'video/mp4',
|
||||||
|
'type_webp' => 'image/webp',
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($mimes as $key => $value) {
|
foreach ($mimes as $key => $value) {
|
||||||
|
|
|
@ -136,6 +136,7 @@ class ComposeController extends Controller
|
||||||
switch ($media->mime) {
|
switch ($media->mime) {
|
||||||
case 'image/jpeg':
|
case 'image/jpeg':
|
||||||
case 'image/png':
|
case 'image/png':
|
||||||
|
case 'image/webp':
|
||||||
ImageOptimize::dispatch($media);
|
ImageOptimize::dispatch($media);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ class ImageUpdate implements ShouldQueue
|
||||||
protected $protectedMimes = [
|
protected $protectedMimes = [
|
||||||
'image/jpeg',
|
'image/jpeg',
|
||||||
'image/png',
|
'image/png',
|
||||||
|
'image/webp'
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -78,6 +79,5 @@ class ImageUpdate implements ShouldQueue
|
||||||
$media->save();
|
$media->save();
|
||||||
|
|
||||||
MediaStoragePipeline::dispatch($media);
|
MediaStoragePipeline::dispatch($media);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,8 @@ class Image
|
||||||
public $orientation;
|
public $orientation;
|
||||||
public $acceptedMimes = [
|
public $acceptedMimes = [
|
||||||
'image/png',
|
'image/png',
|
||||||
'image/jpeg'
|
'image/jpeg',
|
||||||
|
'image/webp'
|
||||||
];
|
];
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
|
|
@ -238,8 +238,12 @@
|
||||||
<label class="custom-control-label" for="mediaType3"><span class="border border-dark px-1 rounded font-weight-bold">GIF</span></label>
|
<label class="custom-control-label" for="mediaType3"><span class="border border-dark px-1 rounded font-weight-bold">GIF</span></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="custom-control custom-checkbox mt-2">
|
<div class="custom-control custom-checkbox mt-2">
|
||||||
<input type="checkbox" name="type_mp4" class="custom-control-input" id="mediaType4" {{$mp4 ? 'checked' : ''}}>
|
<input type="checkbox" name="type_webp" class="custom-control-input" id="mediaType4" {{$webp ? 'checked' : ''}}>
|
||||||
<label class="custom-control-label" for="mediaType4"><span class="border border-dark px-1 rounded font-weight-bold">MP4</span></label>
|
<label class="custom-control-label" for="mediaType4"><span class="border border-dark px-1 rounded font-weight-bold">WebP</span></label>
|
||||||
|
</div>
|
||||||
|
<div class="custom-control custom-checkbox mt-2">
|
||||||
|
<input type="checkbox" name="type_mp4" class="custom-control-input" id="mediaType5" {{$mp4 ? 'checked' : ''}}>
|
||||||
|
<label class="custom-control-label" for="mediaType5"><span class="border border-dark px-1 rounded font-weight-bold">MP4</span></label>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-text small text-muted mt-3 mb-0">Allowed media types.</p>
|
<p class="help-text small text-muted mt-3 mb-0">Allowed media types.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue