class YamlFormAddonsManager in YAML Form 8
Form add-ons manager.
Hierarchy
- class \Drupal\yamlform\YamlFormAddonsManager implements YamlFormAddonsManagerInterface uses StringTranslationTrait
Expanded class hierarchy of YamlFormAddonsManager
1 string reference to 'YamlFormAddonsManager'
1 service uses YamlFormAddonsManager
File
- src/YamlFormAddonsManager.php, line 11 
Namespace
Drupal\yamlformView source
class YamlFormAddonsManager implements YamlFormAddonsManagerInterface {
  use StringTranslationTrait;
  /**
   * Projects that provides additional functionality to the YAML Form module.
   *
   * @var array
   */
  protected $projects;
  /**
   * Constructs a YamlFormAddOnsManager object.
   */
  public function __construct() {
    $this->projects = $this
      ->initProjects();
  }
  /**
   * {@inheritdoc}
   */
  public function getProject($name) {
    return $this->projects[$name];
  }
  /**
   * {@inheritdoc}
   */
  public function getProjects($category = NULL) {
    $projects = $this->projects;
    if ($category) {
      foreach ($projects as $project_name => $project) {
        if ($project['category'] != $category) {
          unset($projects[$project_name]);
        }
      }
    }
    return $projects;
  }
  /**
   * {@inheritdoc}
   */
  public function getThirdPartySettings() {
    $projects = $this->projects;
    foreach ($projects as $project_name => $project) {
      if (empty($project['third_party_settings'])) {
        unset($projects[$project_name]);
      }
    }
    return $projects;
  }
  /**
   * {@inheritdoc}
   */
  public function getCategories() {
    $categories = [];
    $categories['config'] = [
      'title' => $this
        ->t('Configuration management'),
    ];
    $categories['integration'] = [
      'title' => $this
        ->t('Integration'),
    ];
    $categories['mail'] = [
      'title' => $this
        ->t('Mail'),
    ];
    $categories['migrate'] = [
      'title' => $this
        ->t('Migrate'),
    ];
    $categories['spam'] = [
      'title' => $this
        ->t('SPAM Protection'),
    ];
    $categories['handler'] = [
      'title' => $this
        ->t('Submission handling'),
    ];
    $categories['validation'] = [
      'title' => $this
        ->t('Validation'),
    ];
    $categories['utility'] = [
      'title' => $this
        ->t('Utility'),
    ];
    return $categories;
  }
  /**
   * Initialize add-on projects.
   *
   * @return array
   *   An associative array containing add-on projects.
   */
  protected function initProjects() {
    $projects = [];
    // Spam: CAPTCHA.
    $projects['captcha'] = [
      'title' => $this
        ->t('CAPTCHA'),
      'description' => $this
        ->t('Provides CAPTCHA for adding challenges to arbitrary forms.'),
      'url' => Url::fromUri('https://www.drupal.org/project/captcha'),
      'category' => 'spam',
    ];
    // Spam: Honeypot.
    $projects['honeypot'] = [
      'title' => $this
        ->t('Honeypot'),
      'description' => $this
        ->t('Mitigates spam form submissions using the honeypot method.'),
      'url' => Url::fromUri('https://www.drupal.org/project/honeypot'),
      'category' => 'spam',
      'third_party_settings' => TRUE,
    ];
    // Validation: Clientside Validation.
    $projects['clientside_validation'] = [
      'title' => $this
        ->t('Clientside Validation'),
      'description' => $this
        ->t('Adds clientside validation to forms.'),
      'url' => Url::fromUri('https://www.drupal.org/project/clientside_validation'),
      'category' => 'validation',
    ];
    // Validation: Validators.
    $projects['validators'] = [
      'title' => $this
        ->t('Validators'),
      'description' => $this
        ->t('Provides Symfony (form) Validators for Drupal 8.'),
      'url' => Url::fromUri('https://www.drupal.org/project/validators'),
      'category' => 'validation',
    ];
    // Integrations: MailChimp.
    $projects['mailchimp'] = [
      'title' => $this
        ->t('YAML Form MailChimp'),
      'description' => $this
        ->t('Posts form submissions to MailChimp list.'),
      'url' => Url::fromUri('https://www.drupal.org/project/yamlform_mailchimp'),
      'category' => 'integration',
    ];
    // Integrations: Webform Views Integration.
    $projects['webform_views'] = [
      'title' => $this
        ->t('Webform Views Integration'),
      'description' => $this
        ->t('Integrates Webforms 8.x-5.x and Views modules.'),
      'url' => Url::fromUri('https://www.drupal.org/node/2838128'),
      'category' => 'integration',
    ];
    // Handler: YAML Form Queue.
    $projects['yamlform_queue'] = [
      'title' => $this
        ->t('YAML Form Queue'),
      'description' => $this
        ->t('Posts form submissions into a Drupal queue.'),
      'url' => Url::fromUri('https://www.drupal.org/project/yamlform_queue'),
      'category' => 'handler',
    ];
    // Mail: Mail System.
    $projects['mailsystem'] = [
      'title' => $this
        ->t('Mail System'),
      'description' => $this
        ->t('Provides a user interface for per-module and site-wide mail system selection.'),
      'url' => Url::fromUri('https://www.drupal.org/project/mailsystem'),
      'category' => 'mail',
    ];
    // Mail: SMTP Authentication Support.
    $projects['smtp'] = [
      'title' => $this
        ->t('SMTP Authentication Support'),
      'description' => $this
        ->t('Allows for site emails to be sent through an SMTP server of your choice.'),
      'url' => Url::fromUri('https://www.drupal.org/project/smtp'),
      'category' => 'mail',
    ];
    // Migrate: Token.
    $projects['token'] = [
      'title' => $this
        ->t('Token'),
      'description' => $this
        ->t('Provides a user interface for the Token API and some missing core tokens.'),
      'url' => Url::fromUri('https://www.drupal.org/project/token'),
      'category' => 'utility',
    ];
    // Migrate: YAML Form Migrate.
    $projects['yamlform_migrate'] = [
      'title' => $this
        ->t('YAML Form Migrate'),
      'description' => $this
        ->t('Provides migration routines from Drupal 6 Webform module to Drupal 8 YAML Form module.'),
      'url' => Url::fromUri('https://www.drupal.org/sandbox/dippers/2819169'),
      'category' => 'migrate',
    ];
    // Config: Drush CMI tools.
    $projects['drush_cmi_tools'] = [
      'title' => $this
        ->t('Drush CMI tools'),
      'description' => $this
        ->t('Provides advanced CMI import and export functionality for CMI workflows. Drush CMI tools should be used to protect YAML Forms from being overwritten during a configuration import.'),
      'url' => Url::fromUri('https://github.com/previousnext/drush_cmi_tools'),
      'category' => 'config',
    ];
    // Configuration Split.
    $projects['config_split'] = [
      'title' => $this
        ->t('Configuration Split'),
      'description' => $this
        ->t('Provides configuration filter for importing and exporting split config.'),
      'url' => Url::fromUri('https://www.drupal.org/project/config_split'),
      'category' => 'config',
    ];
    return $projects;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | |
| YamlFormAddonsManager:: | protected | property | Projects that provides additional functionality to the YAML Form module. | |
| YamlFormAddonsManager:: | public | function | Get add-on categories. Overrides YamlFormAddonsManagerInterface:: | |
| YamlFormAddonsManager:: | public | function | Get add-on project information. Overrides YamlFormAddonsManagerInterface:: | |
| YamlFormAddonsManager:: | public | function | Get add-on projects. Overrides YamlFormAddonsManagerInterface:: | |
| YamlFormAddonsManager:: | public | function | Get add-on projects that support third party settings. Overrides YamlFormAddonsManagerInterface:: | |
| YamlFormAddonsManager:: | protected | function | Initialize add-on projects. | |
| YamlFormAddonsManager:: | public | function | Constructs a YamlFormAddOnsManager object. | 
