df5e378b8a
Added an AnsiConverter helper. Use the AnsiConverter in the email and page templates that display the build log. Use a dedicated stylesheet for the ANSI converter. It can be customized. It can be inlined in the notifications. Do not use ProphecyTestCase when not needed.
56 lines
1.1 KiB
PHP
56 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* PHPCI - Continuous Integration for PHP
|
|
*
|
|
* @copyright Copyright 2014, Block 8 Limited.
|
|
* @license https://github.com/Block8/PHPCI/blob/master/LICENSE.md
|
|
* @link https://www.phptesting.org/
|
|
*/
|
|
|
|
namespace PHPCI\Helper;
|
|
|
|
use SensioLabs\AnsiConverter\AnsiToHtmlConverter;
|
|
|
|
/**
|
|
* Converts ANSI output to HTML.
|
|
*
|
|
* @package PHPCI\Helper
|
|
*/
|
|
final class AnsiConverter
|
|
{
|
|
static private $converter = null;
|
|
|
|
/**
|
|
* Initialize the singletion.
|
|
*
|
|
* @return AnsiToHtmlConverter
|
|
*/
|
|
private static function getInstance()
|
|
{
|
|
if (self::$converter === null) {
|
|
self::$converter = new AnsiToHtmlConverter(null, false);
|
|
}
|
|
|
|
return self::$converter;
|
|
}
|
|
|
|
/**
|
|
* Convert a text containing ANSI colr sequences into HTML code.
|
|
*
|
|
* @param string $text The text to convert
|
|
*
|
|
* @return string The HTML code.
|
|
*/
|
|
public static function convert($text)
|
|
{
|
|
return self::getInstance()->convert($text);
|
|
}
|
|
|
|
/**
|
|
* Do not instanciate this class.
|
|
*/
|
|
private function __construct()
|
|
{
|
|
}
|
|
}
|