-
Notifications
You must be signed in to change notification settings - Fork 250
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
150 changed files
with
31,741 additions
and
31,291 deletions.
There are no files selected for viewing
44,573 changes: 22,476 additions & 22,097 deletions
44,573
plugin/htmlpurifier/HTMLPurifier.standalone.php
Large diffs are not rendered by default.
Oops, something went wrong.
96 changes: 48 additions & 48 deletions
96
plugin/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,48 @@ | ||
<?php | ||
|
||
/** | ||
* Converts HTMLPurifier_ConfigSchema_Interchange to our runtime | ||
* representation used to perform checks on user configuration. | ||
*/ | ||
class HTMLPurifier_ConfigSchema_Builder_ConfigSchema | ||
{ | ||
|
||
/** | ||
* @param HTMLPurifier_ConfigSchema_Interchange $interchange | ||
* @return HTMLPurifier_ConfigSchema | ||
*/ | ||
public function build($interchange) | ||
{ | ||
$schema = new HTMLPurifier_ConfigSchema(); | ||
foreach ($interchange->directives as $d) { | ||
$schema->add( | ||
$d->id->key, | ||
$d->default, | ||
$d->type, | ||
$d->typeAllowsNull | ||
); | ||
if ($d->allowed !== null) { | ||
$schema->addAllowedValues( | ||
$d->id->key, | ||
$d->allowed | ||
); | ||
} | ||
foreach ($d->aliases as $alias) { | ||
$schema->addAlias( | ||
$alias->key, | ||
$d->id->key | ||
); | ||
} | ||
if ($d->valueAliases !== null) { | ||
$schema->addValueAliases( | ||
$d->id->key, | ||
$d->valueAliases | ||
); | ||
} | ||
} | ||
$schema->postProcess(); | ||
return $schema; | ||
} | ||
} | ||
|
||
// vim: et sw=4 sts=4 | ||
<?php | ||
|
||
/** | ||
* Converts HTMLPurifier_ConfigSchema_Interchange to our runtime | ||
* representation used to perform checks on user configuration. | ||
*/ | ||
class HTMLPurifier_ConfigSchema_Builder_ConfigSchema | ||
{ | ||
|
||
/** | ||
* @param HTMLPurifier_ConfigSchema_Interchange $interchange | ||
* @return HTMLPurifier_ConfigSchema | ||
*/ | ||
public function build($interchange) | ||
{ | ||
$schema = new HTMLPurifier_ConfigSchema(); | ||
foreach ($interchange->directives as $d) { | ||
$schema->add( | ||
$d->id->key, | ||
$d->default, | ||
$d->type, | ||
$d->typeAllowsNull | ||
); | ||
if ($d->allowed !== null) { | ||
$schema->addAllowedValues( | ||
$d->id->key, | ||
$d->allowed | ||
); | ||
} | ||
foreach ($d->aliases as $alias) { | ||
$schema->addAlias( | ||
$alias->key, | ||
$d->id->key | ||
); | ||
} | ||
if ($d->valueAliases !== null) { | ||
$schema->addValueAliases( | ||
$d->id->key, | ||
$d->valueAliases | ||
); | ||
} | ||
} | ||
$schema->postProcess(); | ||
return $schema; | ||
} | ||
} | ||
|
||
// vim: et sw=4 sts=4 |
288 changes: 144 additions & 144 deletions
288
plugin/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Builder/Xml.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,144 +1,144 @@ | ||
<?php | ||
|
||
/** | ||
* Converts HTMLPurifier_ConfigSchema_Interchange to an XML format, | ||
* which can be further processed to generate documentation. | ||
*/ | ||
class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter | ||
{ | ||
|
||
/** | ||
* @type HTMLPurifier_ConfigSchema_Interchange | ||
*/ | ||
protected $interchange; | ||
|
||
/** | ||
* @type string | ||
*/ | ||
private $namespace; | ||
|
||
/** | ||
* @param string $html | ||
*/ | ||
protected function writeHTMLDiv($html) | ||
{ | ||
$this->startElement('div'); | ||
|
||
$purifier = HTMLPurifier::getInstance(); | ||
$html = $purifier->purify($html); | ||
$this->writeAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); | ||
$this->writeRaw($html); | ||
|
||
$this->endElement(); // div | ||
} | ||
|
||
/** | ||
* @param mixed $var | ||
* @return string | ||
*/ | ||
protected function export($var) | ||
{ | ||
if ($var === array()) { | ||
return 'array()'; | ||
} | ||
return var_export($var, true); | ||
} | ||
|
||
/** | ||
* @param HTMLPurifier_ConfigSchema_Interchange $interchange | ||
*/ | ||
public function build($interchange) | ||
{ | ||
// global access, only use as last resort | ||
$this->interchange = $interchange; | ||
|
||
$this->setIndent(true); | ||
$this->startDocument('1.0', 'UTF-8'); | ||
$this->startElement('configdoc'); | ||
$this->writeElement('title', $interchange->name); | ||
|
||
foreach ($interchange->directives as $directive) { | ||
$this->buildDirective($directive); | ||
} | ||
|
||
if ($this->namespace) { | ||
$this->endElement(); | ||
} // namespace | ||
|
||
$this->endElement(); // configdoc | ||
$this->flush(); | ||
} | ||
|
||
/** | ||
* @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive | ||
*/ | ||
public function buildDirective($directive) | ||
{ | ||
// Kludge, although I suppose having a notion of a "root namespace" | ||
// certainly makes things look nicer when documentation is built. | ||
// Depends on things being sorted. | ||
if (!$this->namespace || $this->namespace !== $directive->id->getRootNamespace()) { | ||
if ($this->namespace) { | ||
$this->endElement(); | ||
} // namespace | ||
$this->namespace = $directive->id->getRootNamespace(); | ||
$this->startElement('namespace'); | ||
$this->writeAttribute('id', $this->namespace); | ||
$this->writeElement('name', $this->namespace); | ||
} | ||
|
||
$this->startElement('directive'); | ||
$this->writeAttribute('id', $directive->id->toString()); | ||
|
||
$this->writeElement('name', $directive->id->getDirective()); | ||
|
||
$this->startElement('aliases'); | ||
foreach ($directive->aliases as $alias) { | ||
$this->writeElement('alias', $alias->toString()); | ||
} | ||
$this->endElement(); // aliases | ||
|
||
$this->startElement('constraints'); | ||
if ($directive->version) { | ||
$this->writeElement('version', $directive->version); | ||
} | ||
$this->startElement('type'); | ||
if ($directive->typeAllowsNull) { | ||
$this->writeAttribute('allow-null', 'yes'); | ||
} | ||
$this->text($directive->type); | ||
$this->endElement(); // type | ||
if ($directive->allowed) { | ||
$this->startElement('allowed'); | ||
foreach ($directive->allowed as $value => $x) { | ||
$this->writeElement('value', $value); | ||
} | ||
$this->endElement(); // allowed | ||
} | ||
$this->writeElement('default', $this->export($directive->default)); | ||
$this->writeAttribute('xml:space', 'preserve'); | ||
if ($directive->external) { | ||
$this->startElement('external'); | ||
foreach ($directive->external as $project) { | ||
$this->writeElement('project', $project); | ||
} | ||
$this->endElement(); | ||
} | ||
$this->endElement(); // constraints | ||
|
||
if ($directive->deprecatedVersion) { | ||
$this->startElement('deprecated'); | ||
$this->writeElement('version', $directive->deprecatedVersion); | ||
$this->writeElement('use', $directive->deprecatedUse->toString()); | ||
$this->endElement(); // deprecated | ||
} | ||
|
||
$this->startElement('description'); | ||
$this->writeHTMLDiv($directive->description); | ||
$this->endElement(); // description | ||
|
||
$this->endElement(); // directive | ||
} | ||
} | ||
|
||
// vim: et sw=4 sts=4 | ||
<?php | ||
|
||
/** | ||
* Converts HTMLPurifier_ConfigSchema_Interchange to an XML format, | ||
* which can be further processed to generate documentation. | ||
*/ | ||
class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter | ||
{ | ||
|
||
/** | ||
* @type HTMLPurifier_ConfigSchema_Interchange | ||
*/ | ||
protected $interchange; | ||
|
||
/** | ||
* @type string | ||
*/ | ||
private $namespace; | ||
|
||
/** | ||
* @param string $html | ||
*/ | ||
protected function writeHTMLDiv($html) | ||
{ | ||
$this->startElement('div'); | ||
|
||
$purifier = HTMLPurifier::getInstance(); | ||
$html = $purifier->purify($html); | ||
$this->writeAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); | ||
$this->writeRaw($html); | ||
|
||
$this->endElement(); // div | ||
} | ||
|
||
/** | ||
* @param mixed $var | ||
* @return string | ||
*/ | ||
protected function export($var) | ||
{ | ||
if ($var === array()) { | ||
return 'array()'; | ||
} | ||
return var_export($var, true); | ||
} | ||
|
||
/** | ||
* @param HTMLPurifier_ConfigSchema_Interchange $interchange | ||
*/ | ||
public function build($interchange) | ||
{ | ||
// global access, only use as last resort | ||
$this->interchange = $interchange; | ||
|
||
$this->setIndent(true); | ||
$this->startDocument('1.0', 'UTF-8'); | ||
$this->startElement('configdoc'); | ||
$this->writeElement('title', $interchange->name); | ||
|
||
foreach ($interchange->directives as $directive) { | ||
$this->buildDirective($directive); | ||
} | ||
|
||
if ($this->namespace) { | ||
$this->endElement(); | ||
} // namespace | ||
|
||
$this->endElement(); // configdoc | ||
$this->flush(); | ||
} | ||
|
||
/** | ||
* @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive | ||
*/ | ||
public function buildDirective($directive) | ||
{ | ||
// Kludge, although I suppose having a notion of a "root namespace" | ||
// certainly makes things look nicer when documentation is built. | ||
// Depends on things being sorted. | ||
if (!$this->namespace || $this->namespace !== $directive->id->getRootNamespace()) { | ||
if ($this->namespace) { | ||
$this->endElement(); | ||
} // namespace | ||
$this->namespace = $directive->id->getRootNamespace(); | ||
$this->startElement('namespace'); | ||
$this->writeAttribute('id', $this->namespace); | ||
$this->writeElement('name', $this->namespace); | ||
} | ||
|
||
$this->startElement('directive'); | ||
$this->writeAttribute('id', $directive->id->toString()); | ||
|
||
$this->writeElement('name', $directive->id->getDirective()); | ||
|
||
$this->startElement('aliases'); | ||
foreach ($directive->aliases as $alias) { | ||
$this->writeElement('alias', $alias->toString()); | ||
} | ||
$this->endElement(); // aliases | ||
|
||
$this->startElement('constraints'); | ||
if ($directive->version) { | ||
$this->writeElement('version', $directive->version); | ||
} | ||
$this->startElement('type'); | ||
if ($directive->typeAllowsNull) { | ||
$this->writeAttribute('allow-null', 'yes'); | ||
} | ||
$this->text($directive->type); | ||
$this->endElement(); // type | ||
if ($directive->allowed) { | ||
$this->startElement('allowed'); | ||
foreach ($directive->allowed as $value => $x) { | ||
$this->writeElement('value', $value); | ||
} | ||
$this->endElement(); // allowed | ||
} | ||
$this->writeElement('default', $this->export($directive->default)); | ||
$this->writeAttribute('xml:space', 'preserve'); | ||
if ($directive->external) { | ||
$this->startElement('external'); | ||
foreach ($directive->external as $project) { | ||
$this->writeElement('project', $project); | ||
} | ||
$this->endElement(); | ||
} | ||
$this->endElement(); // constraints | ||
|
||
if ($directive->deprecatedVersion) { | ||
$this->startElement('deprecated'); | ||
$this->writeElement('version', $directive->deprecatedVersion); | ||
$this->writeElement('use', $directive->deprecatedUse->toString()); | ||
$this->endElement(); // deprecated | ||
} | ||
|
||
$this->startElement('description'); | ||
$this->writeHTMLDiv($directive->description); | ||
$this->endElement(); // description | ||
|
||
$this->endElement(); // directive | ||
} | ||
} | ||
|
||
// vim: et sw=4 sts=4 |
Oops, something went wrong.