⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.74
Server IP:
104.21.64.1
Server:
Linux vmi2315822.contaboserver.net 5.15.0-134-generic #145-Ubuntu SMP Wed Feb 12 20:08:39 UTC 2025 x86_64
Server Software:
LiteSpeed
PHP Version:
8.3.21
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
php
/
Composer
/
Console
/
View File Name :
HtmlOutputFormatter.php
<?php /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Console; use Composer\Pcre\Preg; use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Formatter\OutputFormatterStyle; /** * @author Jordi Boggiano <j.boggiano@seld.be> */ class HtmlOutputFormatter extends OutputFormatter { /** @var array<int, string> */ private static $availableForegroundColors = array( 30 => 'black', 31 => 'red', 32 => 'green', 33 => 'yellow', 34 => 'blue', 35 => 'magenta', 36 => 'cyan', 37 => 'white', ); /** @var array<int, string> */ private static $availableBackgroundColors = array( 40 => 'black', 41 => 'red', 42 => 'green', 43 => 'yellow', 44 => 'blue', 45 => 'magenta', 46 => 'cyan', 47 => 'white', ); /** @var array<int, string> */ private static $availableOptions = array( 1 => 'bold', 4 => 'underscore', //5 => 'blink', //7 => 'reverse', //8 => 'conceal' ); /** * @param array<string, OutputFormatterStyle> $styles Array of "name => FormatterStyle" instances */ public function __construct(array $styles = array()) { parent::__construct(true, $styles); } /** * @param ?string $message * * @return string */ public function format($message) { $formatted = parent::format($message); $clearEscapeCodes = '(?:39|49|0|22|24|25|27|28)'; // TODO in 2.3 replace with Closure::fromCallable and then use Preg::replaceCallback return preg_replace_callback("{\033\[([0-9;]+)m(.*?)\033\[(?:".$clearEscapeCodes.";)*?".$clearEscapeCodes."m}s", array($this, 'formatHtml'), $formatted); } /** * @param string[] $matches * * @return string */ private function formatHtml($matches) { $out = '<span style="'; foreach (explode(';', $matches[1]) as $code) { if (isset(self::$availableForegroundColors[(int) $code])) { $out .= 'color:'.self::$availableForegroundColors[(int) $code].';'; } elseif (isset(self::$availableBackgroundColors[(int) $code])) { $out .= 'background-color:'.self::$availableBackgroundColors[(int) $code].';'; } elseif (isset(self::$availableOptions[(int) $code])) { switch (self::$availableOptions[(int) $code]) { case 'bold': $out .= 'font-weight:bold;'; break; case 'underscore': $out .= 'text-decoration:underline;'; break; } } } return $out.'">'.$matches[2].'</span>'; } }