color.install

Install, update and uninstall functions for the color module.

File

drupal/core/modules/color/color.install
View source
<?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();
  }
}

Functions

Namesort descending Description
color_requirements Implements hook_requirements().
color_update_8001 Converts variables to config.