RecipientTypeBase.php in Workbench Email 8
File
src/Plugin/RecipientTypeBase.php
View source
<?php
namespace Drupal\workbench_email\Plugin;
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\PluginBase;
use Drupal\Core\Plugin\PluginWithFormsTrait;
use Drupal\workbench_email\TemplateInterface;
abstract class RecipientTypeBase extends PluginBase implements RecipientTypeInterface {
use PluginWithFormsTrait;
public $provider;
public $status = FALSE;
public $settings = [];
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->provider = $this->pluginDefinition['provider'];
$this
->setConfiguration($configuration);
}
public function setConfiguration(array $configuration) {
if (isset($configuration['status'])) {
$this->status = (bool) $configuration['status'];
}
if (isset($configuration['settings'])) {
$this->settings = (array) $configuration['settings'];
}
return $this;
}
public function getConfiguration() {
return [
'id' => $this
->getPluginId(),
'provider' => $this->pluginDefinition['provider'],
'status' => $this->status,
'settings' => $this->settings,
];
}
public function defaultConfiguration() {
return [
'provider' => $this->pluginDefinition['provider'],
'status' => FALSE,
'settings' => $this->pluginDefinition['settings'],
];
}
public function calculateDependencies() {
return [];
}
public function getLabel() {
return $this->pluginDefinition['title'];
}
public function getDescription() {
return $this->pluginDefinition['description'];
}
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
return [];
}
public function prepareRecipients(ContentEntityInterface $entity, TemplateInterface $template) {
return [];
}
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
}
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
}
public function isEnabled() {
return $this->status;
}
public function onDependencyRemoval(array $dependencies) {
return FALSE;
}
}