diff options
Diffstat (limited to 'library/HTMLPurifier/ConfigSchema/Interchange')
-rw-r--r-- | library/HTMLPurifier/ConfigSchema/Interchange/Directive.php | 77 | ||||
-rw-r--r-- | library/HTMLPurifier/ConfigSchema/Interchange/Id.php | 37 |
2 files changed, 114 insertions, 0 deletions
diff --git a/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php b/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php new file mode 100644 index 000000000..ac8be0d97 --- /dev/null +++ b/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php @@ -0,0 +1,77 @@ +<?php + +/** + * Interchange component class describing configuration directives. + */ +class HTMLPurifier_ConfigSchema_Interchange_Directive +{ + + /** + * ID of directive, instance of HTMLPurifier_ConfigSchema_Interchange_Id. + */ + public $id; + + /** + * String type, e.g. 'integer' or 'istring'. + */ + public $type; + + /** + * Default value, e.g. 3 or 'DefaultVal'. + */ + public $default; + + /** + * HTML description. + */ + public $description; + + /** + * Boolean whether or not null is allowed as a value. + */ + public $typeAllowsNull = false; + + /** + * Lookup table of allowed scalar values, e.g. array('allowed' => true). + * Null if all values are allowed. + */ + public $allowed; + + /** + * List of aliases for the directive, + * e.g. array(new HTMLPurifier_ConfigSchema_Interchange_Id('Ns', 'Dir'))). + */ + public $aliases = array(); + + /** + * Hash of value aliases, e.g. array('alt' => 'real'). Null if value + * aliasing is disabled (necessary for non-scalar types). + */ + public $valueAliases; + + /** + * Version of HTML Purifier the directive was introduced, e.g. '1.3.1'. + * Null if the directive has always existed. + */ + public $version; + + /** + * ID of directive that supercedes this old directive, is an instance + * of HTMLPurifier_ConfigSchema_Interchange_Id. Null if not deprecated. + */ + public $deprecatedUse; + + /** + * Version of HTML Purifier this directive was deprecated. Null if not + * deprecated. + */ + public $deprecatedVersion; + + /** + * List of external projects this directive depends on, e.g. array('CSSTidy'). + */ + public $external = array(); + +} + +// vim: et sw=4 sts=4 diff --git a/library/HTMLPurifier/ConfigSchema/Interchange/Id.php b/library/HTMLPurifier/ConfigSchema/Interchange/Id.php new file mode 100644 index 000000000..b9b3c6f5c --- /dev/null +++ b/library/HTMLPurifier/ConfigSchema/Interchange/Id.php @@ -0,0 +1,37 @@ +<?php + +/** + * Represents a directive ID in the interchange format. + */ +class HTMLPurifier_ConfigSchema_Interchange_Id +{ + + public $key; + + public function __construct($key) { + $this->key = $key; + } + + /** + * @warning This is NOT magic, to ensure that people don't abuse SPL and + * cause problems for PHP 5.0 support. + */ + public function toString() { + return $this->key; + } + + public function getRootNamespace() { + return substr($this->key, 0, strpos($this->key, ".")); + } + + public function getDirective() { + return substr($this->key, strpos($this->key, ".") + 1); + } + + public static function make($id) { + return new HTMLPurifier_ConfigSchema_Interchange_Id($id); + } + +} + +// vim: et sw=4 sts=4 |