X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/lib/htmlpurifier/HTMLPurifier
home
/
cbholdings
/
pasukulu
/
lib
/
htmlpurifier
/
HTMLPurifier
/
📁
..
📄
Arborize.php
(2.49 KB)
📄
AttrCollections.php
(4.75 KB)
📁
AttrDef
📄
AttrDef.php
(5.07 KB)
📁
AttrTransform
📄
AttrTransform.php
(1.94 KB)
📄
AttrTypes.php
(3.67 KB)
📄
AttrValidator.php
(6.42 KB)
📄
Bootstrap.php
(4.5 KB)
📄
CSSDefinition.php
(19.13 KB)
📁
ChildDef
📄
ChildDef.php
(1.52 KB)
📄
Config.php
(30.96 KB)
📁
ConfigSchema
📄
ConfigSchema.php
(5.76 KB)
📄
ContentSets.php
(5.51 KB)
📄
Context.php
(2.57 KB)
📄
Definition.php
(1.33 KB)
📁
DefinitionCache
📄
DefinitionCache.php
(3.82 KB)
📄
DefinitionCacheFactory.php
(3.13 KB)
📄
Doctype.php
(1.54 KB)
📄
DoctypeRegistry.php
(4.13 KB)
📄
ElementDef.php
(7.35 KB)
📄
Encoder.php
(25.19 KB)
📁
EntityLookup
📄
EntityLookup.php
(1.39 KB)
📄
EntityParser.php
(9.75 KB)
📄
ErrorCollector.php
(7.45 KB)
📄
ErrorStruct.php
(1.85 KB)
📄
Exception.php
(177 B)
📁
Filter
📄
Filter.php
(1.59 KB)
📄
Generator.php
(10.01 KB)
📄
HTMLDefinition.php
(17.33 KB)
📁
HTMLModule
📄
HTMLModule.php
(9.96 KB)
📄
HTMLModuleManager.php
(15.57 KB)
📄
IDAccumulator.php
(1.61 KB)
📁
Injector
📄
Injector.php
(8.79 KB)
📁
Language
📄
Language.php
(5.92 KB)
📄
LanguageFactory.php
(6.46 KB)
📄
Length.php
(3.8 KB)
📁
Lexer
📄
Lexer.php
(13.22 KB)
📁
Node
📄
Node.php
(1.25 KB)
📄
PercentEncoder.php
(3.48 KB)
📁
Printer
📄
Printer.php
(5.76 KB)
📄
PropertyList.php
(2.72 KB)
📄
PropertyListIterator.php
(894 B)
📄
Queue.php
(1.51 KB)
📁
Strategy
📄
Strategy.php
(762 B)
📄
StringHash.php
(1.07 KB)
📄
StringHashParser.php
(3.56 KB)
📁
TagTransform
📄
TagTransform.php
(1.07 KB)
📁
Token
📄
Token.php
(2.17 KB)
📄
TokenFactory.php
(3.03 KB)
📄
URI.php
(10.35 KB)
📄
URIDefinition.php
(3.35 KB)
📁
URIFilter
📄
URIFilter.php
(2.31 KB)
📄
URIParser.php
(2.24 KB)
📁
URIScheme
📄
URIScheme.php
(3.4 KB)
📄
URISchemeRegistry.php
(2.35 KB)
📄
UnitConverter.php
(9.89 KB)
📁
VarParser
📄
VarParser.php
(5.85 KB)
📄
VarParserException.php
(157 B)
📄
Zipper.php
(4.34 KB)
Editing: AttrCollections.php
<?php /** * Defines common attribute collections that modules reference */ class HTMLPurifier_AttrCollections { /** * Associative array of attribute collections, indexed by name. * @type array */ public $info = array(); /** * Performs all expansions on internal data for use by other inclusions * It also collects all attribute collection extensions from * modules * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance * @param HTMLPurifier_HTMLModule[] $modules Hash array of HTMLPurifier_HTMLModule members */ public function __construct($attr_types, $modules) { $this->doConstruct($attr_types, $modules); } public function doConstruct($attr_types, $modules) { // load extensions from the modules foreach ($modules as $module) { foreach ($module->attr_collections as $coll_i => $coll) { if (!isset($this->info[$coll_i])) { $this->info[$coll_i] = array(); } foreach ($coll as $attr_i => $attr) { if ($attr_i === 0 && isset($this->info[$coll_i][$attr_i])) { // merge in includes $this->info[$coll_i][$attr_i] = array_merge( $this->info[$coll_i][$attr_i], $attr ); continue; } $this->info[$coll_i][$attr_i] = $attr; } } } // perform internal expansions and inclusions foreach ($this->info as $name => $attr) { // merge attribute collections that include others $this->performInclusions($this->info[$name]); // replace string identifiers with actual attribute objects $this->expandIdentifiers($this->info[$name], $attr_types); } } /** * Takes a reference to an attribute associative array and performs * all inclusions specified by the zero index. * @param array &$attr Reference to attribute array */ public function performInclusions(&$attr) { if (!isset($attr[0])) { return; } $merge = $attr[0]; $seen = array(); // recursion guard // loop through all the inclusions for ($i = 0; isset($merge[$i]); $i++) { if (isset($seen[$merge[$i]])) { continue; } $seen[$merge[$i]] = true; // foreach attribute of the inclusion, copy it over if (!isset($this->info[$merge[$i]])) { continue; } foreach ($this->info[$merge[$i]] as $key => $value) { if (isset($attr[$key])) { continue; } // also catches more inclusions $attr[$key] = $value; } if (isset($this->info[$merge[$i]][0])) { // recursion $merge = array_merge($merge, $this->info[$merge[$i]][0]); } } unset($attr[0]); } /** * Expands all string identifiers in an attribute array by replacing * them with the appropriate values inside HTMLPurifier_AttrTypes * @param array &$attr Reference to attribute array * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance */ public function expandIdentifiers(&$attr, $attr_types) { // because foreach will process new elements we add, make sure we // skip duplicates $processed = array(); foreach ($attr as $def_i => $def) { // skip inclusions if ($def_i === 0) { continue; } if (isset($processed[$def_i])) { continue; } // determine whether or not attribute is required if ($required = (strpos($def_i, '*') !== false)) { // rename the definition unset($attr[$def_i]); $def_i = trim($def_i, '*'); $attr[$def_i] = $def; } $processed[$def_i] = true; // if we've already got a literal object, move on if (is_object($def)) { // preserve previous required $attr[$def_i]->required = ($required || $attr[$def_i]->required); continue; } if ($def === false) { unset($attr[$def_i]); continue; } if ($t = $attr_types->get($def)) { $attr[$def_i] = $t; $attr[$def_i]->required = $required; } else { unset($attr[$def_i]); } } } } // vim: et sw=4 sts=4
Upload File
Create Folder