aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php')
-rw-r--r--inc/3rdparty/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php
new file mode 100644
index 00000000..c094fa0b
--- /dev/null
+++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/ConfigSchema/Interchange.php
@@ -0,0 +1,47 @@
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 */
8class 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