Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are 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