You are here

function barcode_requirements in Barcode 7.2

Same name and namespace in other branches
  1. 6.2 barcode.install \barcode_requirements()
  2. 6 barcode.install \barcode_requirements()

Implements hook_requirements().

File

./barcode.install, line 50
Install file for barcode module.

Code

function barcode_requirements($phase) {
  $requirements = array();
  if ($phase != 'runtime') {
    return $requirements;
  }

  // Create the styles directory and ensure it's writable.
  $settings = barcode_get_settings();
  $created = file_prepare_directory($settings['default_path'], FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
  if (!$created) {
    $requirements['barcode_dirs'] = array(
      'value' => t('Missing directory'),
      'severity' => REQUIREMENT_ERROR,
      'description' => t("The barcode module's default directory %barcode-dir can not be created.", array(
        '%barcode-dir' => $settings['default_path'],
      )),
    );
  }
  else {
    $requirements['barcode_dirs'] = array(
      'value' => t('Barcode directory exists (%path).', array(
        '%path' => $settings['default_path'],
      )),
      'severity' => REQUIREMENT_OK,
    );
  }
  $requirements['barcode_dirs']['title'] = t('Barcode module directories');

  // Image library check.
  if (!function_exists("imagecreate")) {
    $requirements['barcode_image_library'] = array(
      'value' => t('Missing image library'),
      'severity' => REQUIREMENT_ERROR,
      'description' => t('The barcode module needs GD library support.'),
    );
  }
  else {
    $requirements['barcode_image_library'] = array(
      'value' => t('Image library exists.'),
      'severity' => REQUIREMENT_OK,
    );
  }
  $requirements['barcode_image_library']['title'] = t('Barcode image library');

  // FreeType Support check.
  if (!function_exists("imagettftext")) {
    $requirements['barcode_freetype_gd'] = array(
      'value' => t('Missing FreeType extension for GD'),
      'severity' => REQUIREMENT_ERROR,
      'description' => t('The barcode module needs FreeType extension of GD library to be enabled.'),
    );
  }
  else {
    $requirements['barcode_freetype_gd'] = array(
      'value' => t('FreeType extnesion of GD library exists.'),
      'severity' => REQUIREMENT_OK,
    );
  }
  $requirements['barcode_freetype_gd']['title'] = t('FreeType extension');
  return $requirements;
}