Source
$header[] = CSlaHelper::getPeriodTag((int) $data['sla']['period'], $period['period_from'], $period['period_to'],
<?php declare(strict_types = 0);
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
/**
* @var CView $this
* @var array $data
*/
$this->addJsFile('class.calendar.js');
$this->includeJsFile('slareport.list.js.php');
$filter = (new CFilter())
->addVar('action', 'slareport.list')
->setResetUrl((new CUrl('zabbix.php'))->setArgument('action', 'slareport.list'))
->setProfile('web.slareport.list.filter')
->setActiveTab($data['active_tab'])
->addFilterTab(_('Filter'), [
(new CFormGrid())
->addClass(CFormGrid::ZBX_STYLE_FORM_GRID_LABEL_WIDTH_TRUE)
->addItem([
new CLabel(_('SLA'), 'filter_slaid_ms'),
new CFormField(
(new CMultiSelect([
'name' => 'filter_slaid',
'object_name' => 'sla',
'data' => $data['sla'] !== null
? [CArrayHelper::renameKeys($data['sla'], ['slaid' => 'id'])]
: [],
'multiple' => false,
'popup' => [
'parameters' => [
'srctbl' => 'sla',
'srcfld1' => 'slaid',
'dstfrm' => 'zbx_filter',
'dstfld1' => 'filter_slaid',
'enabled_only' => 1
]
]
]))->setWidth(ZBX_TEXTAREA_FILTER_STANDARD_WIDTH)
),
new CLabel(_('Service'), 'filter_serviceid_ms'),
new CFormField(
(new CMultiSelect([
'name' => 'filter_serviceid',
'object_name' => 'services',
'data' => $data['service'] !== null
? [CArrayHelper::renameKeys($data['service'], ['serviceid' => 'id'])]
: [],
'multiple' => false,
'custom_select' => true
]))->setWidth(ZBX_TEXTAREA_FILTER_STANDARD_WIDTH)
)
]),
(new CFormGrid())
->addClass(CFormGrid::ZBX_STYLE_FORM_GRID_LABEL_WIDTH_TRUE)
->addItem([
new CLabel(_('From'), 'filter_date_from'),
new CFormField(
(new CDateSelector('filter_date_from', $data['filter']['date_from']))
->setDateFormat(ZBX_DATE)
->setPlaceholder(_('YYYY-MM-DD'))
),
new CLabel(_('To'), 'filter_date_to'),
new CFormField(
(new CDateSelector('filter_date_to', $data['filter']['date_to']))
->setDateFormat(ZBX_DATE)
->setPlaceholder(_('YYYY-MM-DD'))
)
])
]);
$html_page = (new CHtmlPage())
->setTitle(_('SLA report'))
->setDocUrl(CDocHelper::getUrl(CDocHelper::SERVICES_SLAREPORT_LIST))
->addItem($filter);
$report = new CTableInfo();