Blame view

vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php 1.25 KB
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  <?php
  
  /**
   * Generic schema interchange format that can be converted to a runtime
   * representation (HTMLPurifier_ConfigSchema) or HTML documentation. Members
   * are completely validated.
   */
  class HTMLPurifier_ConfigSchema_Interchange
  {
  
      /**
       * Name of the application this schema is describing.
       * @type string
       */
      public $name;
  
      /**
       * Array of Directive ID => array(directive info)
       * @type HTMLPurifier_ConfigSchema_Interchange_Directive[]
       */
      public $directives = array();
  
      /**
       * Adds a directive array to $directives
       * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
       * @throws HTMLPurifier_ConfigSchema_Exception
       */
      public function addDirective($directive)
      {
          if (isset($this->directives[$i = $directive->id->toString()])) {
              throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");
          }
          $this->directives[$i] = $directive;
      }
  
      /**
       * Convenience function to perform standard validation. Throws exception
       * on failed validation.
       */
      public function validate()
      {
          $validator = new HTMLPurifier_ConfigSchema_Validator();
          return $validator->validate($this);
      }
  }
  
  // vim: et sw=4 sts=4