diff options
Diffstat (limited to 'lib/htmlpurifier/configdoc')
-rw-r--r-- | lib/htmlpurifier/configdoc/generate.php | 64 | ||||
-rw-r--r-- | lib/htmlpurifier/configdoc/styles/plain.css | 44 | ||||
-rw-r--r-- | lib/htmlpurifier/configdoc/styles/plain.xsl | 253 | ||||
-rw-r--r-- | lib/htmlpurifier/configdoc/types.xml | 69 | ||||
-rw-r--r-- | lib/htmlpurifier/configdoc/usage.xml | 534 |
5 files changed, 964 insertions, 0 deletions
diff --git a/lib/htmlpurifier/configdoc/generate.php b/lib/htmlpurifier/configdoc/generate.php new file mode 100644 index 000000000..e0c4e674a --- /dev/null +++ b/lib/htmlpurifier/configdoc/generate.php @@ -0,0 +1,64 @@ +<?php + +/** + * Generates XML and HTML documents describing configuration. + * @note PHP 5.2+ only! + */ + +/* +TODO: +- make XML format richer +- extend XSLT transformation (see the corresponding XSLT file) +- allow generation of packaged docs that can be easily moved +- multipage documentation +- determine how to multilingualize +- add blurbs to ToC +*/ + +if (version_compare(PHP_VERSION, '5.2', '<')) exit('PHP 5.2+ required.'); +error_reporting(E_ALL | E_STRICT); + +// load dual-libraries +require_once dirname(__FILE__) . '/../extras/HTMLPurifierExtras.auto.php'; +require_once dirname(__FILE__) . '/../library/HTMLPurifier.auto.php'; + +// setup HTML Purifier singleton +HTMLPurifier::getInstance(array( + 'AutoFormat.PurifierLinkify' => true +)); + +$builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder(); +$interchange = new HTMLPurifier_ConfigSchema_Interchange(); +$builder->buildDir($interchange); +$loader = dirname(__FILE__) . '/../config-schema.php'; +if (file_exists($loader)) include $loader; +$interchange->validate(); + +$style = 'plain'; // use $_GET in the future, careful to validate! +$configdoc_xml = dirname(__FILE__) . '/configdoc.xml'; + +$xml_builder = new HTMLPurifier_ConfigSchema_Builder_Xml(); +$xml_builder->openURI($configdoc_xml); +$xml_builder->build($interchange); +unset($xml_builder); // free handle + +$xslt = new ConfigDoc_HTMLXSLTProcessor(); +$xslt->importStylesheet(dirname(__FILE__) . "/styles/$style.xsl"); +$output = $xslt->transformToHTML($configdoc_xml); + +if (!$output) { + echo "Error in generating files\n"; + exit(1); +} + +// write out +file_put_contents(dirname(__FILE__) . "/$style.html", $output); + +if (php_sapi_name() != 'cli') { + // output (instant feedback if it's a browser) + echo $output; +} else { + echo "Files generated successfully.\n"; +} + +// vim: et sw=4 sts=4 diff --git a/lib/htmlpurifier/configdoc/styles/plain.css b/lib/htmlpurifier/configdoc/styles/plain.css new file mode 100644 index 000000000..7af80d061 --- /dev/null +++ b/lib/htmlpurifier/configdoc/styles/plain.css @@ -0,0 +1,44 @@ + +body {margin:0;padding:0;} +#content { + margin:1em auto; + max-width: 47em; + width: expression(document.body.clientWidth > + 85 * parseInt(document.body.currentStyle.fontSize) ? + "54em": "auto"); +} + +table {border-collapse:collapse;} +table td, table th {padding:0.2em;} + +table.constraints {margin:0 0 1em;} +table.constraints th { + text-align:right;padding-left:0.4em;padding-right:0.4em;background:#EEE; + width:8em;vertical-align:top;} +table.constraints td {padding-right:0.4em; padding-left: 1em;} +table.constraints td ul {padding:0; margin:0; list-style:none;} +table.constraints td pre {margin:0;} + +#tocContainer {position:relative;} +#toc {list-style-type:none; font-weight:bold; font-size:1em; margin-bottom:1em;} +#toc li {position:relative; line-height: 1.2em;} +#toc .col-2 {margin-left:50%;} +#toc .col-l {float:left;} +#toc ul {list-style-type:disc; font-weight:normal; padding-bottom:1.2em;} + +.description p {margin-top:0;margin-bottom:1em;} + +#library, h1 {text-align:center; font-family:Garamond, serif; + font-variant:small-caps;} +#library {font-size:1em;} +h1 {margin-top:0;} +h2 {border-bottom:1px solid #CCC; font-family:sans-serif; font-weight:normal; + font-size:1.3em; clear:both;} +h3 {font-family:sans-serif; font-size:1.1em; font-weight:bold; } +h4 {font-family:sans-serif; font-size:0.9em; font-weight:bold; } + +.deprecated {color: #CCC;} +.deprecated table.constraints th {background:#FFF;} +.deprecated-notice {color: #000; text-align:center; margin-bottom: 1em;} + +/* vim: et sw=4 sts=4 */ diff --git a/lib/htmlpurifier/configdoc/styles/plain.xsl b/lib/htmlpurifier/configdoc/styles/plain.xsl new file mode 100644 index 000000000..9b9794e0b --- /dev/null +++ b/lib/htmlpurifier/configdoc/styles/plain.xsl @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version = "1.0" + xmlns = "http://www.w3.org/1999/xhtml" + xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" +> + <xsl:output + method = "xml" + encoding = "UTF-8" + doctype-public = "-//W3C//DTD XHTML 1.0 Transitional//EN" + doctype-system = "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" + indent = "no" + media-type = "text/html" + /> + <xsl:param name="css" select="'styles/plain.css'"/> + <xsl:param name="title" select="'Configuration Documentation'"/> + + <xsl:variable name="typeLookup" select="document('../types.xml')/types" /> + <xsl:variable name="usageLookup" select="document('../usage.xml')/usage" /> + + <!-- Twiddle this variable to get the columns as even as possible --> + <xsl:variable name="maxNumberAdjust" select="2" /> + + <xsl:template match="/"> + <html lang="en" xml:lang="en"> + <head> + <title><xsl:value-of select="$title" /> - <xsl:value-of select="/configdoc/title" /></title> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> + <link rel="stylesheet" type="text/css" href="{$css}" /> + </head> + <body> + <div id="content"> + <div id="library"><xsl:value-of select="/configdoc/title" /></div> + <h1><xsl:value-of select="$title" /></h1> + <div id="tocContainer"> + <h2>Table of Contents</h2> + <ul id="toc"> + <xsl:apply-templates mode="toc"> + <xsl:with-param name="overflowNumber" select="round(count(/configdoc/namespace) div 2) + $maxNumberAdjust" /> + </xsl:apply-templates> + </ul> + </div> + <div id="typesContainer"> + <h2>Types</h2> + <xsl:apply-templates select="$typeLookup" mode="types" /> + </div> + <xsl:apply-templates /> + </div> + </body> + </html> + </xsl:template> + + <xsl:template match="type" mode="types"> + <div class="type-block"> + <xsl:attribute name="id">type-<xsl:value-of select="@id" /></xsl:attribute> + <h3><code><xsl:value-of select="@id" /></code>: <xsl:value-of select="@name" /></h3> + <div class="type-description"> + <xsl:copy-of xmlns:xhtml="http://www.w3.org/1999/xhtml" select="xhtml:div/node()" /> + </div> + </div> + </xsl:template> + + <xsl:template match="title" mode="toc" /> + <xsl:template match="namespace" mode="toc"> + <xsl:param name="overflowNumber" /> + <xsl:variable name="number"><xsl:number level="single" /></xsl:variable> + <xsl:variable name="directiveNumber"><xsl:number level="any" count="directive" /></xsl:variable> + <xsl:if test="count(directive)>0"> + <li> + <!-- BEGIN multicolumn code --> + <xsl:if test="$number >= $overflowNumber"> + <xsl:attribute name="class">col-2</xsl:attribute> + </xsl:if> + <xsl:if test="$number = $overflowNumber"> + <xsl:attribute name="style">margin-top:-<xsl:value-of select="($number * 2 + $directiveNumber - 3) * 1.2" />em</xsl:attribute> + </xsl:if> + <!-- END multicolumn code --> + <a href="#{@id}"><xsl:value-of select="name" /></a> + <ul> + <xsl:apply-templates select="directive" mode="toc"> + <xsl:with-param name="overflowNumber" select="$overflowNumber" /> + </xsl:apply-templates> + </ul> + <xsl:if test="$number + 1 = $overflowNumber"> + <div class="col-l" /> + </xsl:if> + </li> + </xsl:if> + </xsl:template> + <xsl:template match="directive" mode="toc"> + <xsl:variable name="number"> + <xsl:number level="any" count="directive|namespace" /> + </xsl:variable> + <xsl:if test="not(deprecated)"> + <li> + <a href="#{@id}"><xsl:value-of select="name" /></a> + </li> + </xsl:if> + </xsl:template> + + <xsl:template match="title" /> + + <xsl:template match="namespace"> + <div class="namespace"> + <xsl:apply-templates /> + <xsl:if test="count(directive)=0"> + <p>No configuration directives defined for this namespace.</p> + </xsl:if> + </div> + </xsl:template> + <xsl:template match="namespace/name"> + <h2 id="{../@id}"><xsl:value-of select="." /></h2> + </xsl:template> + <xsl:template match="namespace/description"> + <div class="description"> + <xsl:copy-of xmlns:xhtml="http://www.w3.org/1999/xhtml" select="xhtml:div/node()" /> + </div> + </xsl:template> + + <xsl:template match="directive"> + <div> + <xsl:attribute name="class"><!-- + -->directive<!-- + --><xsl:if test="deprecated"> deprecated</xsl:if><!-- + --></xsl:attribute> + <xsl:apply-templates> + <xsl:with-param name="id" select="@id" /> + </xsl:apply-templates> + </div> + </xsl:template> + <xsl:template match="directive/name"> + <xsl:param name="id" /> + <xsl:apply-templates select="../aliases/alias" mode="anchor" /> + <h3 id="{$id}"><xsl:value-of select="$id" /></h3> + </xsl:template> + <xsl:template match="alias" mode="anchor"> + <a id="{.}"></a> + </xsl:template> + + <!-- Do not pass through --> + <xsl:template match="alias"></xsl:template> + + <xsl:template match="directive/constraints"> + <xsl:param name="id" /> + <table class="constraints"> + <xsl:apply-templates /> + <xsl:if test="../aliases/alias"> + <xsl:apply-templates select="../aliases" mode="constraints" /> + </xsl:if> + <xsl:apply-templates select="$usageLookup/directive[@id=$id]" /> + </table> + </xsl:template> + <xsl:template match="directive/aliases" mode="constraints"> + <tr> + <th>Aliases</th> + <td> + <xsl:for-each select="alias"> + <xsl:if test="position()>1">, </xsl:if> + <xsl:value-of select="." /> + </xsl:for-each> + </td> + </tr> + </xsl:template> + <xsl:template match="directive/description"> + <div class="description"> + <xsl:copy-of xmlns:xhtml="http://www.w3.org/1999/xhtml" select="xhtml:div/node()" /> + </div> + </xsl:template> + <xsl:template match="directive/deprecated"> + <div class="deprecated-notice"> + <strong>Warning:</strong> + This directive was deprecated in version <xsl:value-of select="version" />. + <a href="#{use}">%<xsl:value-of select="use" /></a> should be used instead. + </div> + </xsl:template> + <xsl:template match="usage/directive"> + <tr> + <th>Used in</th> + <td> + <ul> + <xsl:apply-templates /> + </ul> + </td> + </tr> + </xsl:template> + <xsl:template match="usage/directive/file"> + <li> + <em><xsl:value-of select="@name" /></em> on line<xsl:if test="count(line)>1">s</xsl:if> + <xsl:text> </xsl:text> + <xsl:for-each select="line"> + <xsl:if test="position()>1">, </xsl:if> + <xsl:value-of select="." /> + </xsl:for-each> + </li> + </xsl:template> + + <xsl:template match="constraints/version"> + <tr> + <th>Version added</th> + <td><xsl:value-of select="." /></td> + </tr> + </xsl:template> + <xsl:template match="constraints/type"> + <tr> + <th>Type</th> + <td> + <xsl:variable name="type" select="text()" /> + <xsl:attribute name="class">type type-<xsl:value-of select="$type" /></xsl:attribute> + <a> + <xsl:attribute name="href">#type-<xsl:value-of select="$type" /></xsl:attribute> + <xsl:value-of select="$typeLookup/type[@id=$type]/@name" /> + <xsl:if test="@allow-null='yes'"> + (or null) + </xsl:if> + </a> + </td> + </tr> + </xsl:template> + <xsl:template match="constraints/allowed"> + <tr> + <th>Allowed values</th> + <td> + <xsl:for-each select="value"><!-- + --><xsl:if test="position()>1">, </xsl:if> + "<xsl:value-of select="." />"<!-- + --></xsl:for-each> + </td> + </tr> + </xsl:template> + <xsl:template match="constraints/default"> + <tr> + <th>Default</th> + <td><pre><xsl:value-of select="." xml:space="preserve" /></pre></td> + </tr> + </xsl:template> + <xsl:template match="constraints/external"> + <tr> + <th>External deps</th> + <td> + <ul> + <xsl:apply-templates /> + </ul> + </td> + </tr> + </xsl:template> + <xsl:template match="constraints/external/project"> + <li><xsl:value-of select="." /></li> + </xsl:template> + +</xsl:stylesheet> + +<!-- vim: et sw=4 sts=4 +--> diff --git a/lib/htmlpurifier/configdoc/types.xml b/lib/htmlpurifier/configdoc/types.xml new file mode 100644 index 000000000..ee2c945a1 --- /dev/null +++ b/lib/htmlpurifier/configdoc/types.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<types> + <type id="string" name="String"><div xmlns="http://www.w3.org/1999/xhtml"> + A <a + href="http://docs.php.net/manual/en/language.types.string.php">sequence + of characters</a>. + </div></type> + <type id="istring" name="Case-insensitive string"><div xmlns="http://www.w3.org/1999/xhtml"> + A series of case-insensitive characters. Internally, upper-case + ASCII characters will be converted to lower-case. + </div></type> + <type id="text" name="Text"><div xmlns="http://www.w3.org/1999/xhtml"> + A series of characters that may contain newlines. Text tends to + indicate human-oriented text, as opposed to a machine format. + </div></type> + <type id="itext" name="Case-insensitive text"><div xmlns="http://www.w3.org/1999/xhtml"> + A series of case-insensitive characters that may contain newlines. + </div></type> + <type id="int" name="Integer"><div xmlns="http://www.w3.org/1999/xhtml"> + An <a + href="http://docs.php.net/manual/en/language.types.integer.php"> + integer</a>. You are alternatively permitted to pass a string of + digits instead, which will be cast to an integer using + <code>(int)</code>. + </div></type> + <type id="float" name="Float"><div xmlns="http://www.w3.org/1999/xhtml"> + A <a href="http://docs.php.net/manual/en/language.types.float.php"> + floating point number</a>. You are alternatively permitted to + pass a numeric string (as defined by <code>is_numeric()</code>), + which will be cast to a float using <code>(float)</code>. + </div></type> + <type id="bool" name="Boolean"><div xmlns="http://www.w3.org/1999/xhtml"> + A <a + href="http://docs.php.net/manual/en/language.types.boolean.php">boolean</a>. + You are alternatively permitted to pass an integer <code>0</code> or + <code>1</code> (other integers are not permitted) or a string + <code>"on"</code>, <code>"true"</code> or <code>"1"</code> for + <code>true</code>, and <code>"off"</code>, <code>"false"</code> or + <code>"0"</code> for <code>false</code>. + </div></type> + <type id="lookup" name="Lookup array"><div xmlns="http://www.w3.org/1999/xhtml"> + An array whose values are <code>true</code>, e.g. <code>array('key' + => true, 'key2' => true)</code>. You are alternatively permitted + to pass an array list of the keys <code>array('key', 'key2')</code> + or a comma-separated string of keys <code>"key, key2"</code>. If + you pass an array list of values, ensure that your values are + strictly numerically indexed: <code>array('key1', 2 => + 'key2')</code> will not do what you expect and emits a warning. + </div></type> + <type id="list" name="Array list"><div xmlns="http://www.w3.org/1999/xhtml"> + An array which has consecutive integer indexes, e.g. + <code>array('val1', 'val2')</code>. You are alternatively permitted + to pass a comma-separated string of keys <code>"val1, val2"</code>. + If your array is not in this form, <code>array_values</code> is run + on the array and a warning is emitted. + </div></type> + <type id="hash" name="Associative array"><div xmlns="http://www.w3.org/1999/xhtml"> + An array which is a mapping of keys to values, e.g. + <code>array('key1' => 'val1', 'key2' => 'val2')</code>. You are + alternatively permitted to pass a comma-separated string of + key-colon-value strings, e.g. <code>"key1: val1, key2: val2"</code>. + </div></type> + <type id="mixed" name="Mixed"><div xmlns="http://www.w3.org/1999/xhtml"> + An arbitrary PHP value of any type. + </div></type> +</types> + +<!-- vim: et sw=4 sts=4 +--> diff --git a/lib/htmlpurifier/configdoc/usage.xml b/lib/htmlpurifier/configdoc/usage.xml new file mode 100644 index 000000000..1c77b8f4e --- /dev/null +++ b/lib/htmlpurifier/configdoc/usage.xml @@ -0,0 +1,534 @@ +<?xml version="1.0" encoding="UTF-8"?> +<usage> + <directive id="Core.CollectErrors"> + <file name="HTMLPurifier.php"> + <line>131</line> + </file> + <file name="HTMLPurifier/Lexer.php"> + <line>81</line> + <line>284</line> + </file> + <file name="HTMLPurifier/Lexer/DirectLex.php"> + <line>53</line> + <line>73</line> + <line>348</line> + </file> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>50</line> + </file> + </directive> + <directive id="CSS.MaxImgLength"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>157</line> + </file> + </directive> + <directive id="CSS.Proprietary"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>214</line> + </file> + </directive> + <directive id="CSS.AllowTricky"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>218</line> + </file> + </directive> + <directive id="CSS.Trusted"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>222</line> + </file> + </directive> + <directive id="CSS.AllowImportant"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>226</line> + </file> + </directive> + <directive id="CSS.AllowedProperties"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>296</line> + </file> + </directive> + <directive id="CSS.ForbiddenProperties"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>310</line> + </file> + </directive> + <directive id="Cache.DefinitionImpl"> + <file name="HTMLPurifier/DefinitionCacheFactory.php"> + <line>49</line> + </file> + </directive> + <directive id="HTML.Doctype"> + <file name="HTMLPurifier/DoctypeRegistry.php"> + <line>83</line> + </file> + </directive> + <directive id="HTML.CustomDoctype"> + <file name="HTMLPurifier/DoctypeRegistry.php"> + <line>85</line> + </file> + </directive> + <directive id="HTML.XHTML"> + <file name="HTMLPurifier/DoctypeRegistry.php"> + <line>88</line> + </file> + </directive> + <directive id="HTML.Strict"> + <file name="HTMLPurifier/DoctypeRegistry.php"> + <line>93</line> + </file> + </directive> + <directive id="Core.Encoding"> + <file name="HTMLPurifier/Encoder.php"> + <line>337</line> + <line>367</line> + </file> + </directive> + <directive id="Test.ForceNoIconv"> + <file name="HTMLPurifier/Encoder.php"> + <line>341</line> + <line>374</line> + </file> + </directive> + <directive id="Core.EscapeNonASCIICharacters"> + <file name="HTMLPurifier/Encoder.php"> + <line>368</line> + </file> + </directive> + <directive id="Output.CommentScriptContents"> + <file name="HTMLPurifier/Generator.php"> + <line>61</line> + </file> + </directive> + <directive id="Output.FixInnerHTML"> + <file name="HTMLPurifier/Generator.php"> + <line>62</line> + </file> + </directive> + <directive id="Output.SortAttr"> + <file name="HTMLPurifier/Generator.php"> + <line>63</line> + </file> + </directive> + <directive id="Output.FlashCompat"> + <file name="HTMLPurifier/Generator.php"> + <line>64</line> + </file> + </directive> + <directive id="Output.TidyFormat"> + <file name="HTMLPurifier/Generator.php"> + <line>93</line> + </file> + </directive> + <directive id="Core.NormalizeNewlines"> + <file name="HTMLPurifier/Generator.php"> + <line>107</line> + </file> + <file name="HTMLPurifier/Lexer.php"> + <line>266</line> + </file> + </directive> + <directive id="Output.Newline"> + <file name="HTMLPurifier/Generator.php"> + <line>108</line> + </file> + </directive> + <directive id="HTML.BlockWrapper"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>222</line> + </file> + </directive> + <directive id="HTML.Parent"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>230</line> + </file> + </directive> + <directive id="HTML.AllowedElements"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>247</line> + </file> + </directive> + <directive id="HTML.AllowedAttributes"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>248</line> + </file> + </directive> + <directive id="HTML.Allowed"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>251</line> + </file> + </directive> + <directive id="HTML.ForbiddenElements"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>342</line> + </file> + </directive> + <directive id="HTML.ForbiddenAttributes"> + <file name="HTMLPurifier/HTMLDefinition.php"> + <line>343</line> + </file> + </directive> + <directive id="HTML.Trusted"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>204</line> + </file> + <file name="HTMLPurifier/Lexer.php"> + <line>271</line> + </file> + <file name="HTMLPurifier/HTMLModule/Image.php"> + <line>27</line> + </file> + <file name="HTMLPurifier/Lexer/DirectLex.php"> + <line>36</line> + </file> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>23</line> + </file> + </directive> + <directive id="HTML.AllowedModules"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>211</line> + </file> + </directive> + <directive id="HTML.CoreModules"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>212</line> + </file> + </directive> + <directive id="HTML.Proprietary"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>222</line> + </file> + </directive> + <directive id="HTML.SafeObject"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>225</line> + </file> + </directive> + <directive id="HTML.SafeEmbed"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>228</line> + </file> + </directive> + <directive id="HTML.Nofollow"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>231</line> + </file> + </directive> + <directive id="HTML.TargetBlank"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>234</line> + </file> + </directive> + <directive id="Attr.IDBlacklist"> + <file name="HTMLPurifier/IDAccumulator.php"> + <line>26</line> + </file> + </directive> + <directive id="Core.Language"> + <file name="HTMLPurifier/LanguageFactory.php"> + <line>88</line> + </file> + </directive> + <directive id="Core.LexerImpl"> + <file name="HTMLPurifier/Lexer.php"> + <line>76</line> + </file> + </directive> + <directive id="Core.MaintainLineNumbers"> + <file name="HTMLPurifier/Lexer.php"> + <line>80</line> + </file> + <file name="HTMLPurifier/Lexer/DirectLex.php"> + <line>48</line> + </file> + </directive> + <directive id="Core.ConvertDocumentToFragment"> + <file name="HTMLPurifier/Lexer.php"> + <line>282</line> + </file> + </directive> + <directive id="Core.RemoveProcessingInstructions"> + <file name="HTMLPurifier/Lexer.php"> + <line>303</line> + </file> + </directive> + <directive id="URI."> + <file name="HTMLPurifier/URIDefinition.php"> + <line>59</line> + </file> + <file name="HTMLPurifier/URIFilter/Munge.php"> + <line>12</line> + </file> + </directive> + <directive id="URI.Host"> + <file name="HTMLPurifier/URIDefinition.php"> + <line>69</line> + </file> + <file name="HTMLPurifier/URIScheme.php"> + <line>81</line> + </file> + </directive> + <directive id="URI.Base"> + <file name="HTMLPurifier/URIDefinition.php"> + <line>70</line> + </file> + </directive> + <directive id="URI.DefaultScheme"> + <file name="HTMLPurifier/URIDefinition.php"> + <line>77</line> + </file> + </directive> + <directive id="URI.AllowedSchemes"> + <file name="HTMLPurifier/URISchemeRegistry.php"> + <line>41</line> + </file> + </directive> + <directive id="URI.OverrideAllowedSchemes"> + <file name="HTMLPurifier/URISchemeRegistry.php"> + <line>42</line> + </file> + </directive> + <directive id="URI.Disable"> + <file name="HTMLPurifier/AttrDef/URI.php"> + <line>28</line> + </file> + </directive> + <directive id="Core.ColorKeywords"> + <file name="HTMLPurifier/AttrDef/CSS/Color.php"> + <line>12</line> + </file> + <file name="HTMLPurifier/AttrDef/HTML/Color.php"> + <line>12</line> + </file> + </directive> + <directive id="CSS.AllowedFonts"> + <file name="HTMLPurifier/AttrDef/CSS/FontFamily.php"> + <line>50</line> + </file> + </directive> + <directive id="Attr.AllowedClasses"> + <file name="HTMLPurifier/AttrDef/HTML/Class.php"> + <line>18</line> + </file> + </directive> + <directive id="Attr.ForbiddenClasses"> + <file name="HTMLPurifier/AttrDef/HTML/Class.php"> + <line>19</line> + </file> + </directive> + <directive id="Attr.AllowedFrameTargets"> + <file name="HTMLPurifier/AttrDef/HTML/FrameTarget.php"> + <line>15</line> + </file> + </directive> + <directive id="Attr.EnableID"> + <file name="HTMLPurifier/AttrDef/HTML/ID.php"> + <line>30</line> + </file> + </directive> + <directive id="Attr.IDPrefix"> + <file name="HTMLPurifier/AttrDef/HTML/ID.php"> + <line>36</line> + </file> + </directive> + <directive id="Attr.IDPrefixLocal"> + <file name="HTMLPurifier/AttrDef/HTML/ID.php"> + <line>38</line> + <line>41</line> + </file> + </directive> + <directive id="Attr.IDBlacklistRegexp"> + <file name="HTMLPurifier/AttrDef/HTML/ID.php"> + <line>64</line> + </file> + </directive> + <directive id="Attr."> + <file name="HTMLPurifier/AttrDef/HTML/LinkTypes.php"> + <line>30</line> + </file> + </directive> + <directive id="Core.EnableIDNA"> + <file name="HTMLPurifier/AttrDef/URI/Host.php"> + <line>67</line> + </file> + </directive> + <directive id="Attr.DefaultTextDir"> + <file name="HTMLPurifier/AttrTransform/BdoDir.php"> + <line>13</line> + </file> + </directive> + <directive id="Core.RemoveInvalidImg"> + <file name="HTMLPurifier/AttrTransform/ImgRequired.php"> + <line>18</line> + </file> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>20</line> + </file> + </directive> + <directive id="Attr.DefaultInvalidImage"> + <file name="HTMLPurifier/AttrTransform/ImgRequired.php"> + <line>19</line> + </file> + </directive> + <directive id="Attr.DefaultImageAlt"> + <file name="HTMLPurifier/AttrTransform/ImgRequired.php"> + <line>25</line> + </file> + </directive> + <directive id="Attr.DefaultInvalidImageAlt"> + <file name="HTMLPurifier/AttrTransform/ImgRequired.php"> + <line>33</line> + </file> + </directive> + <directive id="HTML.Attr.Name.UseCDATA"> + <file name="HTMLPurifier/AttrTransform/Name.php"> + <line>11</line> + </file> + <file name="HTMLPurifier/HTMLModule/Name.php"> + <line>13</line> + </file> + </directive> + <directive id="HTML.FlashAllowFullScreen"> + <file name="HTMLPurifier/AttrTransform/SafeParam.php"> + <line>38</line> + </file> + </directive> + <directive id="Core.EscapeInvalidChildren"> + <file name="HTMLPurifier/ChildDef/Required.php"> + <line>62</line> + </file> + </directive> + <directive id="Cache.SerializerPath"> + <file name="HTMLPurifier/DefinitionCache/Serializer.php"> + <line>91</line> + </file> + </directive> + <directive id="Cache.SerializerPermissions"> + <file name="HTMLPurifier/DefinitionCache/Serializer.php"> + <line>107</line> + <line>124</line> + </file> + </directive> + <directive id="Filter.ExtractStyleBlocks.TidyImpl"> + <file name="HTMLPurifier/Filter/ExtractStyleBlocks.php"> + <line>54</line> + </file> + </directive> + <directive id="Filter.ExtractStyleBlocks.Scope"> + <file name="HTMLPurifier/Filter/ExtractStyleBlocks.php"> + <line>78</line> + </file> + </directive> + <directive id="Filter.ExtractStyleBlocks.Escaping"> + <file name="HTMLPurifier/Filter/ExtractStyleBlocks.php"> + <line>276</line> + </file> + </directive> + <directive id="HTML.SafeIframe"> + <file name="HTMLPurifier/HTMLModule/Iframe.php"> + <line>17</line> + </file> + <file name="HTMLPurifier/URIFilter/SafeIframe.php"> + <line>23</line> + </file> + </directive> + <directive id="HTML.MaxImgLength"> + <file name="HTMLPurifier/HTMLModule/Image.php"> + <line>14</line> + </file> + <file name="HTMLPurifier/HTMLModule/SafeEmbed.php"> + <line>13</line> + </file> + <file name="HTMLPurifier/HTMLModule/SafeObject.php"> + <line>19</line> + </file> + </directive> + <directive id="HTML.TidyLevel"> + <file name="HTMLPurifier/HTMLModule/Tidy.php"> + <line>45</line> + </file> + </directive> + <directive id="HTML.TidyAdd"> + <file name="HTMLPurifier/HTMLModule/Tidy.php"> + <line>49</line> + </file> + </directive> + <directive id="HTML.TidyRemove"> + <file name="HTMLPurifier/HTMLModule/Tidy.php"> + <line>50</line> + </file> + </directive> + <directive id="AutoFormat.PurifierLinkify.DocURL"> + <file name="HTMLPurifier/Injector/PurifierLinkify.php"> + <line>15</line> + </file> + </directive> + <directive id="AutoFormat.RemoveEmpty.RemoveNbsp"> + <file name="HTMLPurifier/Injector/RemoveEmpty.php"> + <line>12</line> + </file> + </directive> + <directive id="AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions"> + <file name="HTMLPurifier/Injector/RemoveEmpty.php"> + <line>13</line> + </file> + </directive> + <directive id="Core.AggressivelyFixLt"> + <file name="HTMLPurifier/Lexer/DOMLex.php"> + <line>44</line> + </file> + </directive> + <directive id="Core.DirectLexLineNumberSyncInterval"> + <file name="HTMLPurifier/Lexer/DirectLex.php"> + <line>70</line> + </file> + </directive> + <directive id="Core.EscapeInvalidTags"> + <file name="HTMLPurifier/Strategy/MakeWellFormed.php"> + <line>53</line> + </file> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>19</line> + </file> + </directive> + <directive id="HTML.AllowedComments"> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>24</line> + </file> + </directive> + <directive id="HTML.AllowedCommentsRegexp"> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>25</line> + </file> + </directive> + <directive id="Core.RemoveScriptContents"> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>28</line> + </file> + </directive> + <directive id="Core.HiddenElements"> + <file name="HTMLPurifier/Strategy/RemoveForeignElements.php"> + <line>29</line> + </file> + </directive> + <directive id="URI.HostBlacklist"> + <file name="HTMLPurifier/URIFilter/HostBlacklist.php"> + <line>12</line> + </file> + </directive> + <directive id="URI.MungeResources"> + <file name="HTMLPurifier/URIFilter/Munge.php"> + <line>14</line> + </file> + </directive> + <directive id="URI.MungeSecretKey"> + <file name="HTMLPurifier/URIFilter/Munge.php"> + <line>15</line> + </file> + </directive> + <directive id="URI.SafeIframeRegexp"> + <file name="HTMLPurifier/URIFilter/SafeIframe.php"> + <line>18</line> + </file> + </directive> +</usage> |