1<?php 2/* 3** Zabbix 4** Copyright (C) 2001-2021 Zabbix SIA 5** 6** This program is free software; you can redistribute it and/or modify 7** it under the terms of the GNU General Public License as published by 8** the Free Software Foundation; either version 2 of the License, or 9** (at your option) any later version. 10** 11** This program is distributed in the hope that it will be useful, 12** but WITHOUT ANY WARRANTY; without even the implied warranty of 13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14** GNU General Public License for more details. 15** 16** You should have received a copy of the GNU General Public License 17** along with this program; if not, write to the Free Software 18** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19**/ 20 21 22// indicator of sort field 23$sort_div = (new CSpan())->addClass(ZBX_STYLE_ARROW_UP); 24 25$table = (new CTableInfo()) 26 ->setHeader([[_('Host group'), $sort_div], _('Ok'), _('Failed'), _('Unknown')]) 27 ->setHeadingColumn(0); 28 29$url = (new CUrl('zabbix.php')) 30 ->setArgument('action', 'web.view') 31 ->setArgument('groupid', '') 32 ->setArgument('hostid', '0'); 33 34foreach ($data['groups'] as $group) { 35 $url->setArgument('groupid', $group['groupid']); 36 37 $table->addRow([ 38 new CLink($group['name'], $url->getUrl()), 39 ($group['ok'] != 0) ? (new CSpan($group['ok']))->addClass(ZBX_STYLE_GREEN) : '', 40 ($group['failed'] != 0) ? (new CSpan($group['failed']))->addClass(ZBX_STYLE_RED) : '', 41 ($group['unknown'] != 0) ? (new CSpan($group['unknown']))->addClass(ZBX_STYLE_GREY) : '' 42 ]); 43} 44 45$output = [ 46 'header' => $data['name'], 47 'body' => $table->toString() 48]; 49 50if (($messages = getMessages()) !== null) { 51 $output['messages'] = $messages->toString(); 52} 53 54if ($data['user']['debug_mode'] == GROUP_DEBUG_MODE_ENABLED) { 55 CProfiler::getInstance()->stop(); 56 $output['debug'] = CProfiler::getInstance()->make()->toString(); 57} 58 59echo (new CJson())->encode($output); 60