Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 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   * 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