diff --git a/include/Photo.php b/include/Photo.php index 3af1691ee7..f07019e714 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -143,7 +143,7 @@ class Photo { public function orient($filename) { // based off comment on http://php.net/manual/en/function.imagerotate.php - if(! function_exists('exif_read_data')) + if( (! function_exists('exif_read_data')) || ($this->getType() === 'image/png') ) return; $exif = exif_read_data($filename); diff --git a/mod/photos.php b/mod/photos.php index 42cad42f9c..624f0bdcaa 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -740,8 +740,7 @@ function photos_post(&$a) { killme(); } - if($ph->getType() != 'image/png') - $ph->orient($src); + $ph->orient($src); @unlink($src); $max_length = get_config('system','max_image_length'); diff --git a/mod/profile_photo.php b/mod/profile_photo.php index e44707f9bb..67b2c4ab41 100644 --- a/mod/profile_photo.php +++ b/mod/profile_photo.php @@ -128,6 +128,7 @@ function profile_photo_post(&$a) { return; } + $ph->orient($src); @unlink($src); return profile_photo_crop_ui_head($a, $ph); @@ -237,6 +238,12 @@ function profile_photo_content(&$a) { if(! function_exists('_crop_ui_head')) { function profile_photo_crop_ui_head(&$a, $ph){ + $max_length = get_config('system','max_image_length'); + if(! $max_length) + $max_length = MAX_IMAGE_LENGTH; + if($max_length > 0) + $ph->scaleImage($max_length); + $width = $ph->getWidth(); $height = $ph->getHeight(); diff --git a/mod/wall_upload.php b/mod/wall_upload.php index 5990f28344..07d97d17a9 100644 --- a/mod/wall_upload.php +++ b/mod/wall_upload.php @@ -101,8 +101,15 @@ function wall_upload_post(&$a) { killme(); } + $ph->orient($src); @unlink($src); + $max_length = get_config('system','max_image_length'); + if(! $max_length) + $max_length = MAX_IMAGE_LENGTH; + if($max_length > 0) + $ph->scaleImage($max_length); + $width = $ph->getWidth(); $height = $ph->getHeight();