You are here

akamai.install in Akamai 8.3

Contains install and update functionality for Akamai.

File

akamai.install
View source
<?php

/**
 * @file
 * Contains install and update functionality for Akamai.
 */

/**
 * Implements hook_requirements().
 */
function akamai_requirements($phase) {
  $requirements = [];
  if ($phase == 'install') {
    if (!class_exists('\\Akamai\\Open\\EdgeGrid\\Authentication')) {
      $requirements['akamai_auth_dependency'] = [
        'title' => t('Akamai'),
        'description' => t('Akamai requires the akamai-open/edgegrid-auth library.'),
        'severity' => REQUIREMENT_ERROR,
      ];
    }
    if (!class_exists('\\Akamai\\Open\\EdgeGrid\\Client')) {
      $requirements['akamai_client_dependency'] = [
        'title' => t('Akamai'),
        'description' => t('Akamai requires the akamai-open/edgegrid-client library.'),
        'severity' => REQUIREMENT_ERROR,
      ];
    }
  }
  return $requirements;
}

/**
 * Set edge_cache_tag_header default.
 */
function akamai_update_8001() {
  $config = \Drupal::service('config.factory')
    ->getEditable('akamai.settings');
  $config
    ->set('edge_cache_tag_header', FALSE);
  $config
    ->save();
}

/**
 * Set purge_urls_with_hostname setting to match previous behavior.
 */
function akamai_update_8002() {
  $config = \Drupal::service('config.factory')
    ->getEditable('akamai.settings');
  $config
    ->set('purge_urls_with_hostname', TRUE);
  $config
    ->save();
}

/**
 * Set edgescape_support default.
 */
function akamai_update_8003() {
  $config = \Drupal::service('config.factory')
    ->getEditable('akamai.settings');
  $config
    ->set('edgescape_support', FALSE);
  $config
    ->save();
}

/**
 * Set number_of_logs_to_delete default.
 */
function akamai_update_8004() {
  $config = \Drupal::service('config.factory')
    ->getEditable('akamai.settings');
  $config
    ->set('number_of_logs_to_delete', 20);
  $config
    ->save();
}

/**
 * Decommission CCUv2.
 */
function akamai_update_8005() {
  $version = \Drupal::config('akamai.settings')
    ->get('version');
  if ($version !== 'v3') {
    \Drupal::logger('akamai')
      ->warning('Please note: Akamai have deprecated CCUv2, the Akamai module now (currently) only supports CCUv3.');
    \Drupal::service('config.factory')
      ->getEditable('akamai.settings')
      ->set('version', 'v3')
      ->save();
  }

  // Delete old configs.
  \Drupal::service('config.factory')
    ->getEditable('akamai.settings.action_v2')
    ->delete();
  \Drupal::service('config.factory')
    ->getEditable('akamai.settings.status_expire')
    ->delete();
  \Drupal::service('config.factory')
    ->getEditable('number_of_logs_to_delete')
    ->delete();

  // Remove status logs.
  \Drupal::state()
    ->delete('akamai.purge_status');
}

Functions

Namesort descending Description
akamai_requirements Implements hook_requirements().
akamai_update_8001 Set edge_cache_tag_header default.
akamai_update_8002 Set purge_urls_with_hostname setting to match previous behavior.
akamai_update_8003 Set edgescape_support default.
akamai_update_8004 Set number_of_logs_to_delete default.
akamai_update_8005 Decommission CCUv2.