API - XOOPS 2.5.11 Beta 2
By monxoops.fr
HTMLPurifier_Injector Class Reference
Inheritance diagram for HTMLPurifier_Injector:

Public Member Functions

 rewindOffset ($offset)
 
 getRewindOffset ()
 
 prepare ($config, $context)
 
 checkNeeded ($config)
 
 allowsElement ($name)
 
 handleText (&$token)
 
 handleElement (&$token)
 
 handleEnd (&$token)
 
 notifyEnd ($token)
 

Data Fields

 $name
 
 $needed = array()
 

Protected Member Functions

 forward (&$i, &$current)
 
 forwardUntilEndToken (&$i, &$current, &$nesting)
 
 backward (&$i, &$current)
 

Protected Attributes

 $htmlDefinition
 
 $currentNesting
 
 $currentToken
 
 $inputZipper
 
 $rewindOffset = false
 

Detailed Description

Injects tokens into the document while parsing for well-formedness. This enables "formatter-like" functionality such as auto-paragraphing, smiley-ification and linkification to take place.

A note on how handlers create changes; this is done by assigning a new value to the $token reference. These values can take a variety of forms and are best described HTMLPurifier_Strategy_MakeWellFormed->processToken() documentation.

Todo:
Allow injectors to request a re-run on their output. This would help if an operation is recursive.

Member Function Documentation

◆ allowsElement()

allowsElement (   $name)

Tests if the context node allows a certain element

Parameters
string$nameName of element to test for
Returns
bool True if element is allowed, false if it is not
Here is the caller graph for this function:

◆ backward()

backward ( $i,
$current 
)
protected

Iterator function, starts with the previous token and continues until you reach the beginning of input tokens.

Warning
Please prevent previous references from interfering with this functions by setting $i = null beforehand!
Parameters
int$iCurrent integer index variable for inputTokens
HTMLPurifier_Token$currentCurrent token variable. Do NOT use $token, as that variable is also a reference
Returns
bool
Here is the caller graph for this function:

◆ checkNeeded()

checkNeeded (   $config)

This function checks if the HTML environment will work with the Injector: if p tags are not allowed, the Auto-Paragraphing injector should not be enabled.

Parameters
HTMLPurifier_Config$config
Returns
bool|string Boolean false if success, string of missing needed element/attribute if failure
Here is the caller graph for this function:

◆ forward()

forward ( $i,
$current 
)
protected

Iterator function, which starts with the next token and continues until you reach the end of the input tokens.

Warning
Please prevent previous references from interfering with this functions by setting $i = null beforehand!
Parameters
int$iCurrent integer index variable for inputTokens
HTMLPurifier_Token$currentCurrent token variable. Do NOT use $token, as that variable is also a reference
Returns
bool
Here is the caller graph for this function:

◆ forwardUntilEndToken()

forwardUntilEndToken ( $i,
$current,
$nesting 
)
protected

Similar to _forward, but accepts a third parameter $nesting (which should be initialized at 0) and stops when we hit the end tag for the node $this->inputIndex starts in.

Parameters
int$iCurrent integer index variable for inputTokens
HTMLPurifier_Token$currentCurrent token variable. Do NOT use $token, as that variable is also a reference
int$nesting
Returns
bool
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRewindOffset()

getRewindOffset ( )

Retrieves rewind offset, and then unsets it.

Returns
bool|int
Here is the call graph for this function:

◆ handleElement()

handleElement ( $token)

◆ handleEnd()

handleEnd ( $token)

Handler that is called when an end token is processed

Reimplemented in HTMLPurifier_Injector_DisplayLinkURI, HTMLPurifier_Injector_RemoveSpansWithoutAttributes, and HTMLPurifier_Injector_SafeObject.

Here is the call graph for this function:

◆ handleText()

handleText ( $token)

Handler that is called when a text token is processed

Reimplemented in HTMLPurifier_Injector_AutoParagraph, HTMLPurifier_Injector_Linkify, and HTMLPurifier_Injector_PurifierLinkify.

◆ notifyEnd()

notifyEnd (   $token)

Notifier that is called when an end token is processed

Parameters
HTMLPurifier_Token$tokenCurrent token variable.
Note
This differs from handlers in that the token is read-only
Deprecated:
Here is the caller graph for this function:

◆ prepare()

prepare (   $config,
  $context 
)

Prepares the injector by giving it the config and context objects: this allows references to important variables to be made within the injector. This function also checks if the HTML environment will work with the Injector (see checkNeeded()).

Parameters
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Returns
bool|string Boolean false if success, string of missing needed element/attribute if failure

Reimplemented in HTMLPurifier_Injector_PurifierLinkify, HTMLPurifier_Injector_RemoveEmpty, HTMLPurifier_Injector_RemoveSpansWithoutAttributes, and HTMLPurifier_Injector_SafeObject.

Here is the call graph for this function:

◆ rewindOffset()

rewindOffset (   $offset)

Rewind to a spot to re-perform processing. This is useful if you deleted a node, and now need to see if this change affected any earlier nodes. Rewinding does not affect other injectors, and can result in infinite loops if not used carefully.

Parameters
bool | int$offset
Warning
HTML Purifier will prevent you from fast-forwarding with this function.
Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ $currentNesting

$currentNesting
protected

Reference to CurrentNesting variable in Context. This is an array list of tokens that we are currently "inside" @type array

◆ $currentToken

$currentToken
protected

Reference to current token. @type HTMLPurifier_Token

◆ $htmlDefinition

$htmlDefinition
protected

◆ $inputZipper

$inputZipper
protected

Reference to InputZipper variable in Context. @type HTMLPurifier_Zipper

◆ $name

$name

Advisory name of injector, this is for friendly error messages. @type string

◆ $needed

$needed = array()

Array of elements and attributes this injector creates and therefore need to be allowed by the definition. Takes form of array('element' => array('attr', 'attr2'), 'element2') @type array

◆ $rewindOffset

$rewindOffset = false
protected

Number of elements to rewind backwards (relative). @type bool|int


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