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   * Allows multiple validators to attempt to validate attribute.
   5   *
   6   * Composite is just what it sounds like: a composite of many validators.
   7   * This means that multiple HTMLPurifier_AttrDef objects will have a whack
   8   * at the string.  If one of them passes, that's what is returned.  This is
   9   * especially useful for CSS values, which often are a choice between
  10   * an enumerated set of predefined values or a flexible data type.
  11   */
  12  class HTMLPurifier_AttrDef_CSS_Composite extends HTMLPurifier_AttrDef
  13  {
  14  
  15      /**
  16       * List of objects that may process strings.
  17       * @type HTMLPurifier_AttrDef[]
  18       * @todo Make protected
  19       */
  20      public $defs;
  21  
  22      /**
  23       * @param HTMLPurifier_AttrDef[] $defs List of HTMLPurifier_AttrDef objects
  24       */
  25      public function __construct($defs)
  26      {
  27          $this->defs = $defs;
  28      }
  29  
  30      /**
  31       * @param string $string
  32       * @param HTMLPurifier_Config $config
  33       * @param HTMLPurifier_Context $context
  34       * @return bool|string
  35       */
  36      public function validate($string, $config, $context)
  37      {
  38          foreach ($this->defs as $i => $def) {
  39              $result = $this->defs[$i]->validate($string, $config, $context);
  40              if ($result !== false) {
  41                  return $result;
  42              }
  43          }
  44          return false;
  45      }
  46  }
  47  
  48  // vim: et sw=4 sts=4