foreach ($data['configuration'] as $column_config) {
if ($column_config['data'] == CWidgetFieldColumnsList::DATA_ITEM_VALUE) {
if ($column_config['display'] == CWidgetFieldColumnsList::DISPLAY_AS_IS) {
$headers[] = (new CColHeader($column_config['name']))->addClass(ZBX_STYLE_CENTER);
$headers[] = (new CColHeader($column_config['name']))->setColSpan(2);
$headers[] = $column_config['name'];
$table = (new CTableInfo())->setHeader($headers);
foreach ($data['rows'] as $columns) {
foreach ($columns as $i => $column) {
$column_config = $data['configuration'][$i];
if ($column_config['data'] == CWidgetFieldColumnsList::DATA_ITEM_VALUE
&& $column_config['display'] != CWidgetFieldColumnsList::DISPLAY_AS_IS) {
$row[] = (new CCol(''))->setColSpan(2);
$color = $column_config['base_color'];
if ($column_config['data'] == CWidgetFieldColumnsList::DATA_ITEM_VALUE
&& $column_config['display'] == CWidgetFieldColumnsList::DISPLAY_AS_IS
&& array_key_exists('thresholds', $column_config)) {
foreach ($column_config['thresholds'] as $threshold) {
$threshold_value = $column['is_binary_units']
? $threshold['threshold_binary']
: $threshold['threshold'];
if ($column['value'] < $threshold_value) {
$color = $threshold['color'];
switch ($column_config['data']) {
case CWidgetFieldColumnsList::DATA_HOST_NAME:
(new CLinkAction($column['value']))->setMenuPopup(CMenuPopupHelper::getHost($column['hostid']))
))->addStyle($color !== '' ? 'background-color: #'.$color : null);
case CWidgetFieldColumnsList::DATA_TEXT:
$row[] = (new CCol($column['value']))
->addStyle($color !== '' ? 'background-color: #'.$color : null);