Moodle  2.2.1
http://www.collinsharper.com
HTMLPurifier_Injector Class Reference
Inheritance diagram for HTMLPurifier_Injector:

Public Member Functions

 rewind ($index)
 getRewind ()
 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)
 current (&$i, &$current)

Protected Attributes

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

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.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

Here is the caller graph for this function:

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.

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.

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

getRewind ( )

Retrieves rewind, and then unsets it.

Definition at line 75 of file Injector.php.

Here is the call graph for this function:

handleEnd ( &$  token)

Handler that is called when an end token is processed

Reimplemented in HTMLPurifier_Injector_SafeObject, HTMLPurifier_Injector_RemoveSpansWithoutAttributes, and HTMLPurifier_Injector_DisplayLinkURI.

Definition at line 225 of file Injector.php.

Here is the call graph for this function:

handleText ( &$  token)

Handler that is called when a text token is processed

Reimplemented in HTMLPurifier_Injector_AutoParagraph, HTMLPurifier_Injector_PurifierLinkify, and HTMLPurifier_Injector_Linkify.

Definition at line 215 of file Injector.php.

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.

Here is the caller graph for this function:

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

Reimplemented in HTMLPurifier_Injector_SafeObject, HTMLPurifier_Injector_RemoveSpansWithoutAttributes, HTMLPurifier_Injector_PurifierLinkify, and HTMLPurifier_Injector_RemoveEmpty.

Definition at line 90 of file Injector.php.

Here is the call graph for this function:

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.

Here is the caller graph for this function:


Field Documentation

$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.

$htmlDefinition [protected]

Instance of HTMLPurifier_HTMLDefinition

Definition at line 27 of file Injector.php.

$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.

$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.

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

Reimplemented in HTMLPurifier_Injector_AutoParagraph, HTMLPurifier_Injector_PurifierLinkify, HTMLPurifier_Injector_DisplayLinkURI, HTMLPurifier_Injector_Linkify, HTMLPurifier_Injector_SafeObject, and HTMLPurifier_Injector_RemoveSpansWithoutAttributes.

Definition at line 53 of file Injector.php.

$rewind = false [protected]

Index of inputTokens to rewind to.

Definition at line 58 of file Injector.php.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Enumerations