mailchimp.install in Mailchimp 8
Same filename and directory in other branches
Install, update and uninstall functions for the Mailchimp Module.
File
mailchimp.installView source
<?php
/**
 * @file
 * Install, update and uninstall functions for the Mailchimp Module.
 */
use Doctrine\Common\ClassLoader;
/**
 * Implements hook_requirements().
 */
function mailchimp_requirements($phase) {
  $requirements = [
    'mailchimp' => [
      'title' => t('Mailchimp'),
    ],
  ];
  if ($phase == 'runtime') {
    $config = \Drupal::config('mailchimp.settings');
    // Check for Mailchimp library.
    if (class_exists($config
      ->get('api_classname'))) {
      $requirements['mailchimp']['description'] = t('The Mailchimp MCAPI wrapper library is installed correctly.');
      $requirements['mailchimp']['severity'] = REQUIREMENT_OK;
    }
    else {
      $requirements['mailchimp']['description'] = t('The Mailchimp MCAPI wrapper library has not been installed correctly.');
      $requirements['mailchimp']['severity'] = REQUIREMENT_ERROR;
    }
  }
  return $requirements;
}
/**
 * Implements hook_uninstall().
 */
function mailchimp_uninstall() {
  $queue = \Drupal::queue(MAILCHIMP_QUEUE_CRON);
  $queue
    ->deleteQueue();
}
/**
 * Update the class name in configuration.
 */
function mailchimp_update_8001(&$sandbox) {
  $config = \Drupal::configFactory()
    ->getEditable('mailchimp.settings');
  $config
    ->set('api_classname', 'Mailchimp\\Mailchimp');
  $config
    ->save();
}
/**
 * Update to add a configurable timeout period for the API.
 */
function mailchimp_update_8002(&$sandbox) {
  $config = \Drupal::configFactory()
    ->getEditable('mailchimp.settings');
  $config
    ->set('api_timeout', 10);
  $config
    ->save();
}Functions
| Name   | Description | 
|---|---|
| mailchimp_requirements | Implements hook_requirements(). | 
| mailchimp_uninstall | Implements hook_uninstall(). | 
| mailchimp_update_8001 | Update the class name in configuration. | 
| mailchimp_update_8002 | Update to add a configurable timeout period for the API. | 
