$interface_states_order = [INTERFACE_AVAILABLE_TRUE, INTERFACE_AVAILABLE_FALSE, INTERFACE_AVAILABLE_MIXED,
<?php declare(strict_types = 0);
const INTERFACE_AVAILABLE_TOTAL = -1;
$interface_states_fields = [
INTERFACE_AVAILABLE_TRUE => ['name' => _('Available'), 'style' => ZBX_STYLE_HOST_AVAIL_TRUE,
'name_in_context' => _x('Available', 'compact table header')
INTERFACE_AVAILABLE_FALSE => ['name' => _('Not available'), 'style' => ZBX_STYLE_HOST_AVAIL_FALSE,
'name_in_context' => _x('Not available', 'compact table header')
INTERFACE_AVAILABLE_MIXED => ['name' => _('Mixed'), 'style' => ZBX_STYLE_HOST_AVAIL_MIXED,
'name_in_context' => _x('Mixed', 'compact table header')
INTERFACE_AVAILABLE_UNKNOWN => ['name' => _('Unknown'), 'style' => ZBX_STYLE_HOST_AVAIL_UNKNOWN,
'name_in_context' => _x('Unknown', 'compact table header')
INTERFACE_AVAILABLE_TOTAL => ['name' => _('Total'), 'style' => ZBX_STYLE_HOST_AVAIL_TOTAL,
'name_in_context' => _x('Total', 'compact table header')
if (count($data['interface_types']) == 1 || $data['only_totals'] == 1) {
$counts = $data['total_hosts'];
->addClass(ZBX_STYLE_HOST_AVAIL_TABLE)
->addClass(ZBX_STYLE_TOTALS_LIST)
->addClass($data['layout'] == STYLE_HORIZONTAL
? ZBX_STYLE_TOTALS_LIST_HORIZONTAL
: ZBX_STYLE_TOTALS_LIST_VERTICAL
foreach ($interface_states_fields as $state => $field) {
$count = $state != INTERFACE_AVAILABLE_TOTAL ? $counts[$state] : $data['total_hosts_sum'];
(new CSpan($count))->addClass(ZBX_STYLE_TOTALS_LIST_COUNT)->setTitle($count),
(new CSpan($field['name']))->addClass(ZBX_STYLE_TOTALS_LIST_NAME)->setTitle($field['name'])
]))->addClass($field['style'])