presto-8.x-2.2/src/Plugin/Presto/OptionalDependency/InstallSwiftmailer.php

src/Plugin/Presto/OptionalDependency/InstallSwiftmailer.php
<?php

namespace Drupal\presto\Plugin\Presto\OptionalDependency;

use Drupal\Core\Form\FormStateInterface;
use Drupal\presto\Installer\DependencyTypes;

/**
 * Installs swiftmailer if possible.
 *
 * @PrestoOptionalDependency(
 *     id = "install_swiftmailer",
 *     label = @Translation("Install SwiftMailer"),
 *     weight = 0
 * )
 */
class InstallSwiftmailer extends AbstractOptionalDependency {

  // The swiftmailer module machine name.
  const MODULE_NAME = 'swiftmailer';

  /**
   * {@inheritdoc}
   */
  public function shouldInstall(array $installState) {
    // Only install this if the swiftmailer library exist. It may not if this
    // profile was downloaded from drupal.org.
    /** @noinspection ClassConstantCanBeUsedInspection */
    return class_exists('\Swift_Mailer');
  }

  /**
   * Get any required Batch API install operations for this dependency.
   *
   * @return array
   *   Batch operation definitions.
   */
  public function getInstallOperations() {
    return [
      [
        [static::class, 'installDependency'],
        [
          static::MODULE_NAME,
          DependencyTypes::MODULE,
        ],
      ],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    // This dependency has no configuration.
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(
    array $form,
    FormStateInterface $form_state
  ) {
    // No configuration required for this dependency.
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(
    array &$form,
    FormStateInterface $form_state
  ) {
    // Nothing to do, we don't have a form.
  }

}

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

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