PATH:
home
/
lab2454c
/
tripvare.com
/
vendor
/
ezyang
/
htmlpurifier
/
library
/
HTMLPurifier
<?php class HTMLPurifier_DoctypeRegistry { /** * Hash of doctype names to doctype objects. * @type array */ protected $doctypes; /** * Lookup table of aliases to real doctype names. * @type array */ protected $aliases; /** * Registers a doctype to the registry * @note Accepts a fully-formed doctype object, or the * parameters for constructing a doctype object * @param string $doctype Name of doctype or literal doctype object * @param bool $xml * @param array $modules Modules doctype will load * @param array $tidy_modules Modules doctype will load for certain modes * @param array $aliases Alias names for doctype * @param string $dtd_public * @param string $dtd_system * @return HTMLPurifier_Doctype Editable registered doctype */ public function register( $doctype, $xml = true, $modules = array(), $tidy_modules = array(), $aliases = array(), $dtd_public = null, $dtd_system = null ) { if (!is_array($modules)) { $modules = array($modules); } if (!is_array($tidy_modules)) { $tidy_modules = array($tidy_modules); } if (!is_array($aliases)) { $aliases = array($aliases); } if (!is_object($doctype)) { $doctype = new HTMLPurifier_Doctype( $doctype, $xml, $modules, $tidy_modules, $aliases, $dtd_public, $dtd_system ); } $this->doctypes[$doctype->name] = $doctype; $name = $doctype->name; // hookup aliases foreach ($doctype->aliases as $alias) { if (isset($this->doctypes[$alias])) { continue; } $this->aliases[$alias] = $name; } // remove old aliases if (isset($this->aliases[$name])) { unset($this->aliases[$name]); } return $doctype; } /** * Retrieves reference to a doctype of a certain name * @note This function resolves aliases * @note When possible, use the more fully-featured make() * @param string $doctype Name of doctype * @return HTMLPurifier_Doctype Editable doctype object */ public function get($doctype) { if (isset($this->aliases[$doctype])) { $doctype = $this->aliases[$doctype]; } if (!isset($this->doctypes[$doctype])) { trigger_error('Doctype ' . htmlspecialchars($doctype) . ' does not exist', E_USER_ERROR); $anon = new HTMLPurifier_Doctype($doctype); return $anon; } return $this->doctypes[$doctype]; } /** * Creates a doctype based on a configuration object, * will perform initialization on the doctype * @note Use this function to get a copy of doctype that config * can hold on to (this is necessary in order to tell * Generator whether or not the current document is XML * based or not). * @param HTMLPurifier_Config $config * @return HTMLPurifier_Doctype */ public function make($config) { return clone $this->get($this->getDoctypeFromConfig($config)); } /** * Retrieves the doctype from the configuration object * @param HTMLPurifier_Config $config * @return string */ public function getDoctypeFromConfig($config) { // recommended test $doctype = $config->get('HTML.Doctype'); if (!empty($doctype)) { return $doctype; } $doctype = $config->get('HTML.CustomDoctype'); if (!empty($doctype)) { return $doctype; } // backwards-compatibility if ($config->get('HTML.XHTML')) { $doctype = 'XHTML 1.0'; } else { $doctype = 'HTML 4.01'; } if ($config->get('HTML.Strict')) { $doctype .= ' Strict'; } else { $doctype .= ' Transitional'; } return $doctype; } } // vim: et sw=4 sts=4
[+]
Injector
[-] CSSDefinition.php
[edit]
[+]
URIScheme
[-] TagTransform.php
[edit]
[+]
DefinitionCache
[+]
HTMLModule
[-] Filter.php
[edit]
[-] Language.php
[edit]
[+]
VarParser
[-] ChildDef.php
[edit]
[-] TokenFactory.php
[edit]
[-] Printer.php
[edit]
[+]
Lexer
[-] Context.php
[edit]
[+]
..
[+]
URIFilter
[-] Encoder.php
[edit]
[+]
Strategy
[-] Config.php
[edit]
[-] DefinitionCacheFactory.php
[edit]
[-] Definition.php
[edit]
[-] PropertyList.php
[edit]
[-] AttrCollections.php
[edit]
[-] EntityLookup.php
[edit]
[-] LanguageFactory.php
[edit]
[-] UnitConverter.php
[edit]
[-] Bootstrap.php
[edit]
[+]
ChildDef
[-] Node.php
[edit]
[-] URIDefinition.php
[edit]
[-] Length.php
[edit]
[+]
AttrDef
[-] ElementDef.php
[edit]
[-] Injector.php
[edit]
[+]
ConfigSchema
[-] EntityParser.php
[edit]
[-] Token.php
[edit]
[-] StringHash.php
[edit]
[-] AttrDef.php
[edit]
[+]
Filter
[-] IDAccumulator.php
[edit]
[-] ErrorStruct.php
[edit]
[-] HTMLDefinition.php
[edit]
[-] StringHashParser.php
[edit]
[-] Queue.php
[edit]
[-] ErrorCollector.php
[edit]
[-] URIParser.php
[edit]
[-] URI.php
[edit]
[-] ConfigSchema.php
[edit]
[-] ContentSets.php
[edit]
[-] Doctype.php
[edit]
[-] AttrValidator.php
[edit]
[-] URIScheme.php
[edit]
[-] PropertyListIterator.php
[edit]
[-] HTMLModuleManager.php
[edit]
[-] Strategy.php
[edit]
[-] DefinitionCache.php
[edit]
[-] Generator.php
[edit]
[-] PercentEncoder.php
[edit]
[+]
Printer
[-] AttrTransform.php
[edit]
[-] Exception.php
[edit]
[-] URIFilter.php
[edit]
[-] VarParserException.php
[edit]
[-] AttrTypes.php
[edit]
[+]
Token
[+]
TagTransform
[+]
Language
[+]
EntityLookup
[-] Arborize.php
[edit]
[-] Lexer.php
[edit]
[-] DoctypeRegistry.php
[edit]
[+]
AttrTransform
[+]
Node
[-] URISchemeRegistry.php
[edit]
[-] VarParser.php
[edit]
[-] HTMLModule.php
[edit]
[-] Zipper.php
[edit]