1
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2025-08-08 23:26:39 +02:00

- Fixed lots of bugs

- Defined new directive %Core.EscapeInvalidChildren, for previously commented out functionality
- Removed convenience configuration generation: you *have* to pass it unless you're interfacing with HTMLPurifier
- Homogenized function parameters even when only a few of them are used
- Rewrote unit tests that expected previous behavior
- Introduced configuration object to ChildDef tests

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@243 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
Edward Z. Yang
2006-08-14 02:46:34 +00:00
parent 0170bb2120
commit 238678871e
11 changed files with 104 additions and 58 deletions

View File

@@ -12,8 +12,7 @@ class HTMLPurifier_Strategy_Composite
trigger_error('Attempt to instantiate abstract object', E_USER_ERROR);
}
function execute($tokens, $config = null) {
if (!$config) $config = HTMLPurifier_Config::createDefault();
function execute($tokens, $config) {
foreach ($this->strategies as $strategy) {
$tokens = $strategy->execute($tokens, $config);
}

View File

@@ -40,7 +40,7 @@ class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
$this->definition = HTMLPurifier_Definition::instance();
}
function execute($tokens) {
function execute($tokens, $config) {
//####################################################################//
// Pre-processing
@@ -147,7 +147,8 @@ class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
$child_def = $def->child;
// have DTD child def validate children
$result = $child_def->validateChildren($child_tokens, $context);
$result = $child_def->validateChildren(
$child_tokens, $config,$context);
// determine whether or not this element has any exclusions
$excludes = $def->excludes;

View File

@@ -15,7 +15,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
$this->definition = HTMLPurifier_Definition::instance();
}
function execute($tokens) {
function execute($tokens, $config) {
$result = array();
$current_nesting = array();
foreach ($tokens as $token) {

View File

@@ -24,7 +24,7 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
$this->definition = HTMLPurifier_Definition::instance();
}
function execute($tokens) {
function execute($tokens, $config) {
$result = array();
foreach($tokens as $token) {
if (!empty( $token->is_tag )) {

View File

@@ -23,10 +23,7 @@ class HTMLPurifier_Strategy_ValidateAttributes extends HTMLPurifier_Strategy
$this->definition = HTMLPurifier_Definition::instance();
}
function execute($tokens, $config = null) {
// load default configuration object if none passed
if (!$config) $config = HTMLPurifier_Config::createDefault();
function execute($tokens, $config) {
// setup StrategyContext
$context = new HTMLPurifier_AttrContext();