mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2025-01-05 06:01:52 +00:00
[3.1.1] construct() to setup() in HTMLModules
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1760 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
parent
80f59206d7
commit
8d0d0d1a03
3
NEWS
3
NEWS
@ -23,6 +23,9 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
|
|||||||
to __construct($min, $max). __construct(true) is equivalent to
|
to __construct($min, $max). __construct(true) is equivalent to
|
||||||
__construct('0').
|
__construct('0').
|
||||||
. Added HTMLPurifier_AttrDef_Switch class
|
. Added HTMLPurifier_AttrDef_Switch class
|
||||||
|
. Rename HTMLPurifier_HTMLModule_Tidy->construct() to setup(), and bubble
|
||||||
|
up inheritance hierarchy to HTMLPurifier_HTMLModule. All HTMLModules
|
||||||
|
get this called with the configuration object.
|
||||||
|
|
||||||
3.1.0, released 2008-05-18
|
3.1.0, released 2008-05-18
|
||||||
# Unnecessary references to objects (vestiges of PHP4) removed from method
|
# Unnecessary references to objects (vestiges of PHP4) removed from method
|
||||||
|
1
TODO
1
TODO
@ -15,6 +15,7 @@ afraid to cast your vote for the next feature to be implemented!
|
|||||||
two separate directives due to our architecture.)
|
two separate directives due to our architecture.)
|
||||||
- Investigate how early internal structures can be accessed; this would
|
- Investigate how early internal structures can be accessed; this would
|
||||||
prevent structures from being parsed and serialized multiple times.
|
prevent structures from being parsed and serialized multiple times.
|
||||||
|
- Figure out how to simultaneously set %CSS.Trusted and %HTML.Trusted (?)
|
||||||
|
|
||||||
FUTURE VERSIONS
|
FUTURE VERSIONS
|
||||||
---------------
|
---------------
|
||||||
|
@ -222,5 +222,14 @@ class HTMLPurifier_HTMLModule
|
|||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lazy load construction of the module after determining whether
|
||||||
|
* or not it's needed, and also when a finalized configuration object
|
||||||
|
* is available.
|
||||||
|
* @param $config Instance of HTMLPurifier_Config
|
||||||
|
*/
|
||||||
|
public function setup($config) {}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
|
|||||||
* @todo Wildcard matching and error reporting when an added or
|
* @todo Wildcard matching and error reporting when an added or
|
||||||
* subtracted fix has no effect.
|
* subtracted fix has no effect.
|
||||||
*/
|
*/
|
||||||
public function construct($config) {
|
public function setup($config) {
|
||||||
|
|
||||||
// create fixes, initialize fixesForLevel
|
// create fixes, initialize fixesForLevel
|
||||||
$fixes = $this->makeFixes();
|
$fixes = $this->makeFixes();
|
||||||
|
@ -223,13 +223,12 @@ class HTMLPurifier_HTMLModuleManager
|
|||||||
|
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
|
$this->modules[$module]->setup($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($this->doctype->tidyModules as $module) {
|
foreach ($this->doctype->tidyModules as $module) {
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
if (method_exists($this->modules[$module], 'construct')) {
|
$this->modules[$module]->setup($config);
|
||||||
$this->modules[$module]->construct($config);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup lookup table based on all valid modules
|
// setup lookup table based on all valid modules
|
||||||
|
@ -38,7 +38,7 @@ class HTMLPurifier_HTMLModule_TidyTest extends HTMLPurifier_Harness
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_construct() {
|
function test_setup() {
|
||||||
|
|
||||||
$i = 0; // counter, helps us isolate expectations
|
$i = 0; // counter, helps us isolate expectations
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ class HTMLPurifier_HTMLModule_TidyTest extends HTMLPurifier_Harness
|
|||||||
'HTML.TidyLevel' => 'none'
|
'HTML.TidyLevel' => 'none'
|
||||||
));
|
));
|
||||||
$module->expectAt($i++, 'populate', array(array()));
|
$module->expectAt($i++, 'populate', array(array()));
|
||||||
$module->construct($config);
|
$module->setup($config);
|
||||||
|
|
||||||
// basic levels
|
// basic levels
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ class HTMLPurifier_HTMLModule_TidyTest extends HTMLPurifier_Harness
|
|||||||
'light-fix-1' => $lf1,
|
'light-fix-1' => $lf1,
|
||||||
'light-fix-2' => $lf2
|
'light-fix-2' => $lf2
|
||||||
)));
|
)));
|
||||||
$module->construct($config);
|
$module->setup($config);
|
||||||
|
|
||||||
$config = HTMLPurifier_Config::create(array(
|
$config = HTMLPurifier_Config::create(array(
|
||||||
'HTML.TidyLevel' => 'heavy'
|
'HTML.TidyLevel' => 'heavy'
|
||||||
@ -87,7 +87,7 @@ class HTMLPurifier_HTMLModule_TidyTest extends HTMLPurifier_Harness
|
|||||||
'heavy-fix-1' => $hf1,
|
'heavy-fix-1' => $hf1,
|
||||||
'heavy-fix-2' => $hf2
|
'heavy-fix-2' => $hf2
|
||||||
)));
|
)));
|
||||||
$module->construct($config);
|
$module->setup($config);
|
||||||
|
|
||||||
// fine grained tuning
|
// fine grained tuning
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ class HTMLPurifier_HTMLModule_TidyTest extends HTMLPurifier_Harness
|
|||||||
'light-fix-1' => $lf1,
|
'light-fix-1' => $lf1,
|
||||||
'medium-fix-1' => $mf1
|
'medium-fix-1' => $mf1
|
||||||
)));
|
)));
|
||||||
$module->construct($config);
|
$module->setup($config);
|
||||||
|
|
||||||
$config = HTMLPurifier_Config::create(array(
|
$config = HTMLPurifier_Config::create(array(
|
||||||
'HTML.TidyLevel' => 'medium',
|
'HTML.TidyLevel' => 'medium',
|
||||||
@ -109,7 +109,7 @@ class HTMLPurifier_HTMLModule_TidyTest extends HTMLPurifier_Harness
|
|||||||
'light-fix-2' => $lf2,
|
'light-fix-2' => $lf2,
|
||||||
'medium-fix-2' => $mf2
|
'medium-fix-2' => $mf2
|
||||||
)));
|
)));
|
||||||
$module->construct($config);
|
$module->setup($config);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user