Fix #1136 #1230 auto-rotate profile image if EXIF is available (cf. #1182)

This commit is contained in:
Kijin Sung 2022-12-20 19:18:39 +09:00
parent 270f84abe9
commit 9cfcd7cb37

View file

@ -1251,7 +1251,7 @@ class memberController extends member
Context::loadLang(RX_BASEDIR . 'modules/file/lang'); Context::loadLang(RX_BASEDIR . 'modules/file/lang');
// Get file information // Get file information
FileHandler::clearStatCache($target_file); clearstatcache($target_file);
list($width, $height, $type) = @getimagesize($target_file); list($width, $height, $type) = @getimagesize($target_file);
if(IMAGETYPE_PNG == $type) $ext = 'png'; if(IMAGETYPE_PNG == $type) $ext = 'png';
elseif(IMAGETYPE_JPEG == $type) $ext = 'jpg'; elseif(IMAGETYPE_JPEG == $type) $ext = 'jpg';
@ -1278,14 +1278,18 @@ class memberController extends member
{ {
$resize = false; $resize = false;
} }
if ($resize) // Check image rotation
$rotate = $ext === 'jpg' ? FileHandler::checkImageRotation($target_file) : 0;
// Resize or rotate if necessary
if ($resize || $rotate)
{ {
$temp_filename = sprintf('files/cache/tmp/profile_image_%d.%s', $member_srl, $ext); $temp_filename = sprintf('files/cache/tmp/profile_image_%d.%s', $member_srl, $ext);
FileHandler::createImageFile($target_file, $temp_filename, $max_width, $max_height, $ext, 'fill', 75); FileHandler::createImageFile($target_file, $temp_filename, $max_width, $max_height, $ext, 'fill', 75, $rotate);
// 파일 용량 제한 // 파일 용량 제한
FileHandler::clearStatCache($temp_filename); clearstatcache($temp_filename);
$filesize = filesize($temp_filename); $filesize = filesize($temp_filename);
if($max_filesize && $filesize > ($max_filesize * 1024)) if($max_filesize && $filesize > ($max_filesize * 1024))
{ {