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(); } }