From 5692640ad5c23ef32581b2194547f615dd66c2f6 Mon Sep 17 00:00:00 2001 From: mrded Date: Thu, 28 Aug 2014 16:38:10 +0100 Subject: [PATCH] File validate image resolution inaccurate in some situations --- core/modules/file/file.module | 9 +++++++++ sites/default/default.settings.php | 0 2 files changed, 9 insertions(+) mode change 100644 => 100755 sites/default/default.settings.php diff --git a/core/modules/file/file.module b/core/modules/file/file.module index bf67993..2548dc8 100644 --- a/core/modules/file/file.module +++ b/core/modules/file/file.module @@ -454,7 +454,16 @@ function file_validate_image_resolution(File $file, $maximum_dimensions = 0, $mi // Check first that the file is an image. $image_factory = \Drupal::service('image.factory'); $image = $image_factory->get($file->getFileUri()); + if ($image->isSupported()) { + if ($maximum_dimensions && ($maximum_dimensions == $minimum_dimensions)) { + list($width, $height) = explode('x', $maximum_dimensions); + + if ($image->getWidth() != $width || $image->getHeight() != $height) { + return array(t('The image must be exactly %dimensions pixels.', array('%dimensions' => $maximum_dimensions))); + } + } + if ($maximum_dimensions) { // Check that it is smaller than the given dimensions. list($width, $height) = explode('x', $maximum_dimensions); diff --git a/sites/default/default.settings.php b/sites/default/default.settings.php old mode 100644 new mode 100755 -- 1.8.5.2 (Apple Git-48)