public static function Kint_Decorators_Rich::decorate in Devel 8.2
Same name and namespace in other branches
- 8 kint/kint/decorators/rich.php \Kint_Decorators_Rich::decorate()
2 calls to Kint_Decorators_Rich::decorate()
- kintParser::_decorateCell in kint/
kint/ inc/ kintParser.class.php - Kint_Decorators_Rich::decorateTrace in kint/
kint/ decorators/ rich.php
File
- kint/
kint/ decorators/ rich.php, line 8
Class
Code
public static function decorate(kintVariableData $kintVar) {
$output = '<dl>';
$extendedPresent = $kintVar->extendedValue !== null || $kintVar->_alternatives !== null;
if ($extendedPresent) {
$class = 'kint-parent';
if (Kint::$expandedByDefault) {
$class .= ' kint-show';
}
$output .= '<dt class="' . $class . '">';
}
else {
$output .= '<dt>';
}
if ($extendedPresent) {
$output .= '<span class="kint-popup-trigger" title="Open in new window">→</span><nav></nav>';
}
$output .= self::_drawHeader($kintVar) . $kintVar->value . '</dt>';
if ($extendedPresent) {
$output .= '<dd>';
}
if (isset($kintVar->extendedValue)) {
if (is_array($kintVar->extendedValue)) {
foreach ($kintVar->extendedValue as $v) {
$output .= self::decorate($v);
}
}
elseif (is_string($kintVar->extendedValue)) {
$output .= '<pre>' . $kintVar->extendedValue . '</pre>';
}
else {
$output .= self::decorate($kintVar->extendedValue);
//it's kint's container
}
}
elseif (isset($kintVar->_alternatives)) {
$output .= "<ul class=\"kint-tabs\">";
foreach ($kintVar->_alternatives as $k => $var) {
$active = $k === 0 ? ' class="kint-active-tab"' : '';
$output .= "<li{$active}>" . self::_drawHeader($var, false) . '</li>';
}
$output .= "</ul><ul>";
foreach ($kintVar->_alternatives as $var) {
$output .= "<li>";
$var = $var->value;
if (is_array($var)) {
foreach ($var as $v) {
$output .= is_string($v) ? '<pre>' . $v . '</pre>' : self::decorate($v);
}
}
elseif (is_string($var)) {
$output .= '<pre>' . $var . '</pre>';
}
elseif (isset($var)) {
throw new Exception('Kint has encountered an error, ' . 'please paste this report to https://github.com/raveren/kint/issues<br>' . 'Error encountered at ' . basename(__FILE__) . ':' . __LINE__ . '<br>' . ' variables: ' . htmlspecialchars(var_export($kintVar->_alternatives, true), ENT_QUOTES));
}
$output .= "</li>";
}
$output .= "</ul>";
}
if ($extendedPresent) {
$output .= '</dd>';
}
$output .= '</dl>';
return $output;
}