diff options
Diffstat (limited to 'library/HTMLPurifier/URIScheme.php')
-rw-r--r-- | library/HTMLPurifier/URIScheme.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/library/HTMLPurifier/URIScheme.php b/library/HTMLPurifier/URIScheme.php new file mode 100644 index 000000000..039710fd1 --- /dev/null +++ b/library/HTMLPurifier/URIScheme.php @@ -0,0 +1,42 @@ +<?php + +/** + * Validator for the components of a URI for a specific scheme + */ +class HTMLPurifier_URIScheme +{ + + /** + * Scheme's default port (integer) + */ + public $default_port = null; + + /** + * Whether or not URIs of this schem are locatable by a browser + * http and ftp are accessible, while mailto and news are not. + */ + public $browsable = false; + + /** + * Whether or not the URI always uses <hier_part>, resolves edge cases + * with making relative URIs absolute + */ + public $hierarchical = false; + + /** + * Validates the components of a URI + * @note This implementation should be called by children if they define + * a default port, as it does port processing. + * @param $uri Instance of HTMLPurifier_URI + * @param $config HTMLPurifier_Config object + * @param $context HTMLPurifier_Context object + * @return Bool success or failure + */ + public function validate(&$uri, $config, $context) { + if ($this->default_port == $uri->port) $uri->port = null; + return true; + } + +} + +// vim: et sw=4 sts=4 |