class FilterTestRestrictTagsAndAttributes
Same name in other branches
- 9 core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes
- 8.9.x core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes
- 11.x core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes
Provides a test filter to restrict HTML tags and attributes.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\filter\Plugin\FilterBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\filter\Plugin\FilterInterface
- class \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes extends \Drupal\filter\Plugin\FilterBase
- class \Drupal\filter\Plugin\FilterBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\filter\Plugin\FilterInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of FilterTestRestrictTagsAndAttributes
File
-
core/
modules/ filter/ tests/ filter_test/ src/ Plugin/ Filter/ FilterTestRestrictTagsAndAttributes.php, line 15
Namespace
Drupal\filter_test\Plugin\FilterView source
class FilterTestRestrictTagsAndAttributes extends FilterBase {
/**
* {@inheritdoc}
*/
public function process($text, $langcode) {
$allowed_tags = array_filter($this->settings['restrictions']['allowed'], function ($value) {
return is_array($value) || (bool) $value !== FALSE;
});
return new FilterProcessResult(Xss::filter($text, array_keys($allowed_tags)));
}
/**
* {@inheritdoc}
*/
public function getHTMLRestrictions() {
$restrictions = $this->settings['restrictions'];
// The configuration system stores FALSE as '0' and TRUE as '1'. Fix that.
if (isset($restrictions['allowed'])) {
foreach ($restrictions['allowed'] as $tag => $attributes_or_bool) {
if (!is_array($attributes_or_bool)) {
$restrictions['allowed'][$tag] = (bool) $attributes_or_bool;
}
else {
foreach ($attributes_or_bool as $attr => $attribute_values_or_bool) {
if (!is_array($attribute_values_or_bool)) {
$restrictions['allowed'][$tag][$attr] = (bool) $attribute_values_or_bool;
}
else {
foreach ($attribute_values_or_bool as $attribute_value => $bool) {
$restrictions['allowed'][$tag][$attr][$attribute_value] = (bool) $bool;
}
}
}
}
}
}
return $restrictions;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
FilterBase::$provider | public | property | The name of the provider that owns this filter. | ||
FilterBase::$settings | public | property | An associative array containing the configured settings of this filter. | ||
FilterBase::$status | public | property | A Boolean indicating whether this filter is enabled. | ||
FilterBase::$weight | public | property | The weight of this filter compared to others in a filter collection. | ||
FilterBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | 1 |
FilterBase::defaultConfiguration | public | function | Gets default configuration for this plugin. | Overrides ConfigurableInterface::defaultConfiguration | |
FilterBase::getConfiguration | public | function | Gets this plugin's configuration. | Overrides ConfigurableInterface::getConfiguration | |
FilterBase::getDescription | public | function | Returns the administrative description for this filter plugin. | Overrides FilterInterface::getDescription | |
FilterBase::getLabel | public | function | Returns the administrative label for this filter plugin. | Overrides FilterInterface::getLabel | |
FilterBase::getType | public | function | Returns the processing type of this filter plugin. | Overrides FilterInterface::getType | |
FilterBase::prepare | public | function | Prepares the text for processing. | Overrides FilterInterface::prepare | |
FilterBase::setConfiguration | public | function | Sets the configuration for this plugin instance. | Overrides ConfigurableInterface::setConfiguration | 1 |
FilterBase::settingsForm | public | function | Generates a filter's settings form. | Overrides FilterInterface::settingsForm | 3 |
FilterBase::tips | public | function | Generates a filter's tip. | Overrides FilterInterface::tips | 9 |
FilterBase::__construct | public | function | 4 | ||
FilterInterface::TYPE_HTML_RESTRICTOR | constant | HTML tag and attribute restricting filters to prevent XSS attacks. | |||
FilterInterface::TYPE_MARKUP_LANGUAGE | constant | Non-HTML markup language filters that generate HTML. | |||
FilterInterface::TYPE_TRANSFORM_IRREVERSIBLE | constant | Irreversible transformation filters. | |||
FilterInterface::TYPE_TRANSFORM_REVERSIBLE | constant | Reversible transformation filters. | |||
FilterTestRestrictTagsAndAttributes::getHTMLRestrictions | public | function | Returns HTML allowed by this filter's configuration. | Overrides FilterBase::getHTMLRestrictions | |
FilterTestRestrictTagsAndAttributes::process | public | function | Performs the filter processing. | Overrides FilterInterface::process | |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.