acquia_perz-4.0.0-rc1/acquia_perz.install

acquia_perz.install
<?php

/**
 * @file
 * Acquia Perz - module install file.
 */

use Drupal\acquia_perz\PerzHelper;
use Drupal\Core\Render\Markup;

/**
 * Implements hook_install().
 */
function acquia_perz_install(): void {

  PerzHelper::createSiteHash();
  PerzHelper::migrateSiteId();

  // Ensure acquia_perz hooks are invoked after acquia_lift.
  module_set_weight('acquia_perz', 10);
}

/**
 * Implements hook_uninstall().
 */
function acquia_perz_uninstall(): void {

  // Delete entity config.
  $perz_entity_config = \Drupal::configFactory()->getEditable('acquia_perz.entity_config');
  $perz_entity_config->delete();

  // Delete perz cis settings.
  $perz_api_settings = \Drupal::configFactory()->getEditable('acquia_connector.settings');
  $perz_api_settings->clear('third_party_settings.acquia_perz');
  $perz_api_settings->save();

  // Remove perz state config.
  \Drupal::state()->delete('acquia_perz.environment');
  \Drupal::state()->delete('acquia_perz.site_hash');
}

/**
 * Implements hook_requirements().
 */
function acquia_perz_requirements($phase) {
  $requirements = [];

  if ($phase !== 'runtime') {
    return $requirements;
  }

  $config_error_messages = PerzHelper::getConfigErrorMessages();

  if (!empty($config_error_messages)) {
    $requirements['acquia_perz_configuration_status'] = [
      'title' => t('Acquia Personalization Configuration Status'),
      'severity' => REQUIREMENT_ERROR,
      'description' => Markup::create(implode('<br>', $config_error_messages)),
    ];
  }

  return $requirements;
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc