Support webp format (#1785)

* consider webP as an input and output format, meaning a derivative from webp is still a webp
This commit is contained in:
Phlogi 2023-09-11 17:10:52 +02:00 committed by GitHub
parent 7f3a1f417e
commit 79e91e3296
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 10 additions and 3 deletions

View file

@ -21,6 +21,7 @@ function guess_mime_type($ext)
case "jpg": $ctype="image/jpeg"; break;
case "png": $ctype="image/png"; break;
case "gif": $ctype="image/gif"; break;
case "webp": $ctype="image/webp"; break;
case "tiff":
case "tif": $ctype="image/tiff"; break;
case "txt": $ctype="text/plain"; break;

View file

@ -221,6 +221,10 @@ SELECT
{
$file_path.= 'jpg';
}
elseif (IMAGETYPE_WEBP == $type)
{
$file_path.= 'webp';
}
elseif (isset($conf['upload_form_all_types']) and $conf['upload_form_all_types'])
{
$original_extension = strtolower(get_extension($original_filename));

View file

@ -47,6 +47,7 @@ class pwg_image
function __construct($source_filepath, $library=null)
{
global $conf;
$this->source_filepath = $source_filepath;
trigger_notify('load_image_library', array(&$this) );
@ -58,7 +59,7 @@ class pwg_image
$extension = strtolower(get_extension($source_filepath));
if (!in_array($extension, array('jpg', 'jpeg', 'png', 'gif')))
if (!in_array($extension, $conf['picture_ext']))
{
die('[Image] unsupported file extension');
}
@ -810,4 +811,4 @@ class image_gd implements imageInterface
}
}
?>
?>

1
i.php
View file

@ -357,6 +357,7 @@ function send_derivative($expires)
case ".jpe": case ".jpeg": case ".jpg": $ctype="image/jpeg"; break;
case ".png": $ctype="image/png"; break;
case ".gif": $ctype="image/gif"; break;
case ".webp": $ctype="image/webp"; break;
}
header("Content-Type: $ctype");

View file

@ -40,7 +40,7 @@
// picture_ext : file extensions for picture file, must be a subset of
// file_ext
$conf['picture_ext'] = array('jpg','jpeg','png','gif');
$conf['picture_ext'] = array('jpg','jpeg','png','gif','webp');
// file_ext : file extensions (case sensitive) authorized
//