You are here

superfish.install in Superfish 8

Same filename and directory in other branches
  1. 6 superfish.install
  2. 7 superfish.install

Install, update and uninstall functions for the Superfish module.

File

superfish.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the Superfish module.
 */

/**
 * Implements hook_enable().
 */
function superfish_install() {
  $messenger = \Drupal::messenger();
  if (superfish_library_check()) {
    $messenger
      ->addMessage(t('In order to use Superfish, go to the <a href="@block">Block layout</a> page and use any of the "Place block" buttons to create a Superfish block.', [
      '@block' => 'structure/block',
    ]));
  }
  else {
    $messenger
      ->addWarning(t('Superfish library is missing. Please refer to the <a href="@documentation">plugin documentation</a> for how you can fix this issue; Once done, go to the <a href="@block">Block layout</a> page and use any of the "Place block" buttons to create a Superfish block.', [
      '@documentation' => 'https://www.drupal.org/node/1125896',
      '@block' => 'structure/block',
    ]));
  }
  $messenger
    ->addMessage(t('If there was no Superfish block in the "Place block" form, go to the <a href="@performance">Performance</a> page and clear the cache once.', [
    '@performance' => 'config/development/performance',
  ]));
}

/**
 * Implements hook_requirements().
 */
function superfish_requirements($phase) {
  $requirements = [];
  if ($phase == 'runtime') {
    $requirements['superfish']['title'] = t('Superfish library');
    if (superfish_library_check()) {

      // Check the uploaded Superfish library version.
      $version = superfish_library_version();
      if (is_null($version)) {
        $requirements['superfish']['value'] = t('Inaccessible');
        $requirements['superfish']['severity'] = REQUIREMENT_ERROR;
        $requirements['superfish']['description'] = t('Cannot access the Superfish library directory; perhaps because its permissions and/or ownership are not set up correctly.');
      }
      else {
        $version = (int) $version;
        if (!$version || !is_numeric($version)) {
          $requirements['superfish']['value'] = t('Unknown version');
          $requirements['superfish']['severity'] = REQUIREMENT_ERROR;
          $requirements['superfish']['description'] = t('Cannot determine the version of your Superfish library.');
        }
        elseif (version_compare($version, 2, '<')) {
          $requirements['superfish']['value'] = t('Not supported');
          $requirements['superfish']['severity'] = REQUIREMENT_ERROR;
          $requirements['superfish']['description'] = t('The Superfish library requires an update. You can find the update instructions on :url.', [
            ':url' => 'https://www.drupal.org/project/superfish',
          ]);
        }
        else {
          $requirements['superfish']['value'] = t('Installed; at @location', [
            '@location' => superfish_library_path(),
          ]);
          $requirements['superfish']['severity'] = REQUIREMENT_OK;
        }
      }
    }
    else {
      $requirements['superfish']['value'] = t('Not installed');
      $requirements['superfish']['severity'] = REQUIREMENT_ERROR;
      $requirements['superfish']['description'] = t('Please download the Superfish library from :url.', [
        ':url' => 'https://www.drupal.org/project/superfish',
      ]);
    }
  }
  return $requirements;
}

Functions

Namesort descending Description
superfish_install Implements hook_enable().
superfish_requirements Implements hook_requirements().