Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.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