mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2025-07-30 19:00:10 +02:00
Release 1.5.0, merged in r688-867.
- LanguageFactory::instance() declared static - HTMLModuleManagerTest pass by reference bug fixed, merge back into trunk scheduled git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/branches/strict@869 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
@@ -49,8 +49,8 @@ class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
|
||||
$tokens[] = new HTMLPurifier_Token_End($parent_name);
|
||||
|
||||
// setup the context variables
|
||||
$parent_type = 'unknown'; // reference var that we alter
|
||||
$context->register('ParentType', $parent_type);
|
||||
$is_inline = false; // reference var that we alter
|
||||
$context->register('IsInline', $is_inline);
|
||||
|
||||
//####################################################################//
|
||||
// Loop initialization
|
||||
@@ -115,11 +115,16 @@ class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
|
||||
}
|
||||
|
||||
// calculate context
|
||||
if (isset($parent_def)) {
|
||||
$parent_type = $parent_def->type;
|
||||
if ($is_inline === false) {
|
||||
// check if conditions make it inline
|
||||
if (!empty($parent_def) && $parent_def->descendants_are_inline) {
|
||||
$is_inline = $count - 1;
|
||||
}
|
||||
} else {
|
||||
// generally found in specialized elements like UL
|
||||
$parent_type = 'unknown';
|
||||
// check if we're out of inline
|
||||
if ($count === $is_inline) {
|
||||
$is_inline = false;
|
||||
}
|
||||
}
|
||||
|
||||
//################################################################//
|
||||
@@ -273,7 +278,7 @@ class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
|
||||
array_pop($tokens);
|
||||
|
||||
// remove context variables
|
||||
$context->destroy('ParentType');
|
||||
$context->destroy('IsInline');
|
||||
|
||||
//####################################################################//
|
||||
// Return
|
||||
|
Reference in New Issue
Block a user