Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.
   1  <?php
   2  
   3  /**
   4   * Generic schema interchange format that can be converted to a runtime
   5   * representation (HTMLPurifier_ConfigSchema) or HTML documentation. Members
   6   * are completely validated.
   7   */
   8  class HTMLPurifier_ConfigSchema_Interchange
   9  {
  10  
  11      /**
  12       * Name of the application this schema is describing.
  13       * @type string
  14       */
  15      public $name;
  16  
  17      /**
  18       * Array of Directive ID => array(directive info)
  19       * @type HTMLPurifier_ConfigSchema_Interchange_Directive[]
  20       */
  21      public $directives = array();
  22  
  23      /**
  24       * Adds a directive array to $directives
  25       * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
  26       * @throws HTMLPurifier_ConfigSchema_Exception
  27       */
  28      public function addDirective($directive)
  29      {
  30          if (isset($this->directives[$i = $directive->id->toString()])) {
  31              throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");
  32          }
  33          $this->directives[$i] = $directive;
  34      }
  35  
  36      /**
  37       * Convenience function to perform standard validation. Throws exception
  38       * on failed validation.
  39       */
  40      public function validate()
  41      {
  42          $validator = new HTMLPurifier_ConfigSchema_Validator();
  43          return $validator->validate($this);
  44      }
  45  }
  46  
  47  // vim: et sw=4 sts=4