FilterBase.php in Drupal 8
File
core/modules/filter/src/Plugin/FilterBase.php
View source
<?php
namespace Drupal\filter\Plugin;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\PluginBase;
abstract class FilterBase extends PluginBase implements FilterInterface {
public $provider;
public $status = FALSE;
public $weight = 0;
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['weight'])) {
$this->weight = (int) $configuration['weight'];
}
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,
'weight' => $this->weight,
'settings' => $this->settings,
];
}
public function defaultConfiguration() {
return [
'provider' => $this->pluginDefinition['provider'],
'status' => FALSE,
'weight' => $this->pluginDefinition['weight'] ?: 0,
'settings' => $this->pluginDefinition['settings'],
];
}
public function calculateDependencies() {
return [];
}
public function getType() {
return $this->pluginDefinition['type'];
}
public function getLabel() {
return $this->pluginDefinition['title'];
}
public function getDescription() {
return $this->pluginDefinition['description'];
}
public function settingsForm(array $form, FormStateInterface $form_state) {
return [];
}
public function prepare($text, $langcode) {
return $text;
}
public function getHTMLRestrictions() {
return FALSE;
}
public function tips($long = FALSE) {
}
}