You are here

function kaltura_requirements in Kaltura 7.3

Same name and namespace in other branches
  1. 5 kaltura.install \kaltura_requirements()
  2. 6.2 kaltura.install \kaltura_requirements()
  3. 6 kaltura.install \kaltura_requirements()
  4. 7.2 kaltura.install \kaltura_requirements()

Implements hook_requirements().

File

./kaltura.install, line 272
Installation process for kaltura core module.

Code

function kaltura_requirements($phase) {
  $requirements = array();
  $t = get_t();
  if ($phase == 'runtime') {

    // First check if Libraries module exists.
    if (!drupal_get_path('module', 'libraries')) {
      $requirements['kaltura'] = array(
        'title' => $t('Kaltura module'),
        'severity' => REQUIREMENT_ERROR,
        'value' => $t('Libraries module missing'),
        'description' => $t('Kaltura module requires the <a href="!url">Libraries module</a> to be installed.', array(
          '!url' => 'http://drupal.org/project/libraries',
        )),
      );
    }
    else {

      // Libraries module exists but may not be installed, even if it is listed
      // as a dependency in .info file. For example, during installation from an
      // installation profile Libraries will *not* be installed when
      // hook_requirements gets called.
      if (!function_exists('libraries_get_path')) {
        include_once drupal_get_path('module', 'libraries') . '/libraries.module';
      }
      if (!libraries_get_path('KalturaClient')) {

        // KalturaClient is not installed.
        $requirements['kaltura_client'] = array(
          'title' => $t('Kaltura client library'),
          'value' => $t('Not detected'),
          'severity' => REQUIREMENT_ERROR,
          'description' => $t('Kaltura module requires Kaltura client library to be installed. You can download it using Drush command "drush kaltura-client-install" or manually from !url.', array(
            '!url' => l($t('this url'), 'http://cdnbakmi.kaltura.com/content/clientlibs/php5_16-12-2014.tar.gz', array(
              'attributes' => array(
                'target' => '_blank',
              ),
            )),
          )),
        );
      }
      else {

        // KalturaClient is installed.
        $library = libraries_detect('KalturaClient');
        $requirements['kaltura_client'] = array(
          'title' => $t('Kaltura client library'),
          'value' => $library['version'],
          'severity' => REQUIREMENT_OK,
        );
        if (module_exists('kaltura')) {

          // If modules enabled, check if it was configured yet.
          $status = variable_get('kaltura_partner_id');
          if (!empty($status)) {
            $requirements['kaltura'] = array(
              'title' => $t('Kaltura module'),
              'value' => $t('Configured'),
              'severity' => REQUIREMENT_OK,
            );
          }
          else {
            $requirements['kaltura'] = array(
              'title' => $t('Kaltura module'),
              'value' => $t('Not configured'),
              'severity' => REQUIREMENT_ERROR,
              'description' => $t('You did not complete the module configuration. You must configure the module with valid kaltura partner details or perform registration. Go to !settings_link to complete configuration.', array(
                '!settings_link' => l($t('kaltura module settings'), 'admin/config/media/kaltura'),
              )),
            );
          }
        }
      }
    }
  }
  return $requirements;
}