forked from GNUsocial/gnu-social
HTMLPurifier defangs arbitrary submitted HTML. We're using it in the OStatus plugin, but it may be valuable for other parts of the codebase (I think OEmbed might benefit, for example).
43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?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
|