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: StringHashParser.php
<?php /** * Parses string hash files. File format is as such: * * DefaultKeyValue * KEY: Value * KEY2: Value2 * --MULTILINE-KEY-- * Multiline * value. * * Which would output something similar to: * * array( * 'ID' => 'DefaultKeyValue', * 'KEY' => 'Value', * 'KEY2' => 'Value2', * 'MULTILINE-KEY' => "Multiline\nvalue.\n", * ) * * We use this as an easy to use file-format for configuration schema * files, but the class itself is usage agnostic. * * You can use ---- to forcibly terminate parsing of a single string-hash; * this marker is used in multi string-hashes to delimit boundaries. */ class HTMLPurifier_StringHashParser { /** * @type string */ public $default = 'ID'; /** * Parses a file that contains a single string-hash. * @param string $file * @return array */ public function parseFile($file) { if (!file_exists($file)) { return false; } $fh = fopen($file, 'r'); if (!$fh) { return false; } $ret = $this->parseHandle($fh); fclose($fh); return $ret; } /** * Parses a file that contains multiple string-hashes delimited by '----' * @param string $file * @return array */ public function parseMultiFile($file) { if (!file_exists($file)) { return false; } $ret = array(); $fh = fopen($file, 'r'); if (!$fh) { return false; } while (!feof($fh)) { $ret[] = $this->parseHandle($fh); } fclose($fh); return $ret; } /** * Internal parser that acepts a file handle. * @note While it's possible to simulate in-memory parsing by using * custom stream wrappers, if such a use-case arises we should * factor out the file handle into its own class. * @param resource $fh File handle with pointer at start of valid string-hash * block. * @return array */ protected function parseHandle($fh) { $state = false; $single = false; $ret = array(); do { $line = fgets($fh); if ($line === false) { break; } $line = rtrim($line, "\n\r"); if (!$state && $line === '') { continue; } if ($line === '----') { break; } if (strncmp('--#', $line, 3) === 0) { // Comment continue; } elseif (strncmp('--', $line, 2) === 0) { // Multiline declaration $state = trim($line, '- '); if (!isset($ret[$state])) { $ret[$state] = ''; } continue; } elseif (!$state) { $single = true; if (strpos($line, ':') !== false) { // Single-line declaration list($state, $line) = explode(':', $line, 2); $line = trim($line); } else { // Use default declaration $state = $this->default; } } if ($single) { $ret[$state] = $line; $single = false; $state = false; } else { $ret[$state] .= "$line\n"; } } while (!feof($fh)); return $ret; } } // vim: et sw=4 sts=4
Upload File
Create Folder