Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
HTMLPurifier_Injector Class Reference
Inheritance diagram for HTMLPurifier_Injector:
HTMLPurifier_Injector_AutoParagraph HTMLPurifier_Injector_DisplayLinkURI HTMLPurifier_Injector_PurifierLinkify HTMLPurifier_Injector_RemoveEmpty HTMLPurifier_Injector_RemoveSpansWithoutAttributes HTMLPurifier_Injector_SafeObject

Public Member Functions

 allowsElement ($name)
 Tests if the context node allows a certain element.
 
 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.
 
 getRewindOffset ()
 Retrieves rewind offset, and then unsets it.
 
 handleElement (&$token)
 Handler that is called when a start or empty token is processed.
 
 handleEnd (&$token)
 Handler that is called when an end token is processed.
 
 handleText (&$token)
 Handler that is called when a text token is processed.
 
 notifyEnd ($token)
 Notifier that is called when an end token is processed.
 
 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.
 
 rewindOffset ($offset)
 Rewind to a spot to re-perform processing.
 

Public Attributes

 $name
 Advisory name of injector, this is for friendly error messages.
 
 $needed = array()
 Array of elements and attributes this injector creates and therefore need to be allowed by the definition.
 

Protected Member Functions

 backward (&$i, &$current)
 Iterator function, starts with the previous token and continues until you reach the beginning of input tokens.
 
 forward (&$i, &$current)
 Iterator function, which starts with the next token and continues until you reach the end of the input tokens.
 
 forwardUntilEndToken (&$i, &$current, &$nesting)
 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.
 

Protected Attributes

 $currentNesting
 Reference to CurrentNesting variable in Context.
 
 $currentToken
 Reference to current token.
 
 $htmlDefinition
 @type HTMLPurifier_HTMLDefinition
 
 $inputZipper
 Reference to InputZipper variable in Context.
 
 $rewindOffset = false
 Number of elements to rewind backwards (relative).
 

Member Function Documentation

◆ allowsElement()

HTMLPurifier_Injector::allowsElement ( $name)

Tests if the context node allows a certain element.

Parameters
string$nameName of element to test for
Return values
boolTrue if element is allowed, false if it is not

◆ backward()

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
int$iCurrent integer index variable for inputTokens
HTMLPurifier_Token$currentCurrent token variable. Do NOT use $token, as that variable is also a reference
Return values
bool

◆ checkNeeded()

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
HTMLPurifier_Config$config
Return values
bool|stringBoolean false if success, string of missing needed element/attribute if failure

◆ forward()

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
int$iCurrent integer index variable for inputTokens
HTMLPurifier_Token$currentCurrent token variable. Do NOT use $token, as that variable is also a reference
Return values
bool

◆ forwardUntilEndToken()

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.

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
Return values
bool

◆ getRewindOffset()

HTMLPurifier_Injector::getRewindOffset ( )

Retrieves rewind offset, and then unsets it.

Return values
bool|int

◆ handleElement()

HTMLPurifier_Injector::handleElement ( & $token)

◆ handleEnd()

HTMLPurifier_Injector::handleEnd ( & $token)

Handler that is called when an end token is processed.

Reimplemented in HTMLPurifier_Injector_DisplayLinkURI, HTMLPurifier_Injector_RemoveSpansWithoutAttributes, and HTMLPurifier_Injector_SafeObject.

◆ handleText()

HTMLPurifier_Injector::handleText ( & $token)

Handler that is called when a text token is processed.

Reimplemented in HTMLPurifier_Injector_AutoParagraph, and HTMLPurifier_Injector_PurifierLinkify.

◆ notifyEnd()

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

◆ prepare()

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
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Return values
bool|stringBoolean 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.

◆ rewindOffset()

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

Member Data Documentation

◆ $currentNesting

HTMLPurifier_Injector::$currentNesting
protected

Reference to CurrentNesting variable in Context.

This is an array list of tokens that we are currently "inside" @type array

◆ $currentToken

HTMLPurifier_Injector::$currentToken
protected

Reference to current token.

@type HTMLPurifier_Token

◆ $inputZipper

HTMLPurifier_Injector::$inputZipper
protected

Reference to InputZipper variable in Context.

@type HTMLPurifier_Zipper

◆ $name

HTMLPurifier_Injector::$name

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

@type string

◆ $needed

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') @type array

◆ $rewindOffset

HTMLPurifier_Injector::$rewindOffset = false
protected

Number of elements to rewind backwards (relative).

@type bool|int


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