public static function check() { if (!function_exists('gd_info')) { throw new Kohana_Exception('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. Image_GD::$_bundled = GD_BUNDLED; } else { // Get the version information $info = gd_info(); // Extract the bundled status Image_GD::$_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 Kohana_Exception('Image_GD requires GD version :required or greater, you have :version', array('required' => '2.0.1', ':version' => $version)); } return Image_GD::$_checked = TRUE; }
/** * 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() { parent::check(); // Chema-> theres a bug here sometimes returns 0 as version :( if (defined('GD_BUNDLED')) { // Get the version via a constant, available in PHP 5. Image_GD::$_bundled = GD_BUNDLED == 0 ? 1 : GD_BUNDLED; } else { // Get the version information $info = gd_info(); // Extract the bundled status Image_GD::$_bundled = (bool) preg_match('/\\bbundled\\b/i', $info['GD Version']); } }