Ghost Exploiter Team Official
Mass Deface
Directory >>
/
var
/
www
/
html
/
back
/
vendor
/
friendsofphp
/
php-cs-fixer
/
src
/
Documentation
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
type
file
dir
+File/Dir
DocumentationLocator.php
2.236KB
edt
ren
DocumentationTag.php
0.996KB
edt
ren
DocumentationTagGenerat
...
6.204KB
edt
ren
DocumentationTagType.php
0.78KB
edt
ren
FixerDocumentGenerator.php
14.954KB
edt
ren
RstUtils.php
1.141KB
edt
ren
RuleSetDocumentationGen
...
5.261KB
edt
ren
<?php declare(strict_types=1); /* * This file is part of PHP CS Fixer. * * (c) Fabien Potencier <fabien@symfony.com> * Dariusz RumiĆski <dariusz.ruminski@gmail.com> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Documentation; use PhpCsFixer\Fixer\FixerInterface; use PhpCsFixer\Preg; use PhpCsFixer\RuleSet\AutomaticRuleSetDefinitionInterface; use PhpCsFixer\RuleSet\DeprecatedRuleSetDefinitionInterface; use PhpCsFixer\RuleSet\RuleSetDefinitionInterface; use PhpCsFixer\Utils; /** * @readonly * * @internal * * @no-named-arguments Parameter names are not covered by the backward compatibility promise. */ final class RuleSetDocumentationGenerator { private DocumentationLocator $locator; public function __construct(DocumentationLocator $locator) { $this->locator = $locator; } /** * @param list<FixerInterface> $fixers */ public function generateRuleSetsDocumentation(RuleSetDefinitionInterface $definition, array $fixers): string { $fixerNames = []; foreach ($fixers as $fixer) { $fixerNames[$fixer->getName()] = $fixer; } $title = "Rule set ``{$definition->getName()}``"; $titleLine = str_repeat('=', \strlen($title)); $doc = "{$titleLine}\n{$title}\n{$titleLine}\n\n".$definition->getDescription(); $header = static function (string $message, string $underline = '-'): string { $line = str_repeat($underline, \strlen($message)); return "{$message}\n{$line}\n"; }; $tags = DocumentationTagGenerator::analyseRuleSet($definition); $warnings = array_map( static function (DocumentationTag $tag): string { $titleLine = str_repeat('~', \strlen($tag->title)); return \sprintf( "\n%s\n%s\n\n%s", $tag->title, $titleLine, null === $tag->description ? '' : RstUtils::toRst($tag->description, 0), ); }, $tags, ); if ([] !== $warnings) { $warningsHeader = 1 === \count($warnings) ? 'Warning' : 'Warnings'; $doc .= "\n\n".$header($warningsHeader).implode("\n", $warnings); } $rules = $definition instanceof AutomaticRuleSetDefinitionInterface ? $definition->getRulesCandidates() : $definition->getRules(); if ([] === $rules) { $doc .= "\n\nThis is an empty set."; } else { $enabledRules = array_filter($rules, static fn ($config) => false !== $config); $disabledRules = array_filter($rules, static fn ($config) => false === $config); $listRules = function (array $rules) use (&$doc, $fixerNames): void { foreach ($rules as $rule => $config) { if (str_starts_with($rule, '@')) { $ruleSetPath = $this->locator->getRuleSetsDocumentationFilePath($rule); $ruleSetPath = substr($ruleSetPath, strrpos($ruleSetPath, '/')); $doc .= "\n- `{$rule} <.{$ruleSetPath}>`_"; } else { $path = Preg::replace( '#^'.preg_quote($this->locator->getFixersDocumentationDirectoryPath(), '#').'/#', './../rules/', $this->locator->getFixerDocumentationFilePath($fixerNames[$rule]), ); $doc .= "\n- `{$rule} <{$path}>`_"; } if (!\is_bool($config)) { $doc .= " with config:\n\n ``".Utils::toString($config)."``\n"; } } }; $rulesCandidatesDescriptionHeader = $definition instanceof AutomaticRuleSetDefinitionInterface ? ' candidates' : ''; if ([] !== $enabledRules) { $doc .= "\n\n".$header("Rules{$rulesCandidatesDescriptionHeader}"); $listRules($enabledRules); } if ([] !== $disabledRules) { $doc .= "\n\n".$header("Disabled rules{$rulesCandidatesDescriptionHeader}"); $listRules($disabledRules); } } return $doc."\n"; } /** * @param array<string, RuleSetDefinitionInterface> $setDefinitions */ public function generateRuleSetsDocumentationIndex(array $setDefinitions): string { $documentation = <<<'RST' =========================== List of Available Rule sets =========================== RST; foreach ($setDefinitions as $path => $definition) { $path = substr($path, strrpos($path, '/')); $attributes = []; if ($definition instanceof DeprecatedRuleSetDefinitionInterface) { $attributes[] = 'deprecated'; } $attributes = 0 === \count($attributes) ? '' : ' *('.implode(', ', $attributes).')*'; $documentation .= "\n- `{$definition->getName()} <.{$path}>`_{$attributes}"; } return $documentation."\n"; } }
<=Back
Liking