PATH:
home
/
letacommog
/
letaweb
/
admin
/
classes
/
htmlpurifier
/
library
/
HTMLPurifier
<?php /** * Validator for the components of a URI for a specific scheme. */ abstract class HTMLPurifier_URIScheme { /** * Scheme's default port (integer). If an explicit port number is * specified that coincides with the default port, it will be * elided. */ 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 data transmitted over this scheme is encrypted. * https is secure, http is not. */ public $secure = false; /** * Whether or not the URI always uses <hier_part>, resolves edge cases * with making relative URIs absolute. */ public $hierarchical = false; /** * Whether or not the URI may omit a hostname when the scheme is * explicitly specified, ala file:///path/to/file. As of writing, * 'file' is the only scheme that browsers support his properly. */ public $may_omit_host = false; /** * Validates the components of a URI for a specific scheme. * * @param $uri Reference to a HTMLPurifier_URI object * @param $config HTMLPurifier_Config object * @param $context HTMLPurifier_Context object * * @return Bool success or failure */ abstract public function doValidate(&$uri, $config, $context); /** * Public interface for validating components of a URI. Performs a * bunch of default actions. Don't overload this method. * * @param $uri Reference to a HTMLPurifier_URI object * @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; } // kludge: browsers do funny things when the scheme but not the // authority is set if (!$this->may_omit_host && // if the scheme is present, a missing host is always in error (!is_null($uri->scheme) && ($uri->host === '' || is_null($uri->host))) || // if the scheme is not present, a *blank* host is in error, // since this translates into '///path' which most browsers // interpret as being 'http://path'. (is_null($uri->scheme) && $uri->host === '') ) { do { if (is_null($uri->scheme)) { if (substr($uri->path, 0, 2) != '//') { $uri->host = null; break; } // URI is '////path', so we cannot nullify the // host to preserve semantics. Try expanding the // hostname instead (fall through) } // first see if we can manually insert a hostname $host = $config->get('URI.Host'); if (!is_null($host)) { $uri->host = $host; } else { // we can't do anything sensible, reject the URL. return false; } } while (false); } return $this->doValidate($uri, $config, $context); } } // vim: et sw=4 sts=4
[+]
..
[+]
ConfigSchema
[-] CSSDefinition.php
[edit]
[-] Generator.php
[edit]
[-] ElementDef.php
[edit]
[-] AttrTypes.php
[edit]
[+]
ChildDef
[+]
AttrDef
[-] ChildDef.php
[edit]
[+]
Printer
[-] Exception.php
[edit]
[-] PercentEncoder.php
[edit]
[+]
Lexer
[-] IDAccumulator.php
[edit]
[-] Token.php
[edit]
[+]
TagTransform
[-] AttrTransform.php
[edit]
[-] Language.php
[edit]
[-] Filter.php
[edit]
[-] Printer.php
[edit]
[-] DefinitionCache.php
[edit]
[-] Injector.php
[edit]
[-] TokenFactory.php
[edit]
[-] URISchemeRegistry.php
[edit]
[-] Length.php
[edit]
[-] URIParser.php
[edit]
[-] AttrCollections.php
[edit]
[-] Lexer.php
[edit]
[-] HTMLDefinition.php
[edit]
[-] Context.php
[edit]
[-] DefinitionCacheFactory.php
[edit]
[-] Doctype.php
[edit]
[+]
Strategy
[-] LanguageFactory.php
[edit]
[+]
Token
[-] TagTransform.php
[edit]
[-] AttrValidator.php
[edit]
[+]
Filter
[-] ErrorCollector.php
[edit]
[-] DoctypeRegistry.php
[edit]
[-] UnitConverter.php
[edit]
[-] EntityParser.php
[edit]
[-] URIScheme.php
[edit]
[-] Bootstrap.php
[edit]
[-] StringHashParser.php
[edit]
[+]
VarParser
[-] VarParserException.php
[edit]
[-] EntityLookup.php
[edit]
[-] ErrorStruct.php
[edit]
[-] HTMLModule.php
[edit]
[-] Definition.php
[edit]
[-] PropertyList.php
[edit]
[+]
URIFilter
[-] Strategy.php
[edit]
[-] AttrDef.php
[edit]
[+]
HTMLModule
[+]
URIScheme
[-] Config.php
[edit]
[-] HTMLModuleManager.php
[edit]
[-] Encoder.php
[edit]
[+]
AttrTransform
[-] URI.php
[edit]
[-] ContentSets.php
[edit]
[-] ConfigSchema.php
[edit]
[+]
EntityLookup
[-] VarParser.php
[edit]
[+]
Language
[-] PropertyListIterator.php
[edit]
[+]
DefinitionCache
[-] StringHash.php
[edit]
[+]
Injector
[-] URIDefinition.php
[edit]
[-] URIFilter.php
[edit]