0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-12-22 16:31:53 +00:00
htmlpurifier/library/HTMLPurifier
Edward Z. Yang fa413e96ac Implement Injector->handleEnd, with lots of refactoring for injector.
Previous design of injector streaming involved editability only to start, empty
and text tokens, because they could be safely modified without causing formedness
errors.  By modifying notifyEnd to operate before MakeWellFormed's safeguards
kick into effect, it can be converted into a handle function, allowing for
arbitrary modification of end tags.

This change involved quite a bit of restructuring of the MakeWellFormed code,
including the moving of end of document tags to inside the loop, so rewinding
on those tags would be functional, increased reuse of the end tag codepath by
code that inserts end tags (as they could be changed out from under you), and
processToken modified to have an extra parameter to force re-processing of
a token if the original token was an end token.

We're not exactly sure if handleEnd works at this point, but the important
talking point about this refactoring is that nothing else broke. Also, a number
of convenience functions were moved from AutoParagraph to the Injector
supertype (specifically: forward, forwardToEndToken, backward, and current).

Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
2008-10-01 00:54:51 -04:00
..
AttrDef Slight optimization in LinkTypes using array_keys(). 2008-07-08 21:47:52 -04:00
AttrTransform Add support for proprietary "background" attribute in table elements. 2008-09-27 21:19:35 -04:00
ChildDef Forms implementation for %HTML.Trusted. Some backend changes: 2008-08-15 18:57:44 -04:00
ConfigSchema Fix documentation error in Filter.ExtractStyleBlocks and give better example. 2008-08-01 18:58:47 -04:00
DefinitionCache Rename dummy file to proper location. 2008-06-25 22:43:55 -04:00
EntityLookup [1.2.0] 2006-09-30 20:18:08 +00:00
Filter [3.1.0] Deprecate addFilter; set up Filter namespace 2008-04-22 06:40:04 +00:00
HTMLModule Add support for proprietary "background" attribute in table elements. 2008-09-27 21:19:35 -04:00
Injector Implement Injector->handleEnd, with lots of refactoring for injector. 2008-10-01 00:54:51 -04:00
Language Implement nested error collection with start() and end() in ErrorCollector. 2008-08-16 00:41:34 -04:00
Lexer Setup ErrorCollector to maintain new error format, and output that HTML. 2008-09-15 19:08:58 -04:00
Printer [3.1.1] Land vs's HTMLPurifier_Generator patch, and a number of other bugfixes for that change 2008-05-26 04:05:48 +00:00
Strategy Implement Injector->handleEnd, with lots of refactoring for injector. 2008-10-01 00:54:51 -04:00
TagTransform [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
Token Track column numbers in addition to line numbers. 2008-09-01 14:10:10 -04:00
URIFilter Fix bug where absolute paths with dots/double-dots were not collapsed. 2008-08-15 13:12:54 -04:00
URIScheme [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
VarParser [3.1.1] Memory optimizations for ConfigSchema. Changes include: 2008-05-23 16:43:24 +00:00
AttrCollections.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
AttrDef.php [3.1.1] Fix Shift_JIS encoding wonkiness with yen symbols and whatnot 2008-05-25 05:40:20 +00:00
AttrTransform.php [3.0.0] Convert all $context calls away from references 2008-01-05 00:10:43 +00:00
AttrTypes.php Forms implementation for %HTML.Trusted. Some backend changes: 2008-08-15 18:57:44 -04:00
AttrValidator.php Setup ErrorCollector to maintain new error format, and output that HTML. 2008-09-15 19:08:58 -04:00
Bootstrap.php [3.1.0] Get testing working again for all versions 2008-05-16 01:49:33 +00:00
ChildDef.php Fix bug involving autoclose and inline elements in strict <blockquote>. 2008-08-01 20:52:06 -04:00
Config.php Release 3.1.1 2008-06-19 21:43:57 +00:00
ConfigSchema.php [3.1.1] More ConfigSchema optimizations: degenerate form can accommodate type and allow_null 2008-05-23 17:10:26 +00:00
ContentSets.php Forms implementation for %HTML.Trusted. Some backend changes: 2008-08-15 18:57:44 -04:00
Context.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
CSSDefinition.php [3.1.1] Round up imagecrash support with HTML.MaxImgLength 2008-05-23 02:09:43 +00:00
Definition.php Convert to PHP 5 only codebase, adding visibility modifiers to all members and methods in the main library area (function only for test methods) 2007-11-25 02:24:39 +00:00
DefinitionCache.php [3.1.0] Fix bug with 3.1.0-dev version number (the dash caused problems, so we switched to commas) 2008-04-26 19:28:14 +00:00
DefinitionCacheFactory.php [3.1.0] Fix bug with 3.1.0-dev version number (the dash caused problems, so we switched to commas) 2008-04-26 19:28:14 +00:00
Doctype.php [3.1.0] Move $safe from ElementDef to HTMLModule 2008-04-21 23:28:52 +00:00
DoctypeRegistry.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
ElementDef.php [3.1.0] Move $safe from ElementDef to HTMLModule 2008-04-21 23:28:52 +00:00
Encoder.php Give warnings when attempting to use encoding iconv doesn't support. 2008-07-05 03:14:32 -04:00
EntityLookup.php Convert to PHP 5 only codebase, adding visibility modifiers to all members and methods in the main library area (function only for test methods) 2007-11-25 02:24:39 +00:00
EntityParser.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
ErrorCollector.php Setup ErrorCollector to maintain new error format, and output that HTML. 2008-09-15 19:08:58 -04:00
ErrorStruct.php Setup ErrorCollector to maintain new error format, and output that HTML. 2008-09-15 19:08:58 -04:00
Exception.php [3.1.0] Implement ConfigSchema interchange 2008-03-01 17:06:23 +00:00
Filter.php [3.0.0] Convert all $context calls away from references 2008-01-05 00:10:43 +00:00
Generator.php [3.1.2] Add %Output.SortAttr to deal with FCKeditor bug 2008-06-24 22:36:27 -04:00
HTMLDefinition.php [3.1.1] Allow injectors to be specified by modules. 2008-06-09 01:23:05 +00:00
HTMLModule.php [3.1.1] Allow injectors to be specified by modules. 2008-06-09 01:23:05 +00:00
HTMLModuleManager.php Fix bug with anonymous module and the SafeObject/SafeEmbed modules. 2008-08-31 19:06:25 -04:00
IDAccumulator.php Transition is complete! Cleanup and class rearrangement now necessary. 2008-02-10 20:34:39 +00:00
Injector.php Implement Injector->handleEnd, with lots of refactoring for injector. 2008-10-01 00:54:51 -04:00
Language.php [3.1.0] Fixed bug with fallback languages in LanguageFactory 2008-05-15 23:04:46 +00:00
LanguageFactory.php Allow for users to load Language class files themselves. Messages are still HTML Purifier dependent; we need to figure out a way around that. 2008-05-15 23:22:34 +00:00
Length.php [3.1.1] Implement more robust imagecrash protection for CSS width/height. 2008-05-21 01:56:48 +00:00
Lexer.php Refactor lexer instantiation logic with exceptions and forced line tracking. 2008-09-05 14:04:23 -04:00
PercentEncoder.php [3.1.0] Revamp URI handling of percent encoding and validation. 2008-05-14 02:19:00 +00:00
Printer.php [3.1.1] Land vs's HTMLPurifier_Generator patch, and a number of other bugfixes for that change 2008-05-26 04:05:48 +00:00
Strategy.php Transition is complete! Cleanup and class rearrangement now necessary. 2008-02-10 20:34:39 +00:00
StringHash.php [3.1.0] Make StringHash system-agnostic. 2008-03-22 19:30:37 +00:00
StringHashParser.php Allow empty sections in string hashes; previously they were left undefined. 2008-07-07 08:57:16 -04:00
TagTransform.php [3.1.0] The bulk of autoload support added 2008-01-27 01:54:41 +00:00
Token.php Track column numbers in addition to line numbers. 2008-09-01 14:10:10 -04:00
TokenFactory.php [3.1.0] More PHP4->PHP5 conversions, notably reference removal of most methods that return objects 2008-04-23 02:40:17 +00:00
UnitConverter.php Add support for pixel as a pseudo-English unit. 2008-05-21 00:42:55 +00:00
URI.php [3.1.1] Implement percent encoding for URI query and fragment 2008-05-21 02:58:41 +00:00
URIDefinition.php [3.1.1] General munge improvements 2008-06-18 03:29:27 +00:00
URIFilter.php [3.1.1] Implement %URI.SecureMunge and %URI.SecureMungeSecretKey, thanks Chris! 2008-05-26 16:26:47 +00:00
URIParser.php [3.1.0] Revamp URI handling of percent encoding and validation. 2008-05-14 02:19:00 +00:00
URIScheme.php [3.0.0] Convert all $context calls away from references 2008-01-05 00:10:43 +00:00
URISchemeRegistry.php Transition is complete! Cleanup and class rearrangement now necessary. 2008-02-10 20:34:39 +00:00
VarParser.php [3.1.1] More ConfigSchema optimizations: degenerate form can accommodate type and allow_null 2008-05-23 17:10:26 +00:00
VarParserException.php [3.1.0] Split out VarParser from ConfigSchema 2008-03-04 15:06:00 +00:00