<?php declare(strict_types = 0);
$form = (new CForm('post'))
->addItem((new CVar(CSRF_TOKEN_NAME, CCsrfTokenHelper::get('sla')))->removeId())
->addStyle('display: none;');
$form->addItem((new CSubmitButton())->addClass(ZBX_STYLE_FORM_SUBMIT_HIDDEN));
$schedule = (new CTable())->addStyle('min-width: '.ZBX_TEXTAREA_STANDARD_WIDTH.'px;');
for ($weekday = 0; $weekday < 7; $weekday++) {
$schedule->addRow(new CRow([
(new CCheckBox('schedule_enabled['.$weekday.']', $weekday))
->setLabel(getDayOfWeekCaption($weekday))
->setChecked($data['form']['schedule_periods'][$weekday] !== ''),
(new CTextBox('schedule_periods['.$weekday.']', $data['form']['schedule_periods'][$weekday]))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setAttribute('placeholder', '8:00-17:00, ...')
$sla_tab = (new CFormGrid())
(new CLabel(_('Name'), 'name'))->setAsteriskMark(),
(new CTextBox('name', $data['form']['name'], false, DB::getFieldLength('sla', 'name')))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAttribute('autofocus', 'autofocus')
(new CLabel(_('SLO'), 'slo'))->setAsteriskMark(),
(new CTextBox('slo', $data['form']['slo'], false, 7))
->setWidth(ZBX_TEXTAREA_TINY_WIDTH)
->setAttribute('placeholder', DB::getDefault('sla', 'slo'))
new CLabel(_('Reporting period')),
(new CRadioButtonList('period', (int) $data['form']['period']))
->addValue(_('Daily'), ZBX_SLA_PERIOD_DAILY)
->addValue(_('Weekly'), ZBX_SLA_PERIOD_WEEKLY)
->addValue(_('Monthly'), ZBX_SLA_PERIOD_MONTHLY)
->addValue(_('Quarterly'), ZBX_SLA_PERIOD_QUARTERLY)
->addValue(_('Annually'), ZBX_SLA_PERIOD_ANNUALLY)
new CLabel(_('Time zone'), 'timezone-focusable'),
(new CSelect('timezone'))
->setFocusableElementId('timezone-focusable')
->setValue($data['form']['timezone'])
->addOptions(CSelect::createOptionsFromArray([
ZBX_DEFAULT_TIMEZONE => CTimezoneHelper::getTitle(CTimezoneHelper::getSystemTimezone(),
] + CTimezoneHelper::getList()))