Properties

$version

$version

HTML Purifier's version

$autoFinalize

$autoFinalize

Whether or not to automatically finalize the object if a read operation is done.

$def

$def

Reference HTMLPurifier_ConfigSchema for value checking.

$chatty

$chatty

Set to false if you do not want line and file numbers in errors.

(useful when unit testing). This will also compress some errors and exceptions.

$serials

$serials

Namespace indexed array of serials for specific namespaces.

$serial

$serial

Serial for entire configuration object.

$parser

$parser

Parser for variables.

$definitions

$definitions

Indexed array of definitions.

$finalized

$finalized

Whether or not config is finalized.

$plist

$plist

Property list containing configuration directives.

$aliasMode

$aliasMode

Whether or not a set is taking place due to an alias lookup.

$lock

$lock

Current lock; only gets to this namespace are allowed.

Methods

__construct()

__construct(\HTMLPurifier_ConfigSchema  $definition, \HTMLPurifier_PropertyList  $parent = null) : mixed

Constructor

Parameters

\HTMLPurifier_ConfigSchema $definition

ConfigSchema that defines what directives are allowed.

\HTMLPurifier_PropertyList $parent

Returns

mixed —

create()

create(mixed  $config, \HTMLPurifier_ConfigSchema  $schema = null) : \HTMLPurifier_Config

Convenience constructor that creates a config object based on a mixed var

Parameters

mixed $config

Variable that defines the state of the config object. Can be: a HTMLPurifier_Config() object, an array of directives based on loadArray(), or a string filename of an ini file.

\HTMLPurifier_ConfigSchema $schema

Schema object

Returns

\HTMLPurifier_Config —

Configured object

inherit()

inherit(\HTMLPurifier_Config  $config) : \HTMLPurifier_Config

Creates a new config object that inherits from a previous one.

Parameters

\HTMLPurifier_Config $config

Configuration object to inherit from.

Returns

\HTMLPurifier_Config —

object with $config as its parent.

createDefault()

createDefault() : \HTMLPurifier_Config

Convenience constructor that creates a default configuration object.

Returns

\HTMLPurifier_Config —

default object.

get()

get(string  $key, mixed  $a = null) : mixed

Retrieves a value from the configuration.

Parameters

string $key

String key

mixed $a

Returns

mixed —

getBatch()

getBatch(string  $namespace) : array

Retrieves an array of directives to values from a given namespace

Parameters

string $namespace

String namespace

Returns

array —

getBatchSerial()

getBatchSerial(string  $namespace) : string

Returns a SHA-1 signature of a segment of the configuration object that uniquely identifies that particular configuration

Parameters

string $namespace

Namespace to get serial for

Returns

string —

getSerial()

getSerial() : string

Returns a SHA-1 signature for the entire configuration object that uniquely identifies that particular configuration

Returns

string —

getAll()

getAll() : mixed

Retrieves all directives, organized by namespace

Returns

mixed —

set()

set(string  $key, mixed  $value, mixed  $a = null) : mixed

Sets a value to configuration.

Parameters

string $key

key

mixed $value

value

mixed $a

Returns

mixed —

getHTMLDefinition()

getHTMLDefinition(bool  $raw = false, bool  $optimized = false) : \HTMLPurifier_HTMLDefinition|null

Retrieves object reference to the HTML definition.

Parameters

bool $raw

Return a copy that has not been setup yet. Must be called before it's been setup, otherwise won't work.

bool $optimized

If true, this method may return null, to indicate that a cached version of the modified definition object is available and no further edits are necessary. Consider using maybeGetRawHTMLDefinition, which is more explicitly named, instead.

Returns

\HTMLPurifier_HTMLDefinition|null —

getCSSDefinition()

getCSSDefinition(bool  $raw = false, bool  $optimized = false) : \HTMLPurifier_CSSDefinition|null

Retrieves object reference to the CSS definition

Parameters

bool $raw

Return a copy that has not been setup yet. Must be called before it's been setup, otherwise won't work.

bool $optimized

If true, this method may return null, to indicate that a cached version of the modified definition object is available and no further edits are necessary. Consider using maybeGetRawCSSDefinition, which is more explicitly named, instead.

Returns

\HTMLPurifier_CSSDefinition|null —

getURIDefinition()

getURIDefinition(bool  $raw = false, bool  $optimized = false) : \HTMLPurifier_URIDefinition|null

Retrieves object reference to the URI definition

Parameters

bool $raw

Return a copy that has not been setup yet. Must be called before it's been setup, otherwise won't work.

bool $optimized

If true, this method may return null, to indicate that a cached version of the modified definition object is available and no further edits are necessary. Consider using maybeGetRawURIDefinition, which is more explicitly named, instead.

Returns

\HTMLPurifier_URIDefinition|null —

getDefinition()

getDefinition(string  $type, bool  $raw = false, bool  $optimized = false) : \HTMLPurifier_Definition|null

Retrieves a definition

Parameters

string $type

Type of definition: HTML, CSS, etc

bool $raw

Whether or not definition should be returned raw

bool $optimized

Only has an effect when $raw is true. Whether or not to return null if the result is already present in the cache. This is off by default for backwards compatibility reasons, but you need to do things this way in order to ensure that caching is done properly. Check out enduser-customize.html for more details. We probably won't ever change this default, as much as the maybe semantics is the "right thing to do."

Throws

\HTMLPurifier_Exception

Returns

\HTMLPurifier_Definition|null —

maybeGetRawDefinition()

maybeGetRawDefinition(mixed  $name) : mixed

Parameters

mixed $name

Returns

mixed —

maybeGetRawHTMLDefinition()

maybeGetRawHTMLDefinition() : \HTMLPurifier_HTMLDefinition|null

Returns

\HTMLPurifier_HTMLDefinition|null —

maybeGetRawCSSDefinition()

maybeGetRawCSSDefinition() : \HTMLPurifier_CSSDefinition|null

Returns

\HTMLPurifier_CSSDefinition|null —

maybeGetRawURIDefinition()

maybeGetRawURIDefinition() : \HTMLPurifier_URIDefinition|null

Returns

\HTMLPurifier_URIDefinition|null —

loadArray()

loadArray(array  $config_array) : mixed

Loads configuration values from an array with the following structure: Namespace.Directive => Value

Parameters

array $config_array

Configuration associative array

Returns

mixed —

getAllowedDirectivesForForm()

getAllowedDirectivesForForm(array  $allowed, \HTMLPurifier_ConfigSchema  $schema = null) : array

Returns a list of array(namespace, directive) for all directives that are allowed in a web-form context as per an allowed namespaces/directives list.

Parameters

array $allowed

List of allowed namespaces/directives

\HTMLPurifier_ConfigSchema $schema

Schema to use, if not global copy

Returns

array —

loadArrayFromForm()

loadArrayFromForm(array  $array, string|bool  $index = false, array|bool  $allowed = true, bool  $mq_fix = true, \HTMLPurifier_ConfigSchema  $schema = null) : mixed

Loads configuration values from $_GET/$_POST that were posted via ConfigForm

Parameters

array $array

$_GET or $_POST array to import

string|bool $index

Index/name that the config variables are in

array|bool $allowed

List of allowed namespaces/directives

bool $mq_fix

Boolean whether or not to enable magic quotes fix

\HTMLPurifier_ConfigSchema $schema

Schema to use, if not global copy

Returns

mixed —

mergeArrayFromForm()

mergeArrayFromForm(array  $array, string|bool  $index = false, array|bool  $allowed = true, bool  $mq_fix = true) : mixed

Merges in configuration values from $_GET/$_POST to object. NOT STATIC.

Parameters

array $array

$_GET or $_POST array to import

string|bool $index

Index/name that the config variables are in

array|bool $allowed

List of allowed namespaces/directives

bool $mq_fix

Boolean whether or not to enable magic quotes fix

Returns

mixed —

prepareArrayFromForm()

prepareArrayFromForm(array  $array, string|bool  $index = false, array|bool  $allowed = true, bool  $mq_fix = true, \HTMLPurifier_ConfigSchema  $schema = null) : array

Prepares an array from a form into something usable for the more strict parts of HTMLPurifier_Config

Parameters

array $array

$_GET or $_POST array to import

string|bool $index

Index/name that the config variables are in

array|bool $allowed

List of allowed namespaces/directives

bool $mq_fix

Boolean whether or not to enable magic quotes fix

\HTMLPurifier_ConfigSchema $schema

Schema to use, if not global copy

Returns

array —

loadIni()

loadIni(string  $filename) : mixed

Loads configuration values from an ini file

Parameters

string $filename

Name of ini file

Returns

mixed —

isFinalized()

isFinalized(string|bool  $error = false) : bool

Checks whether or not the configuration object is finalized.

Parameters

string|bool $error

String error message, or false for no error

Returns

bool —

autoFinalize()

autoFinalize() : mixed

Finalizes configuration only if auto finalize is on and not already finalized

Returns

mixed —

finalize()

finalize() : mixed

Finalizes a configuration object, prohibiting further change

Returns

mixed —

serialize()

serialize() : string

Returns a serialized form of the configuration object that can be reconstituted.

Returns

string —

triggerError()

triggerError(string  $msg, int  $no) : mixed

Produces a nicely formatted error message by supplying the stack frame information OUTSIDE of HTMLPurifier_Config.

Parameters

string $msg

An error message

int $no

An error number

Returns

mixed —

_listify()

_listify(array  $lookup) : string

Convenience function for error reporting

Parameters

array $lookup

Returns

string —

initDefinition()

initDefinition(string  $type) : \HTMLPurifier_CSSDefinition|\HTMLPurifier_HTMLDefinition|\HTMLPurifier_URIDefinition

Initialise definition

Parameters

string $type

What type of definition to create

Throws

\HTMLPurifier_Exception

Returns

\HTMLPurifier_CSSDefinition|\HTMLPurifier_HTMLDefinition|\HTMLPurifier_URIDefinition —