mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-08 09:46:46 +02:00
[ticket/11150] Fix Html output formatter
PHPBB3-11150
This commit is contained in:
committed by
Tristan Darricau
parent
317c90cf48
commit
972f3a7ff4
@@ -15,6 +15,36 @@ namespace phpbb\composer\io;
|
||||
|
||||
class html_output_formatter extends \Composer\Console\HtmlOutputFormatter
|
||||
{
|
||||
protected static $availableForegroundColors = [
|
||||
30 => 'black',
|
||||
31 => 'red',
|
||||
32 => 'green',
|
||||
33 => 'yellow',
|
||||
34 => 'blue',
|
||||
35 => 'magenta',
|
||||
36 => 'cyan',
|
||||
37 => 'white'
|
||||
];
|
||||
|
||||
protected static $availableBackgroundColors = [
|
||||
40 => 'black',
|
||||
41 => 'red',
|
||||
42 => 'green',
|
||||
43 => 'yellow',
|
||||
44 => 'blue',
|
||||
45 => 'magenta',
|
||||
46 => 'cyan',
|
||||
47 => 'white'
|
||||
];
|
||||
|
||||
protected static $availableOptions = [
|
||||
1 => 'bold',
|
||||
4 => 'underscore',
|
||||
//5 => 'blink',
|
||||
//7 => 'reverse',
|
||||
//8 => 'conceal'
|
||||
];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
@@ -24,4 +54,28 @@ class html_output_formatter extends \Composer\Console\HtmlOutputFormatter
|
||||
|
||||
return preg_replace_callback("{[\033\e]\[([0-9;]+)m(.*?)[\033\e]\[[0-9;]+m}s", array($this, 'formatHtml'), $formatted);
|
||||
}
|
||||
|
||||
protected function formatHtml($matches)
|
||||
{
|
||||
$out = '<span style="';
|
||||
foreach (explode(';', $matches[1]) as $code) {
|
||||
if (isset(self::$availableForegroundColors[$code])) {
|
||||
$out .= 'color:'.self::$availableForegroundColors[$code].';';
|
||||
} elseif (isset(self::$availableBackgroundColors[$code])) {
|
||||
$out .= 'background-color:'.self::$availableBackgroundColors[$code].';';
|
||||
} elseif (isset(self::$availableOptions[$code])) {
|
||||
switch (self::$availableOptions[$code]) {
|
||||
case 'bold':
|
||||
$out .= 'font-weight:bold;';
|
||||
break;
|
||||
|
||||
case 'underscore':
|
||||
$out .= 'text-decoration:underline;';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $out.'">'.$matches[2].'</span>';
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user