diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-05-04 00:15:41 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-05-04 00:15:41 +0200 |
commit | 10831dd274ff65d4852b47dbc398adae61845206 (patch) | |
tree | 9f9397bb7433fd53bfacf88d8c8b3cf2ef50e27d /3rdparty/htmlpurifier/configdoc | |
parent | 7b628a3e4d105f2e571d0fe142d59f201d6a10d0 (diff) |
use html purifier for sanitation
Diffstat (limited to '3rdparty/htmlpurifier/configdoc')
-rw-r--r-- | 3rdparty/htmlpurifier/configdoc/generate.php | 64 | ||||
-rw-r--r-- | 3rdparty/htmlpurifier/configdoc/styles/plain.css | 44 | ||||
-rw-r--r-- | 3rdparty/htmlpurifier/configdoc/styles/plain.xsl | 253 | ||||
-rw-r--r-- | 3rdparty/htmlpurifier/configdoc/types.xml | 69 | ||||
-rw-r--r-- | 3rdparty/htmlpurifier/configdoc/usage.xml | 547 |
5 files changed, 977 insertions, 0 deletions
diff --git a/3rdparty/htmlpurifier/configdoc/generate.php b/3rdparty/htmlpurifier/configdoc/generate.php new file mode 100644 index 000000000..4288ec100 --- /dev/null +++ b/3rdparty/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/3rdparty/htmlpurifier/configdoc/styles/plain.css b/3rdparty/htmlpurifier/configdoc/styles/plain.css new file mode 100644 index 000000000..2e7906e1d --- /dev/null +++ b/3rdparty/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/3rdparty/htmlpurifier/configdoc/styles/plain.xsl b/3rdparty/htmlpurifier/configdoc/styles/plain.xsl new file mode 100644 index 000000000..55e157f02 --- /dev/null +++ b/3rdparty/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/3rdparty/htmlpurifier/configdoc/types.xml b/3rdparty/htmlpurifier/configdoc/types.xml new file mode 100644 index 000000000..f394cee0f --- /dev/null +++ b/3rdparty/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/3rdparty/htmlpurifier/configdoc/usage.xml b/3rdparty/htmlpurifier/configdoc/usage.xml new file mode 100644 index 000000000..79f38b855 --- /dev/null +++ b/3rdparty/htmlpurifier/configdoc/usage.xml @@ -0,0 +1,547 @@ +<?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>215</line> + </file> + </directive> + <directive id="CSS.AllowTricky"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>219</line> + </file> + </directive> + <directive id="CSS.Trusted"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>223</line> + </file> + </directive> + <directive id="CSS.AllowImportant"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>227</line> + </file> + </directive> + <directive id="CSS.AllowedProperties"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>302</line> + </file> + </directive> + <directive id="CSS.ForbiddenProperties"> + <file name="HTMLPurifier/CSSDefinition.php"> + <line>316</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>372</line> + </file> + </directive> + <directive id="Test.ForceNoIconv"> + <file name="HTMLPurifier/Encoder.php"> + <line>341</line> + <line>379</line> + </file> + </directive> + <directive id="Core.EscapeNonASCIICharacters"> + <file name="HTMLPurifier/Encoder.php"> + <line>373</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.SafeScripting"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>231</line> + </file> + <file name="HTMLPurifier/HTMLModule/SafeScripting.php"> + <line>17</line> + </file> + </directive> + <directive id="HTML.Nofollow"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>234</line> + </file> + </directive> + <directive id="HTML.TargetBlank"> + <file name="HTMLPurifier/HTMLModuleManager.php"> + <line>237</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>60</line> + </file> + <file name="HTMLPurifier/URIFilter/Munge.php"> + <line>12</line> + </file> + </directive> + <directive id="URI.Host"> + <file name="HTMLPurifier/URIDefinition.php"> + <line>70</line> + </file> + <file name="HTMLPurifier/URIScheme.php"> + <line>81</line> + </file> + </directive> + <directive id="URI.Base"> + <file name="HTMLPurifier/URIDefinition.php"> + <line>71</line> + </file> + </directive> + <directive id="URI.DefaultScheme"> + <file name="HTMLPurifier/URIDefinition.php"> + <line>78</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> + < |