Пример #1
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_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;
 }