function FilterTestRestrictTagsAndAttributes::getHTMLRestrictions

Same name and namespace in other branches
  1. 8.9.x core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes::getHTMLRestrictions()
  2. 10 core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes::getHTMLRestrictions()
  3. 11.x core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php \Drupal\filter_test\Plugin\Filter\FilterTestRestrictTagsAndAttributes::getHTMLRestrictions()

Overrides FilterBase::getHTMLRestrictions

File

core/modules/filter/tests/filter_test/src/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php, line 34

Class

FilterTestRestrictTagsAndAttributes
Provides a test filter to restrict HTML tags and attributes.

Namespace

Drupal\filter_test\Plugin\Filter

Code

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 => $attrs_or_bool) {
      if (!is_array($attrs_or_bool)) {
        $restrictions['allowed'][$tag] = (bool) $attrs_or_bool;
      }
      else {
        foreach ($attrs_or_bool as $attr => $attrvals_or_bool) {
          if (!is_array($attrvals_or_bool)) {
            $restrictions['allowed'][$tag][$attr] = (bool) $attrvals_or_bool;
          }
          else {
            foreach ($attrvals_or_bool as $attrval => $bool) {
              $restrictions['allowed'][$tag][$attr][$attrval] = (bool) $bool;
            }
          }
        }
      }
    }
  }
  if (isset($restrictions['forbidden_tags'])) {
    foreach ($restrictions['forbidden_tags'] as $tag => $bool) {
      $restrictions['forbidden_tags'][$tag] = (bool) $bool;
    }
  }
  return $restrictions;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.