From 1375ed6aea765f16ff70606187d1458ee85ea6d9 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 28 Oct 2015 20:01:50 +0100 Subject: pathinfo() does not work in this case. getimagesize() seems more reliabel. this fixes transparent png avatars having a black background. --- include/photo/photo_driver.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/photo') diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 32b9bd302..d439e9877 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -542,6 +542,7 @@ function guess_image_type($filename, $headers = '') { } } +/* if(is_null($type)) { $ext = pathinfo($filename, PATHINFO_EXTENSION); $ph = photo_factory(''); @@ -551,6 +552,13 @@ function guess_image_type($filename, $headers = '') { if ($ext==$e) $type = $m; } } +*/ + if(is_null($type)) { + $size = getimagesize($filename); + $ph = photo_factory(''); + $types = $ph->supportedTypes(); + $type = ((array_key_exists($size['mime'], $types)) ? $size['mime'] : 'image/jpeg'); + } } logger('Photo: guess_image_type: type='.$type, LOGGER_DEBUG); return $type; -- cgit v1.2.3