From f0bccb7fb23847b24c8bd598cfb75fc385550211 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Mon, 22 Aug 2011 10:33:02 -0400 Subject: [PATCH] - Fix image type check for contact photo uploads --- CHANGELOG | 2 ++ program/steps/addressbook/upload_photo.inc | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index a5a9ad4..0df9b97 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ CHANGELOG Roundcube Webmail =========================== +- Fix image type check for contact photo uploads + RELEASE 0.6-beta ---------------- - Fixed selecting identity on reply/forward (#1487981) diff --git a/program/steps/addressbook/upload_photo.inc b/program/steps/addressbook/upload_photo.inc index 1ed71f8..f0430ae 100644 --- a/program/steps/addressbook/upload_photo.inc +++ b/program/steps/addressbook/upload_photo.inc @@ -19,14 +19,20 @@ */ +// Supported image format types +// ImageMagick works with other non-image types (e.g.pdf) we don't want here +$IMAGE_TYPES = explode(',', 'jpeg,jpg,jp2,tiff,tif,bmp,eps,gif,png,png8,png24,png32,svg,ico'); + // clear all stored output properties (like scripts and env vars) $OUTPUT->reset(); -console($_FILES); + if ($filepath = $_FILES['_photo']['tmp_name']) { // check file type and resize image $imageprop = rcmail::imageprops($_FILES['_photo']['tmp_name']); - if ($imageprop['width'] && $imageprop['height']) { + if (in_array(strtolower($imageprop['type']), $IMAGE_TYPES) + && $imageprop['width'] && $imageprop['height'] + ) { $maxsize = intval($RCMAIL->config->get('contact_photo_size', 160)); $tmpfname = tempnam($RCMAIL->config->get('temp_dir'), 'rcmImgConvert'); $save_hook = 'attachment_upload'; -- Gitblit v1.9.1