XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
HTMLPurifier_Config Class Reference

Public Member Functions

 __construct ($definition, $parent=null)
 
 autoFinalize ()
 
 finalize ()
 
 get ($key, $a=null)
 
 getAll ()
 
 getBatch ($namespace)
 
 getBatchSerial ($namespace)
 
 getCSSDefinition ($raw=false, $optimized=false)
 
 getDefinition ($type, $raw=false, $optimized=false)
 
 getHTMLDefinition ($raw=false, $optimized=false)
 
 getSerial ()
 
 getURIDefinition ($raw=false, $optimized=false)
 
 isFinalized ($error=false)
 
 loadArray ($config_array)
 
 loadIni ($filename)
 
 maybeGetRawCSSDefinition ()
 
 maybeGetRawDefinition ($name)
 
 maybeGetRawHTMLDefinition ()
 
 maybeGetRawURIDefinition ()
 
 mergeArrayFromForm ($array, $index=false, $allowed=true, $mq_fix=true)
 
 serialize ()
 
 set ($key, $value, $a=null)
 

Static Public Member Functions

static create ($config, $schema=null)
 
static createDefault ()
 
static getAllowedDirectivesForForm ($allowed, $schema=null)
 
static inherit (HTMLPurifier_Config $config)
 
static loadArrayFromForm ($array, $index=false, $allowed=true, $mq_fix=true, $schema=null)
 
static prepareArrayFromForm ($array, $index=false, $allowed=true, $mq_fix=true, $schema=null)
 

Public Attributes

 $autoFinalize = true
 
 $chatty = true
 
 $def
 
 $version = '4.4.0'
 

Protected Member Functions

 triggerError ($msg, $no)
 

Protected Attributes

 $definitions
 
 $finalized = false
 
 $parser = null
 
 $plist
 
 $serial
 
 $serials = array()
 

Private Member Functions

 _listify ($lookup)
 
 initDefinition ($type)
 

Private Attributes

 $aliasMode
 
 $lock
 

Detailed Description

Configuration object that triggers customizable behavior.

Warning
This class is strongly defined: that means that the class will fail if an undefined directive is retrieved or set.
Note
Many classes that could (although many times don't) use the configuration object make it a mandatory parameter. This is because a configuration object should always be forwarded, otherwise, you run the risk of missing a parameter and then being stumped when a configuration directive doesn't work.
Todo:
Reconsider some of the public member variables

Definition at line 17 of file Config.php.

Constructor & Destructor Documentation

HTMLPurifier_Config::__construct (   $definition,
  $parent = null 
)
Parameters
$definitionHTMLPurifier_ConfigSchema that defines what directives are allowed.

Definition at line 93 of file Config.php.

Member Function Documentation

HTMLPurifier_Config::_listify (   $lookup)
private

Convenience function for error reporting

Definition at line 312 of file Config.php.

Referenced by set().

Here is the caller graph for this function:

HTMLPurifier_Config::autoFinalize ( )

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

Definition at line 658 of file Config.php.

References finalize().

Referenced by get(), getAll(), getBatch(), and getDefinition().

Here is the call graph for this function:

Here is the caller graph for this function:

static HTMLPurifier_Config::create (   $config,
  $schema = null 
)
static

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

Parameters
mixed$configVariable 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_ConfigSchemaSchema object
Returns
Configured HTMLPurifier_Config object

Definition at line 109 of file Config.php.

References $config, $ret, and createDefault().

Referenced by HTMLPurifier\__construct(), loadArrayFromForm(), and HTMLPurifier\purify().

Here is the call graph for this function:

Here is the caller graph for this function:

static HTMLPurifier_Config::createDefault ( )
static

Convenience constructor that creates a default configuration object.

Returns
Default HTMLPurifier_Config object.

Definition at line 138 of file Config.php.

References $config, and HTMLPurifier_ConfigSchema\instance().

Referenced by create(), protector_postcommon_post_htmlpurify4everyone\execute(), protector_postcommon_post_htmlpurify4guest\execute(), HTMLPurifier_URISchemeRegistry\getScheme(), and kses().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::finalize ( )

Finalizes a configuration object, prohibiting further change

Definition at line 669 of file Config.php.

Referenced by autoFinalize().

Here is the caller graph for this function:

HTMLPurifier_Config::get (   $key,
  $a = null 
)

Retreives a value from the configuration.

Parameters
$keyString key

Definition at line 148 of file Config.php.

References autoFinalize(), and triggerError().

Here is the call graph for this function:

HTMLPurifier_Config::getAll ( )

Retrieves all directives, organized by namespace

Warning
This is a pretty inefficient function, avoid if you can

Definition at line 222 of file Config.php.

References $ret, and autoFinalize().

Referenced by getBatch(), and getSerial().

Here is the call graph for this function:

Here is the caller graph for this function:

static HTMLPurifier_Config::getAllowedDirectivesForForm (   $allowed,
  $schema = null 
)
static

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
$allowedList of allowed namespaces/directives

Definition at line 548 of file Config.php.

References $allowed, $def, $ret, and HTMLPurifier_ConfigSchema\instance().

Referenced by prepareArrayFromForm(), and HTMLPurifier_Printer_ConfigForm\render().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::getBatch (   $namespace)

Retreives an array of directives to values from a given namespace

Parameters
$namespaceString namespace

Definition at line 180 of file Config.php.

References autoFinalize(), getAll(), and triggerError().

Referenced by getBatchSerial().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::getBatchSerial (   $namespace)

Returns a md5 signature of a segment of the configuration object that uniquely identifies that particular configuration

Note
Revision is handled specially and is removed from the batch before processing!
Parameters
$namespaceNamespace to get serial for

Definition at line 198 of file Config.php.

References getBatch(), and serialize().

Here is the call graph for this function:

HTMLPurifier_Config::getCSSDefinition (   $raw = false,
  $optimized = false 
)

Retrieves object reference to the CSS definition

Parameters
$rawReturn a copy that has not been setup yet. Must be called before it's been setup, otherwise won't work.
$optimizedIf 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.

Definition at line 344 of file Config.php.

References getDefinition().

Here is the call graph for this function:

HTMLPurifier_Config::getDefinition (   $type,
  $raw = false,
  $optimized = false 
)

Retrieves a definition

Parameters
$typeType of definition: HTML, CSS, etc
$rawWhether or not definition should be returned raw
$optimizedOnly 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."

Definition at line 376 of file Config.php.

References $def, $lock, $msg, $type, autoFinalize(), initDefinition(), HTMLPurifier_DefinitionCacheFactory\instance(), and triggerError().

Referenced by getCSSDefinition(), getHTMLDefinition(), getURIDefinition(), maybeGetRawCSSDefinition(), maybeGetRawDefinition(), maybeGetRawHTMLDefinition(), maybeGetRawURIDefinition(), and serialize().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::getHTMLDefinition (   $raw = false,
  $optimized = false 
)

Retrieves object reference to the HTML definition.

Parameters
$rawReturn a copy that has not been setup yet. Must be called before it's been setup, otherwise won't work.
$optimizedIf 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.

Definition at line 329 of file Config.php.

References getDefinition().

Here is the call graph for this function:

HTMLPurifier_Config::getSerial ( )

Returns a md5 signature for the entire configuration object that uniquely identifies that particular configuration

Definition at line 211 of file Config.php.

References $serial, getAll(), and serialize().

Here is the call graph for this function:

HTMLPurifier_Config::getURIDefinition (   $raw = false,
  $optimized = false 
)

Retrieves object reference to the URI definition

Parameters
$rawReturn a copy that has not been setup yet. Must be called before it's been setup, otherwise won't work.
$optimizedIf 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.

Definition at line 359 of file Config.php.

References getDefinition().

Here is the call graph for this function:

static HTMLPurifier_Config::inherit ( HTMLPurifier_Config  $config)
static

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

Parameters
HTMLPurifier_Config$configConfiguration object to inherit from.
Returns
HTMLPurifier_Config object with $config as its parent.

Definition at line 130 of file Config.php.

HTMLPurifier_Config::initDefinition (   $type)
private

Definition at line 490 of file Config.php.

References $def, and $type.

Referenced by getDefinition().

Here is the caller graph for this function:

HTMLPurifier_Config::isFinalized (   $error = false)

Checks whether or not the configuration object is finalized.

Parameters
$errorString error message, or false for no error

Definition at line 647 of file Config.php.

References $error, $finalized, and triggerError().

Referenced by loadArray(), loadIni(), and set().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::loadArray (   $config_array)

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

Parameters
$config_arrayConfiguration associative array

Definition at line 526 of file Config.php.

References isFinalized().

Referenced by loadIni(), and mergeArrayFromForm().

Here is the call graph for this function:

Here is the caller graph for this function:

static HTMLPurifier_Config::loadArrayFromForm (   $array,
  $index = false,
  $allowed = true,
  $mq_fix = true,
  $schema = null 
)
static

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

Parameters
$array$_GET or $_POST array to import
$indexIndex/name that the config variables are in
$allowedList of allowed namespaces/directives
$mq_fixBoolean whether or not to enable magic quotes fix
$schemaInstance of HTMLPurifier_ConfigSchema to use, if not global copy

Definition at line 594 of file Config.php.

References $allowed, $config, $index, $ret, create(), and prepareArrayFromForm().

Here is the call graph for this function:

HTMLPurifier_Config::loadIni (   $filename)

Loads configuration values from an ini file

Parameters
$filenameName of ini file

Definition at line 637 of file Config.php.

References isFinalized(), and loadArray().

Here is the call graph for this function:

HTMLPurifier_Config::maybeGetRawCSSDefinition ( )

Definition at line 513 of file Config.php.

References getDefinition().

Here is the call graph for this function:

HTMLPurifier_Config::maybeGetRawDefinition (   $name)

Definition at line 505 of file Config.php.

References getDefinition().

Here is the call graph for this function:

HTMLPurifier_Config::maybeGetRawHTMLDefinition ( )

Definition at line 509 of file Config.php.

References getDefinition().

Here is the call graph for this function:

HTMLPurifier_Config::maybeGetRawURIDefinition ( )

Definition at line 517 of file Config.php.

References getDefinition().

Here is the call graph for this function:

HTMLPurifier_Config::mergeArrayFromForm (   $array,
  $index = false,
  $allowed = true,
  $mq_fix = true 
)

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

Note
Same parameters as loadArrayFromForm

Definition at line 604 of file Config.php.

References $allowed, $index, $ret, loadArray(), and prepareArrayFromForm().

Here is the call graph for this function:

static HTMLPurifier_Config::prepareArrayFromForm (   $array,
  $index = false,
  $allowed = true,
  $mq_fix = true,
  $schema = null 
)
static

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

Definition at line 613 of file Config.php.

References $allowed, $index, $ret, and getAllowedDirectivesForForm().

Referenced by loadArrayFromForm(), and mergeArrayFromForm().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::serialize ( )

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

Definition at line 700 of file Config.php.

References getDefinition().

Referenced by getBatchSerial(), and getSerial().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Config::set (   $key,
  $value,
  $a = null 
)

Sets a value to configuration.

Parameters
$keyString key
$valueMixed value

Definition at line 237 of file Config.php.

References $def, $type, _listify(), HTMLPurifier_VarParser\getTypeName(), isFinalized(), and triggerError().

Here is the call graph for this function:

HTMLPurifier_Config::triggerError (   $msg,
  $no 
)
protected

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

Definition at line 678 of file Config.php.

References $i, and $msg.

Referenced by get(), getBatch(), getDefinition(), isFinalized(), and set().

Here is the caller graph for this function:

Member Data Documentation

HTMLPurifier_Config::$aliasMode
private

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

Definition at line 75 of file Config.php.

HTMLPurifier_Config::$autoFinalize = true

Bool indicator whether or not to automatically finalize the object if a read operation is done

Definition at line 29 of file Config.php.

HTMLPurifier_Config::$chatty = true

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.

Definition at line 82 of file Config.php.

HTMLPurifier_Config::$def

Reference HTMLPurifier_ConfigSchema for value checking

Note
This is public for introspective purposes. Please don't abuse!

Definition at line 54 of file Config.php.

Referenced by getAllowedDirectivesForForm(), getDefinition(), initDefinition(), and set().

HTMLPurifier_Config::$definitions
protected

Indexed array of definitions

Definition at line 59 of file Config.php.

HTMLPurifier_Config::$finalized = false
protected

Bool indicator whether or not config is finalized

Definition at line 64 of file Config.php.

Referenced by isFinalized().

HTMLPurifier_Config::$lock
private

Current lock; only gets to this namespace are allowed.

Definition at line 87 of file Config.php.

Referenced by getDefinition().

HTMLPurifier_Config::$parser = null
protected

Parser for variables

Definition at line 47 of file Config.php.

HTMLPurifier_Config::$plist
protected

Property list containing configuration directives.

Definition at line 69 of file Config.php.

HTMLPurifier_Config::$serial
protected

Serial for entire configuration object

Definition at line 42 of file Config.php.

Referenced by getSerial().

HTMLPurifier_Config::$serials = array()
protected

Namespace indexed array of serials for specific namespaces (see getSerial() for more info).

Definition at line 37 of file Config.php.

HTMLPurifier_Config::$version = '4.4.0'

HTML Purifier's version

Definition at line 23 of file Config.php.


The documentation for this class was generated from the following file: