Install, update and uninstall functions for the color module.
<?php
/**
* @file
* Install, update and uninstall functions for the color module.
*/
/**
* Implements hook_requirements().
*/
function color_requirements($phase) {
$requirements = array();
if ($phase == 'runtime') {
// Check for the PHP GD library.
if (function_exists('imagegd2')) {
$info = gd_info();
$requirements['color_gd'] = array(
'value' => $info['GD Version'],
);
// Check for PNG support.
if (!function_exists('imagecreatefrompng')) {
$requirements['color_gd']['severity'] = REQUIREMENT_WARNING;
$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['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/book.image.php',
)),
);
}
$requirements['color_gd']['title'] = t('GD library PNG support');
}
return $requirements;
}
/**
* Converts variables to config.
*/
function color_update_8001() {
$themes = db_select('variable', 'v')
->fields('v', array(
'name',
))
->condition('v.name', db_like('color_') . '%' . db_like('_palette'), 'LIKE')
->execute()
->fetchAllAssoc('name');
foreach ($themes as $theme_palette => $theme) {
// Get theme name from color palette variable.
preg_match('/color_(.*)_palette/', $theme_palette, $matches);
$theme_key = $matches[1];
$config = config('color.' . $theme_key);
$config
->set('palette', update_variable_get('color_' . $theme_key . '_palette'));
$config
->set('logo', update_variable_get('color_' . $theme_key . '_logo'));
$config
->set('stylesheets', update_variable_get('color_' . $theme_key . '_stylesheets'));
$config
->set('files', update_variable_get('color_' . $theme_key . '_files'));
// Screenshot is optional.
if (update_variable_get('color_' . $theme_key . '_screenshot')) {
$config
->set('screenshot', update_variable_get('color_' . $theme_key . '_screenshot'));
}
$config
->save();
}
}
Name | Description |
---|---|
color_requirements | Implements hook_requirements(). |
color_update_8001 | Converts variables to config. |