Example #1
0
 /**
  * Checks if GD is enabled and verify that key methods exist, some of which require GD to
  * be bundled with PHP.  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 Kohana_Exception('GD is either not installed or not enabled, check your configuration');
     }
     $functions = array(Image_GD::IMAGEROTATE, Image_GD::IMAGECONVOLUTION, Image_GD::IMAGEFILTER, Image_GD::IMAGELAYEREFFECT);
     foreach ($functions as $function) {
         Image_GD::$_available_functions[$function] = function_exists($function);
     }
     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;
 }
Example #2
0
File: gd.php Project: homm/image
 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;
 }
Example #3
0
 /**
  * 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_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('Image_GD requires GD version 2.0.1 or greater, you have ' . $version);
     }
     return Image_GD::$_checked = TRUE;
 }