You are here

function image_requirements in Drupal 7

Same name and namespace in other branches
  1. 8 core/modules/image/image.install \image_requirements()
  2. 9 core/modules/image/image.install \image_requirements()

Implements hook_requirements() to check the PHP GD Library.

Parameters

$phase:

File

modules/image/image.install, line 491
Install, update and uninstall functions for the image module.

Code

function image_requirements($phase) {
  $requirements = array();
  if ($phase == 'runtime') {

    // Check for the PHP GD library.
    if (function_exists('imagegd2')) {
      $info = gd_info();
      $requirements['image_gd'] = array(
        'value' => $info['GD Version'],
      );

      // Check for filter and rotate support.
      if (function_exists('imagefilter') && function_exists('imagerotate')) {
        $requirements['image_gd']['severity'] = REQUIREMENT_OK;
      }
      else {
        $requirements['image_gd']['severity'] = REQUIREMENT_WARNING;
        $requirements['image_gd']['description'] = t('The GD Library for PHP is enabled, but was compiled without support for functions used by the rotate and desaturate effects. It was probably compiled using the official GD libraries from http://www.libgd.org instead of the GD library bundled with PHP. You should recompile PHP --with-gd using the bundled GD library. See <a href="http://www.php.net/manual/book.image.php">the PHP manual</a>.');
      }
    }
    else {
      $requirements['image_gd'] = array(
        'value' => t('Not installed'),
        'severity' => REQUIREMENT_ERROR,
        'description' => t('The GD library for PHP is missing or outdated. Check the <a href="@url">PHP image documentation</a> for information on how to correct this.', array(
          '@url' => 'http://www.php.net/manual/book.image.php',
        )),
      );
    }
    $requirements['image_gd']['title'] = t('GD library rotate and desaturate effects');
  }
  return $requirements;
}