/** * Checks if GD is enabled and bundled. Bundled GD is required for some * methods to work. Exceptions will be thrown from those methods when GD is * not bundled. * * @return boolean */ public static function check() { if (!function_exists('gd_info')) { throw new CException('GD is either not installed or not enabled, check your configuration'); } if (defined('GD_BUNDLED')) { // Get the version via a constant, available in PHP 5. ImageGd::$_bundled = GD_BUNDLED; } else { // Get the version information $info = gd_info(); // Extract the bundled status ImageGd::$_bundled = (bool) preg_match('/\\bbundled\\b/i', $info['GD Version']); } if (defined('GD_VERSION')) { // Get the version via a constant, available in PHP 5.2.4+ $version = GD_VERSION; } else { // Get the version information $info = gd_info(); // Extract the version number preg_match('/\\d+\\.\\d+(?:\\.\\d+)?/', $info['GD Version'], $matches); // Get the major version $version = $matches[0]; } if (!version_compare($version, '2.0.1', '>=')) { throw new CException('ImageGd requires GD version 2.0.1 or greater, you have ' . $version); } return ImageGd::$_checked = TRUE; }