From de9e75cc0dff796da74cea06d79b59a2137bf502 Mon Sep 17 00:00:00 2001 From: nturato Date: Tue, 15 Jan 2013 10:17:02 +0100 Subject: [PATCH] [WS] images are only shown as jpg or gif If you enable BO to also use the PNG file you can not use these images in WS because there are no controls on the image type --- .../WebserviceSpecificManagementImages.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/classes/webservice/WebserviceSpecificManagementImages.php b/classes/webservice/WebserviceSpecificManagementImages.php index d2e20108f..c7e282bd7 100755 --- a/classes/webservice/WebserviceSpecificManagementImages.php +++ b/classes/webservice/WebserviceSpecificManagementImages.php @@ -33,7 +33,7 @@ class WebserviceSpecificManagementImagesCore implements WebserviceSpecificManage /** * @var string The extension of the image to display */ - protected $imgExtension = 'jpg'; + protected $imgExtension; /** * @var array The type of images (general, categories, manufacturers, suppliers, stores...) @@ -119,10 +119,18 @@ class WebserviceSpecificManagementImagesCore implements WebserviceSpecificManage // display image content if needed else if ($this->imgToDisplay) { + if(empty($this->imgExtension)){ + $imginfo = getimagesize($this->imgToDisplay); + $this->imgExtension = image_type_to_extension($imginfo[2],false); + } + $imageResource = false; - $types = array('jpg' => array('function' => 'imagecreatefromjpeg', 'Content-Type' => 'image/jpeg'), - 'gif' => array('function' => 'imagecreatefromgif', 'Content-Type' => 'image/gif') - ); + $types = array( + 'jpg' => array('function' => 'imagecreatefromjpeg', 'Content-Type' => 'image/jpeg'), + 'jpeg' => array('function' => 'imagecreatefromjpeg', 'Content-Type' => 'image/jpeg'), + 'png' => array('function' => 'imagecreatefrompng', 'Content-Type' => 'image/png'), + 'gif' => array('function' => 'imagecreatefromgif', 'Content-Type' => 'image/gif') + ); if (array_key_exists($this->imgExtension, $types)) $imageResource = @$types[$this->imgExtension]['function']($this->imgToDisplay);