XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
HTMLPurifier_Injector Class Reference
Inheritance diagram for HTMLPurifier_Injector:
Inheritance graph

Public Member Functions

 allowsElement ($name)
 
 checkNeeded ($config)
 
 getRewind ()
 
 handleElement (&$token)
 
 handleEnd (&$token)
 
 handleText (&$token)
 
 notifyEnd ($token)
 
 prepare ($config, $context)
 
 rewind ($index)
 

Public Attributes

 $name
 
 $needed = array()
 

Protected Member Functions

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

Protected Attributes

 $currentNesting
 
 $htmlDefinition
 
 $inputIndex
 
 $inputTokens
 
 $rewind = 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.

Definition at line 16 of file Injector.php.

Member Function Documentation

HTMLPurifier_Injector::allowsElement (   $name)

Tests if the context node allows a certain element

Parameters
$nameName of element to test for
Returns
True if element is allowed, false if it is not

Definition at line 129 of file Injector.php.

References $i, and $name.

Referenced by HTMLPurifier_Injector_AutoParagraph\handleElement(), HTMLPurifier_Injector_Linkify\handleText(), HTMLPurifier_Injector_PurifierLinkify\handleText(), and HTMLPurifier_Injector_AutoParagraph\handleText().

Here is the caller graph for this function:

HTMLPurifier_Injector::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
&$iCurrent integer index variable for inputTokens
&$currentCurrent token variable. Do NOT use $token, as that variable is also a reference

Definition at line 190 of file Injector.php.

References $i.

Referenced by HTMLPurifier_Injector_AutoParagraph\handleElement().

Here is the caller graph for this function:

HTMLPurifier_Injector::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
$configInstance of HTMLPurifier_Config
$contextInstance of HTMLPurifier_Context
Returns
Boolean false if success, string of missing needed element/attribute if failure

Definition at line 111 of file Injector.php.

References $config, and $name.

Referenced by prepare().

Here is the caller graph for this function:

HTMLPurifier_Injector::current ( $i,
$current 
)
protected

Initializes the iterator at the current position. Use in a do {} while; loop to force the _forward and _backward functions to start at the current location.

Warning
Please prevent previous references from interfering with this functions by setting $i = null beforehand!
Parameters
&$iCurrent integer index variable for inputTokens
&$currentCurrent token variable. Do NOT use $token, as that variable is also a reference

Definition at line 207 of file Injector.php.

References $i, and $inputIndex.

Referenced by HTMLPurifier_Injector_AutoParagraph\_pLookAhead().

Here is the caller graph for this function:

HTMLPurifier_Injector::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
&$iCurrent integer index variable for inputTokens
&$currentCurrent token variable. Do NOT use $token, as that variable is also a reference

Definition at line 157 of file Injector.php.

References $i.

Referenced by forwardUntilEndToken().

Here is the caller graph for this function:

HTMLPurifier_Injector::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.

Definition at line 170 of file Injector.php.

References $i, $result, and forward().

Referenced by HTMLPurifier_Injector_AutoParagraph\_pLookAhead(), HTMLPurifier_Injector_RemoveSpansWithoutAttributes\handleElement(), and HTMLPurifier_Injector_AutoParagraph\handleText().

Here is the call graph for this function:

Here is the caller graph for this function:

HTMLPurifier_Injector::getRewind ( )

Retrieves rewind, and then unsets it.

Definition at line 75 of file Injector.php.

References $rewind, and rewind().

Here is the call graph for this function:

HTMLPurifier_Injector::handleElement ( $token)

Handler that is called when a start or empty token is processed

Definition at line 220 of file Injector.php.

HTMLPurifier_Injector::handleEnd ( $token)

Handler that is called when an end token is processed

Definition at line 225 of file Injector.php.

References $token, and notifyEnd().

Here is the call graph for this function:

HTMLPurifier_Injector::handleText ( $token)

Handler that is called when a text token is processed

Definition at line 215 of file Injector.php.

HTMLPurifier_Injector::notifyEnd (   $token)

Notifier that is called when an end token is processed

Note
This differs from handlers in that the token is read-only
Deprecated:

Definition at line 234 of file Injector.php.

Referenced by handleEnd().

Here is the caller graph for this function:

HTMLPurifier_Injector::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
$configInstance of HTMLPurifier_Config
$contextInstance of HTMLPurifier_Context
Returns
Boolean false if success, string of missing needed element/attribute if failure

Definition at line 90 of file Injector.php.

References $config, $result, and checkNeeded().

Here is the call graph for this function:

HTMLPurifier_Injector::rewind (   $index)

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.

Warning
HTML Purifier will prevent you from fast-forwarding with this function.

Definition at line 68 of file Injector.php.

References $index.

Referenced by getRewind(), and HTMLPurifier_Injector_RemoveEmpty\handleElement().

Here is the caller graph for this function:

Member Data Documentation

HTMLPurifier_Injector::$currentNesting
protected

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

Definition at line 33 of file Injector.php.

HTMLPurifier_Injector::$htmlDefinition
protected

Instance of HTMLPurifier_HTMLDefinition

Definition at line 27 of file Injector.php.

HTMLPurifier_Injector::$inputIndex
protected

Reference to InputIndex variable in Context. This is an integer array index for $this->inputTokens that indicates what token is currently being processed.

Definition at line 46 of file Injector.php.

Referenced by current().

HTMLPurifier_Injector::$inputTokens
protected

Reference to InputTokens variable in Context. This is an array list of the input tokens that are being processed.

Definition at line 39 of file Injector.php.

HTMLPurifier_Injector::$name

Advisory name of injector, this is for friendly error messages

Definition at line 22 of file Injector.php.

Referenced by allowsElement(), and checkNeeded().

HTMLPurifier_Injector::$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')

Definition at line 53 of file Injector.php.

HTMLPurifier_Injector::$rewind = false
protected

Index of inputTokens to rewind to.

Definition at line 58 of file Injector.php.

Referenced by getRewind().


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