diff --git a/modules/file/file.admin.controller.php b/modules/file/file.admin.controller.php
index 1b11dd4f1..28a9427cb 100644
--- a/modules/file/file.admin.controller.php
+++ b/modules/file/file.admin.controller.php
@@ -71,6 +71,7 @@ class fileAdminController extends file
$config->max_image_size_action = Context::get('max_image_size_action') ?: '';
$config->max_image_size_quality = max(50, min(100, intval(Context::get('max_image_size_quality'))));
$config->image_autoconv['bmp2jpg'] = Context::get('image_autoconv_bmp2jpg') === 'Y' ? true : false;
+ $config->image_autoconv['png2jpg'] = Context::get('image_autoconv_png2jpg') === 'Y' ? true : false;
$config->image_autoconv['webp2jpg'] = Context::get('image_autoconv_webp2jpg') === 'Y' ? true : false;
$config->image_autoconv_quality = max(50, min(100, intval(Context::get('image_autoconv_quality'))));
$config->image_autorotate = Context::get('image_autorotate') === 'Y' ? true : false;
@@ -156,6 +157,7 @@ class fileAdminController extends file
$file_config->max_image_size_action = Context::get('max_image_size_action') ?: '';
$file_config->max_image_size_quality = max(50, min(100, intval(Context::get('max_image_size_quality'))));
$file_config->image_autoconv['bmp2jpg'] = Context::get('image_autoconv_bmp2jpg') === 'Y' ? true : false;
+ $file_config->image_autoconv['png2jpg'] = Context::get('image_autoconv_png2jpg') === 'Y' ? true : false;
$file_config->image_autoconv['webp2jpg'] = Context::get('image_autoconv_webp2jpg') === 'Y' ? true : false;
$file_config->image_autoconv_quality = max(50, min(100, intval(Context::get('image_autoconv_quality'))));
$file_config->image_autorotate = Context::get('image_autorotate') === 'Y' ? true : false;
diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php
index 316377665..30e1a1d4c 100644
--- a/modules/file/file.controller.php
+++ b/modules/file/file.controller.php
@@ -1046,6 +1046,10 @@ class fileController extends file
{
$convert = array($image_width, $image_height, 'jpg', $config->image_autoconv_quality ?: 75, 0);
}
+ if($config->image_autoconv['png2jpg'] && function_exists('imagepng') && $image_type === 3)
+ {
+ $convert = array($image_width, $image_height, 'jpg', $config->image_autoconv_quality ?: 75, 0);
+ }
if($config->image_autoconv['webp2jpg'] && function_exists('imagewebp') && $image_type === 18)
{
$convert = array($image_width, $image_height, 'jpg', $config->image_autoconv_quality ?: 75, 0);
diff --git a/modules/file/lang/en.php b/modules/file/lang/en.php
index 62ae777ab..31c1689da 100644
--- a/modules/file/lang/en.php
+++ b/modules/file/lang/en.php
@@ -24,6 +24,7 @@ $lang->max_image_size_action_resize = 'If exceeded, resize automatically';
$lang->image_resize_quality = 'Quality';
$lang->image_autoconv = 'Auto-Convert Image';
$lang->image_autoconv_bmp2jpg = 'BMP → JPG';
+$lang->image_autoconv_png2jpg = 'PNG → JPG';
$lang->image_autoconv_webp2jpg = 'WebP → JPG';
$lang->image_autorotate = 'Auto-Rotate Image';
$lang->inline_download_format = 'Open in current window';
diff --git a/modules/file/lang/ko.php b/modules/file/lang/ko.php
index d6dba863e..d8f8d72cc 100644
--- a/modules/file/lang/ko.php
+++ b/modules/file/lang/ko.php
@@ -24,6 +24,7 @@ $lang->max_image_size_action_resize = '초과시 자동 크기 조정';
$lang->image_resize_quality = '화질';
$lang->image_autoconv = '이미지 자동 변환';
$lang->image_autoconv_bmp2jpg = 'BMP → JPG';
+$lang->image_autoconv_png2jpg = 'PNG → JPG';
$lang->image_autoconv_webp2jpg = 'WebP → JPG';
$lang->image_autorotate = '이미지 자동 회전';
$lang->inline_download_format = '다운로드시 현재 창 사용';
diff --git a/modules/file/tpl/file_module_config.html b/modules/file/tpl/file_module_config.html
index da4f3d4df..0a9d269b6 100644
--- a/modules/file/tpl/file_module_config.html
+++ b/modules/file/tpl/file_module_config.html
@@ -61,6 +61,10 @@
image_autoconv['bmp2jpg']" disabled="disabled"|cond="!function_exists('imagebmp')" />
{$lang->image_autoconv_bmp2jpg}
+
+