/
var
/
www
/
vhosts
/
ihelp.ro
/
httpdocs
/
vendor
/
ezyang
/
htmlpurifier
/
library
/
HTMLPurifier
/
/var/www/vhosts/ihelp.ro/httpdocs/vendor/ezyang/htmlpurifier/library/HTMLPurifier
mkdir
upload
Name
Size
Mode
Actions
AttrDef/
-
0755
rm
AttrTransform/
-
0755
rm
ChildDef/
-
0755
rm
ConfigSchema/
-
0755
rm
DefinitionCache/
-
0755
rm
EntityLookup/
-
0755
rm
Filter/
-
0755
rm
HTMLModule/
-
0755
rm
Injector/
-
0755
rm
Language/
-
0755
rm
Lexer/
-
0755
rm
Node/
-
0755
rm
Printer/
-
0755
rm
Strategy/
-
0755
rm
TagTransform/
-
0755
rm
Token/
-
0755
rm
URIFilter/
-
0755
rm
URIScheme/
-
0755
rm
VarParser/
-
0755
rm
Arborize.php
2550
0644
edit
dl
rm
AttrCollections.php
4862
0644
edit
dl
rm
AttrDef.php
5195
0644
edit
dl
rm
AttrTransform.php
1989
0644
edit
dl
rm
AttrTypes.php
3758
0644
edit
dl
rm
AttrValidator.php
6572
0644
edit
dl
rm
Bootstrap.php
4613
0644
edit
dl
rm
ChildDef.php
1559
0644
edit
dl
rm
Config.php
31701
0644
edit
dl
rm
ConfigSchema.php
5903
0644
edit
dl
rm
ContentSets.php
5640
0644
edit
dl
rm
Context.php
2634
0644
edit
dl
rm
CSSDefinition.php
19593
0644
edit
dl
rm
Definition.php
1361
0644
edit
dl
rm
DefinitionCache.php
3913
0644
edit
dl
rm
DefinitionCacheFactory.php
3201
0644
edit
dl
rm
Doctype.php
1582
0644
edit
dl
rm
DoctypeRegistry.php
4224
0644
edit
dl
rm
ElementDef.php
7531
0644
edit
dl
rm
Encoder.php
25793
0644
edit
dl
rm
EntityLookup.php
1426
0644
edit
dl
rm
EntityParser.php
9980
0644
edit
dl
rm
ErrorCollector.php
7625
0644
edit
dl
rm
ErrorStruct.php
1893
0644
edit
dl
rm
Exception.php
177
0644
edit
dl
rm
Filter.php
1625
0644
edit
dl
rm
Generator.php
10251
0644
edit
dl
rm
HTMLDefinition.php
17747
0644
edit
dl
rm
HTMLModule.php
10195
0644
edit
dl
rm
HTMLModuleManager.php
15946
0644
edit
dl
rm
IDAccumulator.php
1647
0644
edit
dl
rm
Injector.php
9006
0644
edit
dl
rm
Language.php
6062
0644
edit
dl
rm
LanguageFactory.php
6618
0644
edit
dl
rm
Length.php
3892
0644
edit
dl
rm
Lexer.php
13535
0644
edit
dl
rm
Node.php
1280
0644
edit
dl
rm
PercentEncoder.php
3565
0644
edit
dl
rm
Printer.php
5897
0644
edit
dl
rm
PropertyList.php
2783
0644
edit
dl
rm
PropertyListIterator.php
894
0644
edit
dl
rm
Queue.php
1551
0644
edit
dl
rm
Strategy.php
762
0644
edit
dl
rm
StringHash.php
1099
0644
edit
dl
rm
StringHashParser.php
3641
0644
edit
dl
rm
TagTransform.php
1098
0644
edit
dl
rm
Token.php
2225
0644
edit
dl
rm
TokenFactory.php
3099
0644
edit
dl
rm
UnitConverter.php
10130
0644
edit
dl
rm
URI.php
10596
0644
edit
dl
rm
URIDefinition.php
3430
0644
edit
dl
rm
URIFilter.php
2365
0644
edit
dl
rm
URIParser.php
2294
0644
edit
dl
rm
URIScheme.php
3481
0644
edit
dl
rm
URISchemeRegistry.php
2409
0644
edit
dl
rm
VarParser.php
5990
0644
edit
dl
rm
VarParserException.php
157
0644
edit
dl
rm
Zipper.php
4442
0644
edit
dl
rm
Edit:
/var/www/vhosts/ihelp.ro/httpdocs/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php
(9006B)
<?php /** * 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. */ abstract class HTMLPurifier_Injector { /** * Advisory name of injector, this is for friendly error messages. * @type string */ public $name; /** * @type HTMLPurifier_HTMLDefinition */ protected $htmlDefinition; /** * Reference to CurrentNesting variable in Context. This is an array * list of tokens that we are currently "inside" * @type array */ protected $currentNesting; /** * Reference to current token. * @type HTMLPurifier_Token */ protected $currentToken; /** * Reference to InputZipper variable in Context. * @type HTMLPurifier_Zipper */ protected $inputZipper; /** * 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 */ public $needed = array(); /** * Number of elements to rewind backwards (relative). * @type bool|int */ protected $rewindOffset = false; /** * 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. * @param bool|int $offset * @warning HTML Purifier will prevent you from fast-forwarding with this * function. */ public function rewindOffset($offset) { $this->rewindOffset = $offset; } /** * Retrieves rewind offset, and then unsets it. * @return bool|int */ public function getRewindOffset() { $r = $this->rewindOffset; $this->rewindOffset = false; return $r; } /** * 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()). * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return bool|string Boolean false if success, string of missing needed element/attribute if failure */ public function prepare($config, $context) { $this->htmlDefinition = $config->getHTMLDefinition(); // Even though this might fail, some unit tests ignore this and // still test checkNeeded, so be careful. Maybe get rid of that // dependency. $result = $this->checkNeeded($config); if ($result !== false) { return $result; } $this->currentNesting =& $context->get('CurrentNesting'); $this->currentToken =& $context->get('CurrentToken'); $this->inputZipper =& $context->get('InputZipper'); return false; } /** * 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. * @param HTMLPurifier_Config $config * @return bool|string Boolean false if success, string of missing needed element/attribute if failure */ public function checkNeeded($config) { $def = $config->getHTMLDefinition(); foreach ($this->needed as $element => $attributes) { if (is_int($element)) { $element = $attributes; } if (!isset($def->info[$element])) { return $element; } if (!is_array($attributes)) { continue; } foreach ($attributes as $name) { if (!isset($def->info[$element]->attr[$name])) { return "$element.$name"; } } } return false; } /** * Tests if the context node allows a certain element * @param string $name Name of element to test for * @return bool True if element is allowed, false if it is not */ public function allowsElement($name) { if (!empty($this->currentNesting)) { $parent_token = array_pop($this->currentNesting); $this->currentNesting[] = $parent_token; $parent = $this->htmlDefinition->info[$parent_token->name]; } else { $parent = $this->htmlDefinition->info_parent_def; } if (!isset($parent->child->elements[$name]) || isset($parent->excludes[$name])) { return false; } // check for exclusion if (!empty($this->currentNesting)) { for ($i = count($this->currentNesting) - 2; $i >= 0; $i--) { $node = $this->currentNesting[$i]; $def = $this->htmlDefinition->info[$node->name]; if (isset($def->excludes[$name])) { return false; } } } return true; } /** * 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! * @param int $i Current integer index variable for inputTokens * @param HTMLPurifier_Token $current Current token variable. * Do NOT use $token, as that variable is also a reference * @return bool */ protected function forward(&$i, &$current) { if ($i === null) { $i = count($this->inputZipper->back) - 1; } else { $i--; } if ($i < 0) { return false; } $current = $this->inputZipper->back[$i]; return true; } /** * 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. * @param int $i Current integer index variable for inputTokens * @param HTMLPurifier_Token $current Current token variable. * Do NOT use $token, as that variable is also a reference * @param int $nesting * @return bool */ protected function forwardUntilEndToken(&$i, &$current, &$nesting) { $result = $this->forward($i, $current); if (!$result) { return false; } if ($nesting === null) { $nesting = 0; } if ($current instanceof HTMLPurifier_Token_Start) { $nesting++; } elseif ($current instanceof HTMLPurifier_Token_End) { if ($nesting <= 0) { return false; } $nesting--; } return true; } /** * 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! * @param int $i Current integer index variable for inputTokens * @param HTMLPurifier_Token $current Current token variable. * Do NOT use $token, as that variable is also a reference * @return bool */ protected function backward(&$i, &$current) { if ($i === null) { $i = count($this->inputZipper->front) - 1; } else { $i--; } if ($i < 0) { return false; } $current = $this->inputZipper->front[$i]; return true; } /** * Handler that is called when a text token is processed */ public function handleText(&$token) { } /** * Handler that is called when a start or empty token is processed */ public function handleElement(&$token) { } /** * Handler that is called when an end token is processed */ public function handleEnd(&$token) { $this->notifyEnd($token); } /** * Notifier that is called when an end token is processed * @param HTMLPurifier_Token $token Current token variable. * @note This differs from handlers in that the token is read-only * @deprecated */ public function notifyEnd($token) { } } // vim: et sw=4 sts=4
Save
cmd:
run