summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2011-08-22 14:33:02 +0000
committeralecpl <alec@alec.pl>2011-08-22 14:33:02 +0000
commitf0bccb7fb23847b24c8bd598cfb75fc385550211 (patch)
tree0a5d14790bdfeed71ef186cd1dfc5f7fd72b845c
parent3ef524d806caf990d6c7c3f64020af53545e849a (diff)
- Fix image type check for contact photo uploads
-rw-r--r--CHANGELOG2
-rw-r--r--program/steps/addressbook/upload_photo.inc10
2 files changed, 10 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index a5a9ad452..0df9b97fb 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 1ed71f8cb..f0430ae80 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';