summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-04-04 13:18:18 +0000
committerDries Buytaert <dries@buytaert.net>2010-04-04 13:18:18 +0000
commite7d18bc0b142b77f18540e35a5ae49aec939d67c (patch)
treede02d4ee804d4edb156da44198579e64ebdfecc2
parent6c049009e5949452898fd12bae23b7a671885834 (diff)
downloadbrdo-e7d18bc0b142b77f18540e35a5ae49aec939d67c.tar.gz
brdo-e7d18bc0b142b77f18540e35a5ae49aec939d67c.tar.bz2
- Patch #758628 by rfay: improve GD library hook_requirements() for color and image modules.
-rw-r--r--modules/color/color.install14
-rw-r--r--modules/image/image.install37
2 files changed, 44 insertions, 7 deletions
diff --git a/modules/color/color.install b/modules/color/color.install
index 3e86528c2..5503f6068 100644
--- a/modules/color/color.install
+++ b/modules/color/color.install
@@ -13,27 +13,27 @@ function color_requirements($phase) {
// Check for the PHP GD library.
if (function_exists('imagegd2')) {
$info = gd_info();
- $requirements['gd'] = array(
+ $requirements['color_gd'] = array(
'value' => $info['GD Version'],
);
// Check for PNG support.
if (function_exists('imagecreatefrompng')) {
- $requirements['gd']['severity'] = REQUIREMENT_OK;
+ $requirements['color_gd']['severity'] = REQUIREMENT_OK;
}
else {
- $requirements['gd']['severity'] = REQUIREMENT_ERROR;
- $requirements['gd']['description'] = t('The GD library for PHP is enabled, but was compiled without PNG support. Check the <a href="@url">PHP image documentation</a> for information on how to correct this.', array('@url' => 'http://www.php.net/manual/ref.image.php'));
+ $requirements['color_gd']['severity'] = REQUIREMENT_ERROR;
+ $requirements['color_gd']['description'] = t('The GD library for PHP is enabled, but was compiled without PNG support. Check the <a href="@url">PHP image documentation</a> for information on how to correct this.', array('@url' => 'http://www.php.net/manual/ref.image.php'));
}
}
else {
- $requirements['gd'] = array(
+ $requirements['color_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/ref.image.php')),
+ '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['gd']['title'] = t('GD library');
+ $requirements['color_gd']['title'] = t('GD library PNG support');
}
return $requirements;
diff --git a/modules/image/image.install b/modules/image/image.install
index 1e3663716..39f2f88b8 100644
--- a/modules/image/image.install
+++ b/modules/image/image.install
@@ -189,3 +189,40 @@ function image_update_7000() {
}
}
+/**
+ * Implements hook_requirements() to check the PHP GD Library.
+ *
+ * @param $phase
+ */
+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_ERROR;
+ $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;
+}