From c121dfb0fce5af4c275077c53d24890632de928a Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Wed, 28 Nov 2012 21:41:44 +0000 Subject: [PATCH] Explicitly check for version 2.2.0 or higher of the Imagick PHP module, to ensure we can call queryFormats() statically. props DH-Shredder, fixes #22308. git-svn-id: https://develop.svn.wordpress.org/trunk@22904 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/class-wp-image-editor-imagick.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/wp-includes/class-wp-image-editor-imagick.php b/wp-includes/class-wp-image-editor-imagick.php index d7b450f28e..03485b5f9a 100644 --- a/wp-includes/class-wp-image-editor-imagick.php +++ b/wp-includes/class-wp-image-editor-imagick.php @@ -29,7 +29,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor { /** * Checks to see if current environment supports Imagick. * - * We require Imagick 2.1.1 or greater, based on whether the queryFormats() + * We require Imagick 2.2.0 or greater, based on whether the queryFormats() * method can be called statically. * * @since 3.5.0 @@ -43,6 +43,9 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor { if ( ! extension_loaded( 'imagick' ) || ! class_exists( 'Imagick' ) || ! class_exists( 'ImagickPixel' ) ) return false; + if ( version_compare( phpversion( 'imagick' ), '2.2.0', '<' ) ) + return false; + $required_methods = array( 'clear', 'destroy', @@ -64,12 +67,11 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor { ); // Now, test for deep requirements within Imagick. - if ( ! is_callable( 'Imagick', 'queryFormats' ) || - ! defined( 'imagick::COMPRESSION_JPEG' ) || - array_diff( $required_methods, get_class_methods( 'Imagick' ) ) ) { - + if ( ! defined( 'imagick::COMPRESSION_JPEG' ) ) + return false; + + if ( array_diff( $required_methods, get_class_methods( 'Imagick' ) ) ) return false; - } return true; }