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   * Converts HTMLPurifier_ConfigSchema_Interchange to our runtime
   5   * representation used to perform checks on user configuration.
   6   */
   7  class HTMLPurifier_ConfigSchema_Builder_ConfigSchema
   8  {
   9  
  10      /**
  11       * @param HTMLPurifier_ConfigSchema_Interchange $interchange
  12       * @return HTMLPurifier_ConfigSchema
  13       */
  14      public function build($interchange)
  15      {
  16          $schema = new HTMLPurifier_ConfigSchema();
  17          foreach ($interchange->directives as $d) {
  18              $schema->add(
  19                  $d->id->key,
  20                  $d->default,
  21                  $d->type,
  22                  $d->typeAllowsNull
  23              );
  24              if ($d->allowed !== null) {
  25                  $schema->addAllowedValues(
  26                      $d->id->key,
  27                      $d->allowed
  28                  );
  29              }
  30              foreach ($d->aliases as $alias) {
  31                  $schema->addAlias(
  32                      $alias->key,
  33                      $d->id->key
  34                  );
  35              }
  36              if ($d->valueAliases !== null) {
  37                  $schema->addValueAliases(
  38                      $d->id->key,
  39                      $d->valueAliases
  40                  );
  41              }
  42          }
  43          $schema->postProcess();
  44          return $schema;
  45      }
  46  }
  47  
  48  // vim: et sw=4 sts=4