Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   1  <?php
   2  
   3  /**
   4   * Defines allowed child nodes and validates nodes against it.
   5   */
   6  abstract class HTMLPurifier_ChildDef
   7  {
   8      /**
   9       * Type of child definition, usually right-most part of class name lowercase.
  10       * Used occasionally in terms of context.
  11       * @type string
  12       */
  13      public $type;
  14  
  15      /**
  16       * Indicates whether or not an empty array of children is okay.
  17       *
  18       * This is necessary for redundant checking when changes affecting
  19       * a child node may cause a parent node to now be disallowed.
  20       * @type bool
  21       */
  22      public $allow_empty;
  23  
  24      /**
  25       * Lookup array of all elements that this definition could possibly allow.
  26       * @type array
  27       */
  28      public $elements = array();
  29  
  30      /**
  31       * Get lookup of tag names that should not close this element automatically.
  32       * All other elements will do so.
  33       * @param HTMLPurifier_Config $config HTMLPurifier_Config object
  34       * @return array
  35       */
  36      public function getAllowedElements($config)
  37      {
  38          return $this->elements;
  39      }
  40  
  41      /**
  42       * Validates nodes according to definition and returns modification.
  43       *
  44       * @param HTMLPurifier_Node[] $children Array of HTMLPurifier_Node
  45       * @param HTMLPurifier_Config $config HTMLPurifier_Config object
  46       * @param HTMLPurifier_Context $context HTMLPurifier_Context object
  47       * @return bool|array true to leave nodes as is, false to remove parent node, array of replacement children
  48       */
  49      abstract public function validateChildren($children, $config, $context);
  50  }
  51  
  52  // vim: et sw=4 sts=4