You are here

function elfinder_requirements in elFinder file manager 7.3

Same name and namespace in other branches
  1. 8.2 elfinder.install \elfinder_requirements()
  2. 6.2 elfinder.install \elfinder_requirements()
  3. 6 elfinder.install \elfinder_requirements()
  4. 7 elfinder.install \elfinder_requirements()
  5. 7.2 elfinder.install \elfinder_requirements()

Implements hook_requirements().

File

./elfinder.install, line 10
Installation file for elfinder.

Code

function elfinder_requirements($phase) {
  require_once drupal_get_path('module', 'elfinder') . "/elfinder.module";
  $requirements = array();
  $elfinder_installed_version = elfinder_get_installed_version();
  $elfinder_lib_path = elfinder_lib_path();
  $install_t = t('Version @ver or newer is required. Download it from <a href="@url">@url</a> and install to @libpath.', array(
    '@ver' => ELFINDER_MINIUM_VERSION,
    '@url' => elfinder_download_url(),
    '@libpath' => $elfinder_lib_path ? $elfinder_lib_path : 'sites/all/libraries/elfinder',
  ));
  if ($phase == 'runtime') {
    if (!$elfinder_installed_version) {
      $requirements['elfinder'] = array(
        'title' => t('elFinder file manager'),
        'value' => $elfinder_installed_version ? $elfinder_installed_version : t('not found'),
        'severity' => REQUIREMENT_ERROR,
        'description' => t('elFinder library was not found.') . ' ' . $install_t,
      );
    }
    elseif (!version_compare($elfinder_installed_version, ELFINDER_MINIUM_VERSION, '>=')) {
      $requirements['elfinder'] = array(
        'title' => t('elFinder file manager'),
        'value' => $elfinder_installed_version,
        'severity' => REQUIREMENT_ERROR,
        'description' => t('Unsupported elFinder library.') . ' ' . $install_t,
      );
    }
    elseif ($badfiles_msg = elfinder_badfiles_exist()) {
      $requirements['elfinder'] = array(
        'title' => t('elFinder file manager'),
        'value' => $elfinder_installed_version,
        'severity' => REQUIREMENT_ERROR,
        'description' => $badfiles_msg,
      );
    }
    else {
      $requirements['elfinder'] = array(
        'title' => t('elFinder file manager'),
        'severity' => REQUIREMENT_OK,
        'value' => $elfinder_installed_version,
      );
    }
  }
  return $requirements;
}