Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mahara
mahara
Commits
a3dc95b4
Commit
a3dc95b4
authored
Nov 03, 2008
by
Richard Mansfield
Browse files
Update HTML purifier
parent
61b07176
Changes
318
Hide whitespace changes
Inline
Side-by-side
htdocs/lib/htmlpurifier/HTMLPurifier.auto.php
View file @
a3dc95b4
...
...
@@ -5,5 +5,5 @@
*/
set_include_path
(
dirname
(
__FILE__
)
.
PATH_SEPARATOR
.
get_include_path
()
);
require_once
'HTMLPurifier.php'
;
require_once
'HTMLPurifier
/Bootstrap
.php'
;
require_once
'HTMLPurifier.autoload.php'
;
htdocs/lib/htmlpurifier/HTMLPurifier.autoload.php
0 → 100644
View file @
a3dc95b4
<?php
/**
* @file
* Convenience file that registers autoload handler for HTML Purifier.
*/
if
(
function_exists
(
'spl_autoload_register'
)
&&
function_exists
(
'spl_autoload_unregister'
))
{
// We need unregister for our pre-registering functionality
HTMLPurifier_Bootstrap
::
registerAutoload
();
if
(
function_exists
(
'__autoload'
))
{
// Be polite and ensure that userland autoload gets retained
spl_autoload_register
(
'__autoload'
);
}
}
elseif
(
!
function_exists
(
'__autoload'
))
{
function
__autoload
(
$class
)
{
return
HTMLPurifier_Bootstrap
::
autoload
(
$class
);
}
}
htdocs/lib/htmlpurifier/HTMLPurifier.func.php
View file @
a3dc95b4
<?php
/**
* Function wrapper for HTML Purifier for quick use.
* @note This function only includes the library when it is called. While
* this is efficient for instances when you only use HTML Purifier
* on a few of your pages, it murders bytecode caching. You still
* need to add HTML Purifier to your path.
* @file
* Defines a function wrapper for HTML Purifier for quick use.
* @note ''HTMLPurifier()'' is NOT the same as ''new HTMLPurifier()''
*/
/**
* Purify HTML.
* @param $html String HTML to purify
* @param $config Configuration to use, can be any value accepted by
* HTMLPurifier_Config::create()
*/
function
HTMLPurifier
(
$html
,
$config
=
null
)
{
static
$purifier
=
false
;
if
(
!
$purifier
)
{
require_once
'HTMLPurifier.php'
;
$purifier
=
new
HTMLPurifier
();
}
return
$purifier
->
purify
(
$html
,
$config
);
...
...
htdocs/lib/htmlpurifier/HTMLPurifier.includes.php
0 → 100644
View file @
a3dc95b4
<?php
/**
* @file
* This file was auto-generated by generate-includes.php and includes all of
* the core files required by HTML Purifier. Use this if performance is a
* primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
* FILE, changes will be overwritten the next time the script is run.
*
* @version 3.2.0
*
* @warning
* You must *not* include any other HTML Purifier files before this file,
* because 'require' not 'require_once' is used.
*
* @warning
* This file requires that the include path contains the HTML Purifier
* library directory; this is not auto-set.
*/
require
'HTMLPurifier.php'
;
require
'HTMLPurifier/AttrCollections.php'
;
require
'HTMLPurifier/AttrDef.php'
;
require
'HTMLPurifier/AttrTransform.php'
;
require
'HTMLPurifier/AttrTypes.php'
;
require
'HTMLPurifier/AttrValidator.php'
;
require
'HTMLPurifier/Bootstrap.php'
;
require
'HTMLPurifier/Definition.php'
;
require
'HTMLPurifier/CSSDefinition.php'
;
require
'HTMLPurifier/ChildDef.php'
;
require
'HTMLPurifier/Config.php'
;
require
'HTMLPurifier/ConfigSchema.php'
;
require
'HTMLPurifier/ContentSets.php'
;
require
'HTMLPurifier/Context.php'
;
require
'HTMLPurifier/DefinitionCache.php'
;
require
'HTMLPurifier/DefinitionCacheFactory.php'
;
require
'HTMLPurifier/Doctype.php'
;
require
'HTMLPurifier/DoctypeRegistry.php'
;
require
'HTMLPurifier/ElementDef.php'
;
require
'HTMLPurifier/Encoder.php'
;
require
'HTMLPurifier/EntityLookup.php'
;
require
'HTMLPurifier/EntityParser.php'
;
require
'HTMLPurifier/ErrorCollector.php'
;
require
'HTMLPurifier/ErrorStruct.php'
;
require
'HTMLPurifier/Exception.php'
;
require
'HTMLPurifier/Filter.php'
;
require
'HTMLPurifier/Generator.php'
;
require
'HTMLPurifier/HTMLDefinition.php'
;
require
'HTMLPurifier/HTMLModule.php'
;
require
'HTMLPurifier/HTMLModuleManager.php'
;
require
'HTMLPurifier/IDAccumulator.php'
;
require
'HTMLPurifier/Injector.php'
;
require
'HTMLPurifier/Language.php'
;
require
'HTMLPurifier/LanguageFactory.php'
;
require
'HTMLPurifier/Length.php'
;
require
'HTMLPurifier/Lexer.php'
;
require
'HTMLPurifier/PercentEncoder.php'
;
require
'HTMLPurifier/Strategy.php'
;
require
'HTMLPurifier/StringHash.php'
;
require
'HTMLPurifier/StringHashParser.php'
;
require
'HTMLPurifier/TagTransform.php'
;
require
'HTMLPurifier/Token.php'
;
require
'HTMLPurifier/TokenFactory.php'
;
require
'HTMLPurifier/URI.php'
;
require
'HTMLPurifier/URIDefinition.php'
;
require
'HTMLPurifier/URIFilter.php'
;
require
'HTMLPurifier/URIParser.php'
;
require
'HTMLPurifier/URIScheme.php'
;
require
'HTMLPurifier/URISchemeRegistry.php'
;
require
'HTMLPurifier/UnitConverter.php'
;
require
'HTMLPurifier/VarParser.php'
;
require
'HTMLPurifier/VarParserException.php'
;
require
'HTMLPurifier/AttrDef/CSS.php'
;
require
'HTMLPurifier/AttrDef/Enum.php'
;
require
'HTMLPurifier/AttrDef/Integer.php'
;
require
'HTMLPurifier/AttrDef/Lang.php'
;
require
'HTMLPurifier/AttrDef/Switch.php'
;
require
'HTMLPurifier/AttrDef/Text.php'
;
require
'HTMLPurifier/AttrDef/URI.php'
;
require
'HTMLPurifier/AttrDef/CSS/Number.php'
;
require
'HTMLPurifier/AttrDef/CSS/AlphaValue.php'
;
require
'HTMLPurifier/AttrDef/CSS/Background.php'
;
require
'HTMLPurifier/AttrDef/CSS/BackgroundPosition.php'
;
require
'HTMLPurifier/AttrDef/CSS/Border.php'
;
require
'HTMLPurifier/AttrDef/CSS/Color.php'
;
require
'HTMLPurifier/AttrDef/CSS/Composite.php'
;
require
'HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php'
;
require
'HTMLPurifier/AttrDef/CSS/Filter.php'
;
require
'HTMLPurifier/AttrDef/CSS/Font.php'
;
require
'HTMLPurifier/AttrDef/CSS/FontFamily.php'
;
require
'HTMLPurifier/AttrDef/CSS/ImportantDecorator.php'
;
require
'HTMLPurifier/AttrDef/CSS/Length.php'
;
require
'HTMLPurifier/AttrDef/CSS/ListStyle.php'
;
require
'HTMLPurifier/AttrDef/CSS/Multiple.php'
;
require
'HTMLPurifier/AttrDef/CSS/Percentage.php'
;
require
'HTMLPurifier/AttrDef/CSS/TextDecoration.php'
;
require
'HTMLPurifier/AttrDef/CSS/URI.php'
;
require
'HTMLPurifier/AttrDef/HTML/Bool.php'
;
require
'HTMLPurifier/AttrDef/HTML/Color.php'
;
require
'HTMLPurifier/AttrDef/HTML/FrameTarget.php'
;
require
'HTMLPurifier/AttrDef/HTML/ID.php'
;
require
'HTMLPurifier/AttrDef/HTML/Pixels.php'
;
require
'HTMLPurifier/AttrDef/HTML/Length.php'
;
require
'HTMLPurifier/AttrDef/HTML/LinkTypes.php'
;
require
'HTMLPurifier/AttrDef/HTML/MultiLength.php'
;
require
'HTMLPurifier/AttrDef/HTML/Nmtokens.php'
;
require
'HTMLPurifier/AttrDef/URI/Email.php'
;
require
'HTMLPurifier/AttrDef/URI/Host.php'
;
require
'HTMLPurifier/AttrDef/URI/IPv4.php'
;
require
'HTMLPurifier/AttrDef/URI/IPv6.php'
;
require
'HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php'
;
require
'HTMLPurifier/AttrTransform/Background.php'
;
require
'HTMLPurifier/AttrTransform/BdoDir.php'
;
require
'HTMLPurifier/AttrTransform/BgColor.php'
;
require
'HTMLPurifier/AttrTransform/BoolToCSS.php'
;
require
'HTMLPurifier/AttrTransform/Border.php'
;
require
'HTMLPurifier/AttrTransform/EnumToCSS.php'
;
require
'HTMLPurifier/AttrTransform/ImgRequired.php'
;
require
'HTMLPurifier/AttrTransform/ImgSpace.php'
;
require
'HTMLPurifier/AttrTransform/Input.php'
;
require
'HTMLPurifier/AttrTransform/Lang.php'
;
require
'HTMLPurifier/AttrTransform/Length.php'
;
require
'HTMLPurifier/AttrTransform/Name.php'
;
require
'HTMLPurifier/AttrTransform/SafeEmbed.php'
;
require
'HTMLPurifier/AttrTransform/SafeObject.php'
;
require
'HTMLPurifier/AttrTransform/SafeParam.php'
;
require
'HTMLPurifier/AttrTransform/ScriptRequired.php'
;
require
'HTMLPurifier/AttrTransform/Textarea.php'
;
require
'HTMLPurifier/ChildDef/Chameleon.php'
;
require
'HTMLPurifier/ChildDef/Custom.php'
;
require
'HTMLPurifier/ChildDef/Empty.php'
;
require
'HTMLPurifier/ChildDef/Required.php'
;
require
'HTMLPurifier/ChildDef/Optional.php'
;
require
'HTMLPurifier/ChildDef/StrictBlockquote.php'
;
require
'HTMLPurifier/ChildDef/Table.php'
;
require
'HTMLPurifier/DefinitionCache/Decorator.php'
;
require
'HTMLPurifier/DefinitionCache/Null.php'
;
require
'HTMLPurifier/DefinitionCache/Serializer.php'
;
require
'HTMLPurifier/DefinitionCache/Decorator/Cleanup.php'
;
require
'HTMLPurifier/DefinitionCache/Decorator/Memory.php'
;
require
'HTMLPurifier/HTMLModule/Bdo.php'
;
require
'HTMLPurifier/HTMLModule/CommonAttributes.php'
;
require
'HTMLPurifier/HTMLModule/Edit.php'
;
require
'HTMLPurifier/HTMLModule/Forms.php'
;
require
'HTMLPurifier/HTMLModule/Hypertext.php'
;
require
'HTMLPurifier/HTMLModule/Image.php'
;
require
'HTMLPurifier/HTMLModule/Legacy.php'
;
require
'HTMLPurifier/HTMLModule/List.php'
;
require
'HTMLPurifier/HTMLModule/Name.php'
;
require
'HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php'
;
require
'HTMLPurifier/HTMLModule/Object.php'
;
require
'HTMLPurifier/HTMLModule/Presentation.php'
;
require
'HTMLPurifier/HTMLModule/Proprietary.php'
;
require
'HTMLPurifier/HTMLModule/Ruby.php'
;
require
'HTMLPurifier/HTMLModule/SafeEmbed.php'
;
require
'HTMLPurifier/HTMLModule/SafeObject.php'
;
require
'HTMLPurifier/HTMLModule/Scripting.php'
;
require
'HTMLPurifier/HTMLModule/StyleAttribute.php'
;
require
'HTMLPurifier/HTMLModule/Tables.php'
;
require
'HTMLPurifier/HTMLModule/Target.php'
;
require
'HTMLPurifier/HTMLModule/Text.php'
;
require
'HTMLPurifier/HTMLModule/Tidy.php'
;
require
'HTMLPurifier/HTMLModule/XMLCommonAttributes.php'
;
require
'HTMLPurifier/HTMLModule/Tidy/Name.php'
;
require
'HTMLPurifier/HTMLModule/Tidy/Proprietary.php'
;
require
'HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php'
;
require
'HTMLPurifier/HTMLModule/Tidy/Strict.php'
;
require
'HTMLPurifier/HTMLModule/Tidy/Transitional.php'
;
require
'HTMLPurifier/HTMLModule/Tidy/XHTML.php'
;
require
'HTMLPurifier/Injector/AutoParagraph.php'
;
require
'HTMLPurifier/Injector/DisplayLinkURI.php'
;
require
'HTMLPurifier/Injector/Linkify.php'
;
require
'HTMLPurifier/Injector/PurifierLinkify.php'
;
require
'HTMLPurifier/Injector/RemoveEmpty.php'
;
require
'HTMLPurifier/Injector/SafeObject.php'
;
require
'HTMLPurifier/Lexer/DOMLex.php'
;
require
'HTMLPurifier/Lexer/DirectLex.php'
;
require
'HTMLPurifier/Strategy/Composite.php'
;
require
'HTMLPurifier/Strategy/Core.php'
;
require
'HTMLPurifier/Strategy/FixNesting.php'
;
require
'HTMLPurifier/Strategy/MakeWellFormed.php'
;
require
'HTMLPurifier/Strategy/RemoveForeignElements.php'
;
require
'HTMLPurifier/Strategy/ValidateAttributes.php'
;
require
'HTMLPurifier/TagTransform/Font.php'
;
require
'HTMLPurifier/TagTransform/Simple.php'
;
require
'HTMLPurifier/Token/Comment.php'
;
require
'HTMLPurifier/Token/Tag.php'
;
require
'HTMLPurifier/Token/Empty.php'
;
require
'HTMLPurifier/Token/End.php'
;
require
'HTMLPurifier/Token/Start.php'
;
require
'HTMLPurifier/Token/Text.php'
;
require
'HTMLPurifier/URIFilter/DisableExternal.php'
;
require
'HTMLPurifier/URIFilter/DisableExternalResources.php'
;
require
'HTMLPurifier/URIFilter/HostBlacklist.php'
;
require
'HTMLPurifier/URIFilter/MakeAbsolute.php'
;
require
'HTMLPurifier/URIFilter/Munge.php'
;
require
'HTMLPurifier/URIScheme/ftp.php'
;
require
'HTMLPurifier/URIScheme/http.php'
;
require
'HTMLPurifier/URIScheme/https.php'
;
require
'HTMLPurifier/URIScheme/mailto.php'
;
require
'HTMLPurifier/URIScheme/news.php'
;
require
'HTMLPurifier/URIScheme/nntp.php'
;
require
'HTMLPurifier/VarParser/Flexible.php'
;
require
'HTMLPurifier/VarParser/Native.php'
;
htdocs/lib/htmlpurifier/HTMLPurifier.kses.php
0 → 100644
View file @
a3dc95b4
<?php
/**
* @file
* Emulation layer for code that used kses(), substituting in HTML Purifier.
*/
require_once
dirname
(
__FILE__
)
.
'/HTMLPurifier.auto.php'
;
function
kses
(
$string
,
$allowed_html
,
$allowed_protocols
=
null
)
{
$config
=
HTMLPurifier_Config
::
createDefault
();
$allowed_elements
=
array
();
$allowed_attributes
=
array
();
foreach
(
$allowed_html
as
$element
=>
$attributes
)
{
$allowed_elements
[
$element
]
=
true
;
foreach
(
$attributes
as
$attribute
=>
$x
)
{
$allowed_attributes
[
"
$element
.
$attribute
"
]
=
true
;
}
}
$config
->
set
(
'HTML'
,
'AllowedElements'
,
$allowed_elements
);
$config
->
set
(
'HTML'
,
'AllowedAttributes'
,
$allowed_attributes
);
$allowed_schemes
=
array
();
if
(
$allowed_protocols
!==
null
)
{
$config
->
set
(
'URI'
,
'AllowedSchemes'
,
$allowed_protocols
);
}
$purifier
=
new
HTMLPurifier
(
$config
);
return
$purifier
->
purify
(
$string
);
}
htdocs/lib/htmlpurifier/HTMLPurifier.path.php
0 → 100644
View file @
a3dc95b4
<?php
/**
* @file
* Convenience stub file that adds HTML Purifier's library file to the path
* without any other side-effects.
*/
set_include_path
(
dirname
(
__FILE__
)
.
PATH_SEPARATOR
.
get_include_path
()
);
htdocs/lib/htmlpurifier/HTMLPurifier.php
View file @
a3dc95b4
...
...
@@ -15,13 +15,11 @@
* -# Generating HTML from the purified tokens.
*
* However, most users will only need to interface with the HTMLPurifier
* class, so this massive amount of infrastructure is usually concealed.
* If you plan on working with the internals, be sure to include
* HTMLPurifier_ConfigSchema and HTMLPurifier_Config.
* and HTMLPurifier_Config.
*/
/*
HTML Purifier 3.
0
.0 - Standards Compliant HTML Filtering
HTML Purifier 3.
2
.0 - Standards Compliant HTML Filtering
Copyright (C) 2006-2008 Edward Z. Yang
This library is free software; you can redistribute it and/or
...
...
@@ -39,32 +37,6 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
// constants are slow, but we'll make one exception
define
(
'HTMLPURIFIER_PREFIX'
,
dirname
(
__FILE__
));
// every class has an undocumented dependency to these, must be included!
require_once
'HTMLPurifier/ConfigSchema.php'
;
// fatal errors if not included
require_once
'HTMLPurifier/Config.php'
;
require_once
'HTMLPurifier/Context.php'
;
require_once
'HTMLPurifier/Lexer.php'
;
require_once
'HTMLPurifier/Generator.php'
;
require_once
'HTMLPurifier/Strategy/Core.php'
;
require_once
'HTMLPurifier/Encoder.php'
;
require_once
'HTMLPurifier/ErrorCollector.php'
;
require_once
'HTMLPurifier/LanguageFactory.php'
;
HTMLPurifier_ConfigSchema
::
define
(
'Core'
,
'CollectErrors'
,
false
,
'bool'
,
'
Whether or not to collect errors found while filtering the document. This
is a useful way to give feedback to your users. <strong>Warning:</strong>
Currently this feature is very patchy and experimental, with lots of
possible error messages not yet implemented. It will not cause any problems,
but it may not help your users either. This directive has been available
since 2.0.0.
'
);
/**
* Facade that coordinates HTML Purifier's subsystems in order to purify HTML.
*
...
...
@@ -74,25 +46,34 @@ since 2.0.0.
* -# Instance: new HTMLPurifier($config)
* -# Invocation: purify($html, $config)
* These configurations are entirely independent of each other and
* are *not* merged.
* are *not* merged
(this behavior may change in the future)
.
*
* @todo We need an easier way to inject strategies
, it'll probably end
*
up getting done through config though
.
* @todo We need an easier way to inject strategies
using the configuration
*
object
.
*/
class
HTMLPurifier
{
public
$version
=
'3.0.0'
;
/** Version of HTML Purifier */
public
$version
=
'3.2.0'
;
/** Constant with version of HTML Purifier */
const
VERSION
=
'3.2.0'
;
/** Global configuration object */
public
$config
;
public
$filters
=
array
();
/** Array of extra HTMLPurifier_Filter objects to run on HTML, for backwards compatibility */
private
$filters
=
array
();
/** Single instance of HTML Purifier */
private
static
$instance
;
protected
$strategy
,
$generator
;
/**
* Resultant HTMLPurifier_Context of last run purification. Is an array
* of contexts if the last called method was purifyArray().
* @public
*/
public
$context
;
...
...
@@ -109,7 +90,6 @@ class HTMLPurifier
$this
->
config
=
HTMLPurifier_Config
::
create
(
$config
);
$this
->
strategy
=
new
HTMLPurifier_Strategy_Core
();
$this
->
generator
=
new
HTMLPurifier_Generator
();
}
...
...
@@ -118,6 +98,7 @@ class HTMLPurifier
* @param $filter HTMLPurifier_Filter object
*/
public
function
addFilter
(
$filter
)
{
trigger_error
(
'HTMLPurifier->addFilter() is deprecated, use configuration directives in the Filter namespace or Filter.Custom'
,
E_USER_WARNING
);
$this
->
filters
[]
=
$filter
;
}
...
...
@@ -133,7 +114,7 @@ class HTMLPurifier
*/
public
function
purify
(
$html
,
$config
=
null
)
{
//
todo
: make the config merge in, instead of replace
//
:TODO
: make the config merge in, instead of replace
$config
=
$config
?
HTMLPurifier_Config
::
create
(
$config
)
:
$this
->
config
;
// implementation is partially environment dependant, partially
...
...
@@ -142,8 +123,8 @@ class HTMLPurifier
$context
=
new
HTMLPurifier_Context
();
//
our friendly neighborhood generator, all primed with configuration too!
$this
->
generator
->
generateFromTokens
(
array
(),
$config
,
$context
);
//
setup HTML generator
$this
->
generator
=
new
HTMLPurifier_Generator
(
$config
,
$context
);
$context
->
register
(
'Generator'
,
$this
->
generator
);
// set up global context variables
...
...
@@ -164,8 +145,25 @@ class HTMLPurifier
$html
=
HTMLPurifier_Encoder
::
convertToUTF8
(
$html
,
$config
,
$context
);
for
(
$i
=
0
,
$size
=
count
(
$this
->
filters
);
$i
<
$size
;
$i
++
)
{
$html
=
$this
->
filters
[
$i
]
->
preFilter
(
$html
,
$config
,
$context
);
// setup filters
$filter_flags
=
$config
->
getBatch
(
'Filter'
);
$custom_filters
=
$filter_flags
[
'Custom'
];
unset
(
$filter_flags
[
'Custom'
]);
$filters
=
array
();
foreach
(
$filter_flags
as
$filter
=>
$flag
)
{
if
(
!
$flag
)
continue
;
$class
=
"HTMLPurifier_Filter_
$filter
"
;
$filters
[]
=
new
$class
;
}
foreach
(
$custom_filters
as
$filter
)
{
// maybe "HTMLPurifier_Filter_$filter", but be consistent with AutoFormat
$filters
[]
=
$filter
;
}
$filters
=
array_merge
(
$filters
,
$this
->
filters
);
// maybe prepare(), but later
for
(
$i
=
0
,
$filter_size
=
count
(
$filters
);
$i
<
$filter_size
;
$i
++
)
{
$html
=
$filters
[
$i
]
->
preFilter
(
$html
,
$config
,
$context
);
}
// purified HTML
...
...
@@ -179,12 +177,11 @@ class HTMLPurifier
$html
,
$config
,
$context
),
$config
,
$context
),
$config
,
$context
)
);
for
(
$i
=
$size
-
1
;
$i
>=
0
;
$i
--
)
{
$html
=
$
this
->
filters
[
$i
]
->
postFilter
(
$html
,
$config
,
$context
);
for
(
$i
=
$
filter_
size
-
1
;
$i
>=
0
;
$i
--
)
{
$html
=
$filters
[
$i
]
->
postFilter
(
$html
,
$config
,
$context
);
}
$html
=
HTMLPurifier_Encoder
::
convertFromUTF8
(
$html
,
$config
,
$context
);
...
...
@@ -211,23 +208,27 @@ class HTMLPurifier
/**
* Singleton for enforcing just one HTML Purifier in your system
* @param $prototype Optional prototype HTMLPurifier instance to
* overload singleton with.
* overload singleton with, or HTMLPurifier_Config
* instance to configure the generated version with.
*/
public
static
function
&
getInstance
(
$prototype
=
null
)
{
static
$htmlpurifier
;
if
(
!
$htmlpurifier
||
$prototype
)
{
public
static
function
instance
(
$prototype
=
null
)
{
if
(
!
self
::
$instance
||
$prototype
)
{
if
(
$prototype
instanceof
HTMLPurifier
)
{
$htmlpurifier
=
$prototype
;
self
::
$instance
=
$prototype
;
}
elseif
(
$prototype
)
{
$htmlpurifier
=
new
HTMLPurifier
(
$prototype
);
self
::
$instance
=
new
HTMLPurifier
(
$prototype
);
}
else
{
$htmlpurifier
=
new
HTMLPurifier
();
self
::
$instance
=
new
HTMLPurifier
();
}
}
return
$htmlpurifier
;
return
self
::
$instance
;
}
/**
* @note Backwards compatibility, see instance()
*/
public
static
function
getInstance
(
$prototype
=
null
)
{
return
HTMLPurifier
::
instance
(
$prototype
);
}
}
htdocs/lib/htmlpurifier/HTMLPurifier.safe-includes.php
0 → 100644
View file @
a3dc95b4
<?php
/**
* @file
* This file was auto-generated by generate-includes.php and includes all of
* the core files required by HTML Purifier. This is a convenience stub that
* includes all files using dirname(__FILE__) and require_once. PLEASE DO NOT
* EDIT THIS FILE, changes will be overwritten the next time the script is run.
*
* Changes to include_path are not necessary.
*/
$__dir
=
dirname
(
__FILE__
);
require_once
$__dir
.
'/HTMLPurifier.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrCollections.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrTransform.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrTypes.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrValidator.php'
;
require_once
$__dir
.
'/HTMLPurifier/Bootstrap.php'
;
require_once
$__dir
.
'/HTMLPurifier/Definition.php'
;
require_once
$__dir
.
'/HTMLPurifier/CSSDefinition.php'
;
require_once
$__dir
.
'/HTMLPurifier/ChildDef.php'
;
require_once
$__dir
.
'/HTMLPurifier/Config.php'
;
require_once
$__dir
.
'/HTMLPurifier/ConfigSchema.php'
;
require_once
$__dir
.
'/HTMLPurifier/ContentSets.php'
;
require_once
$__dir
.
'/HTMLPurifier/Context.php'
;
require_once
$__dir
.
'/HTMLPurifier/DefinitionCache.php'
;
require_once
$__dir
.
'/HTMLPurifier/DefinitionCacheFactory.php'
;
require_once
$__dir
.
'/HTMLPurifier/Doctype.php'
;
require_once
$__dir
.
'/HTMLPurifier/DoctypeRegistry.php'
;
require_once
$__dir
.
'/HTMLPurifier/ElementDef.php'
;
require_once
$__dir
.
'/HTMLPurifier/Encoder.php'
;
require_once
$__dir
.
'/HTMLPurifier/EntityLookup.php'
;
require_once
$__dir
.
'/HTMLPurifier/EntityParser.php'
;
require_once
$__dir
.
'/HTMLPurifier/ErrorCollector.php'
;
require_once
$__dir
.
'/HTMLPurifier/ErrorStruct.php'
;
require_once
$__dir
.
'/HTMLPurifier/Exception.php'
;
require_once
$__dir
.
'/HTMLPurifier/Filter.php'
;
require_once
$__dir
.
'/HTMLPurifier/Generator.php'
;
require_once
$__dir
.
'/HTMLPurifier/HTMLDefinition.php'
;
require_once
$__dir
.
'/HTMLPurifier/HTMLModule.php'
;
require_once
$__dir
.
'/HTMLPurifier/HTMLModuleManager.php'
;
require_once
$__dir
.
'/HTMLPurifier/IDAccumulator.php'
;
require_once
$__dir
.
'/HTMLPurifier/Injector.php'
;
require_once
$__dir
.
'/HTMLPurifier/Language.php'
;
require_once
$__dir
.
'/HTMLPurifier/LanguageFactory.php'
;
require_once
$__dir
.
'/HTMLPurifier/Length.php'
;
require_once
$__dir
.
'/HTMLPurifier/Lexer.php'
;
require_once
$__dir
.
'/HTMLPurifier/PercentEncoder.php'
;
require_once
$__dir
.
'/HTMLPurifier/Strategy.php'
;
require_once
$__dir
.
'/HTMLPurifier/StringHash.php'
;
require_once
$__dir
.
'/HTMLPurifier/StringHashParser.php'
;
require_once
$__dir
.
'/HTMLPurifier/TagTransform.php'
;
require_once
$__dir
.
'/HTMLPurifier/Token.php'
;
require_once
$__dir
.
'/HTMLPurifier/TokenFactory.php'
;
require_once
$__dir
.
'/HTMLPurifier/URI.php'
;
require_once
$__dir
.
'/HTMLPurifier/URIDefinition.php'
;
require_once
$__dir
.
'/HTMLPurifier/URIFilter.php'
;
require_once
$__dir
.
'/HTMLPurifier/URIParser.php'
;
require_once
$__dir
.
'/HTMLPurifier/URIScheme.php'
;
require_once
$__dir
.
'/HTMLPurifier/URISchemeRegistry.php'
;
require_once
$__dir
.
'/HTMLPurifier/UnitConverter.php'
;
require_once
$__dir
.
'/HTMLPurifier/VarParser.php'
;
require_once
$__dir
.
'/HTMLPurifier/VarParserException.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/Enum.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/Integer.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/Lang.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/Switch.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/Text.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/URI.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Number.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/AlphaValue.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Background.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Border.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Color.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Composite.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Filter.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Font.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/FontFamily.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Length.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/ListStyle.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Multiple.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/Percentage.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/TextDecoration.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/CSS/URI.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/HTML/Bool.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/HTML/Color.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/HTML/FrameTarget.php'
;
require_once
$__dir
.
'/HTMLPurifier/AttrDef/HTML/ID.php'
;