You are here

function plupload_requirements in Plupload integration 7.2

Same name and namespace in other branches
  1. 8 plupload.install \plupload_requirements()
  2. 6 plupload.install \plupload_requirements()
  3. 7 plupload.install \plupload_requirements()
  4. 2.0.x plupload.install \plupload_requirements()

Implements hook_requirements().

File

./plupload.install, line 11
Install, update and uninstall functions for the Plupload module.

Code

function plupload_requirements($phase) {
  $requirements = array();
  $t = get_t();
  if ($phase == 'runtime') {
    $requirements['plupload'] = array(
      'title' => $t('Plupload library'),
      'value' => $t('Unknown'),
    );
    $requirements['plupload']['severity'] = REQUIREMENT_OK;
    $libraries = plupload_library();
    $library = $libraries['plupload'];

    // Check if Plupload library exists. Try to determine it's version
    // if it does.
    if (!_plupload_requirements_installed()) {
      $message = 'The <a href="@url">@title</a> library (version @version or higher) is not installed.';
      $args = array(
        '@title' => $library['title'],
        '@url' => url($library['website']),
        '@version' => $library['version'],
      );
      $requirements['plupload']['description'] = $t($message, $args);
      $requirements['plupload']['severity'] = REQUIREMENT_ERROR;
    }
    elseif (($installed_version = _plupload_requirements_version()) === NULL) {
      $requirements['plupload']['description'] = $t('Plupload version could not be determined.');
      $requirements['plupload']['severity'] = REQUIREMENT_INFO;
    }
    elseif (!version_compare($library['version'], $installed_version, '<=')) {
      $requirements['plupload']['description'] = $t('Plupload @version or higher is required.', array(
        '@version' => $library['version'],
      ));
      $requirements['plupload']['severity'] = REQUIREMENT_INFO;
    }
    $requirements['plupload']['value'] = empty($installed_version) ? $t('Not found') : $installed_version;
    if (file_exists(_plupload_library_path() . '/examples/upload.php')) {
      $requirements['plupload_examples'] = array(
        'title' => $t('Plupload example folder'),
        'value' => $t('Example folder found'),
        'description' => $t('Plupload library contains example files, these could constitute a security risk to your site as per <a href="!url">PSA-2011-02</a>. Please remove the !path folder immediately.', array(
          '!url' => 'http://drupal.org/node/1189632',
          '!path' => _plupload_library_path() . '/examples',
        )),
        'severity' => REQUIREMENT_ERROR,
      );
    }
  }
  return $requirements;
}