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/**
23 * @var CView $this
24 */
25
26$this->addJsFile('colorpicker.js');
27
28$this->includeJsFile('administration.trigdisplay.edit.js.php');
29
30$widget = (new CWidget())
31	->setTitle(_('Trigger displaying options'))
32	->setTitleSubmenu(getAdministrationGeneralSubmenu());
33
34$form_list = (new CFormList())
35	->addRow(_('Use custom event status colours'), (new CCheckBox('custom_color'))
36		->setUncheckedValue(EVENT_CUSTOM_COLOR_DISABLED)
37		->setChecked($data['custom_color'] == EVENT_CUSTOM_COLOR_ENABLED)
38		->setAttribute('autofocus', 'autofocus')
39	)
40	->addRow((new CLabel(_('Unacknowledged PROBLEM events'), 'problem_unack_color'))->setAsteriskMark(), [
41		(new CColor('problem_unack_color', $data['problem_unack_color']))
42			->setEnabled($data['custom_color'] == EVENT_CUSTOM_COLOR_ENABLED)
43			->addClass(($data['custom_color'] == EVENT_CUSTOM_COLOR_DISABLED) ? ZBX_STYLE_DISABLED : null)
44			->addClass('js-event-color-picker')
45			->setAriaRequired(),
46		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
47		(new CCheckBox('problem_unack_style'))
48			->setLabel(_('blinking'))
49			->setChecked($data['problem_unack_style'] == 1)
50			->setUncheckedValue('0')
51	])
52	->addRow((new CLabel(_('Acknowledged PROBLEM events'), 'problem_ack_color'))->setAsteriskMark(), [
53		(new CColor('problem_ack_color', $data['problem_ack_color']))
54			->setEnabled($data['custom_color'] == EVENT_CUSTOM_COLOR_ENABLED)
55			->addClass(($data['custom_color'] == EVENT_CUSTOM_COLOR_DISABLED) ? ZBX_STYLE_DISABLED : null)
56			->addClass('js-event-color-picker')
57			->setAriaRequired(),
58		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
59		(new CCheckBox('problem_ack_style'))
60			->setLabel(_('blinking'))
61			->setChecked($data['problem_ack_style'] == 1)
62			->setUncheckedValue('0')
63	])
64	->addRow((new CLabel(_('Unacknowledged RESOLVED events'), 'ok_unack_color'))->setAsteriskMark(), [
65		(new CColor('ok_unack_color', $data['ok_unack_color']))
66			->setEnabled($data['custom_color'] == EVENT_CUSTOM_COLOR_ENABLED)
67			->addClass(($data['custom_color'] == EVENT_CUSTOM_COLOR_DISABLED) ? ZBX_STYLE_DISABLED : null)
68			->addClass('js-event-color-picker')
69			->setAriaRequired(),
70		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
71		(new CCheckBox('ok_unack_style'))
72			->setLabel(_('blinking'))
73			->setChecked($data['ok_unack_style'] == 1)
74			->setUncheckedValue('0')
75	])
76	->addRow((new CLabel(_('Acknowledged RESOLVED events'), 'ok_ack_color'))->setAsteriskMark(), [
77		(new CColor('ok_ack_color', $data['ok_ack_color']))
78			->setEnabled($data['custom_color'] == EVENT_CUSTOM_COLOR_ENABLED)
79			->addClass(($data['custom_color'] == EVENT_CUSTOM_COLOR_DISABLED) ? ZBX_STYLE_DISABLED : null)
80			->addClass('js-event-color-picker')
81			->setAriaRequired(),
82		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
83		(new CCheckBox('ok_ack_style'))
84			->setLabel(_('blinking'))
85			->setChecked($data['ok_ack_style'] == 1)
86			->setUncheckedValue('0')
87	])
88	->addRow(null)
89	->addRow((new CLabel(_('Display OK triggers for'), 'ok_period'))->setAsteriskMark(), [
90		(new CTextBox('ok_period', $data['ok_period'], false, DB::getFieldLength('config', 'ok_period')))
91			->setWidth(ZBX_TEXTAREA_TINY_WIDTH)
92			->setAriaRequired()
93	])
94	->addRow((new CLabel(_('On status change triggers blink for'), 'blink_period'))->setAsteriskMark(), [
95		(new CTextBox('blink_period', $data['blink_period'], false, DB::getFieldLength('config', 'blink_period')))
96			->setWidth(ZBX_TEXTAREA_TINY_WIDTH)
97			->setAriaRequired()
98	])
99	->addRow(null)
100	->addRow((new CLabel(_('Not classified'), 'severity_name_0'))->setAsteriskMark(), [
101		(new CTextBox('severity_name_0', $data['severity_name_0'], false,
102			DB::getFieldLength('config', 'severity_name_0')
103		))
104			->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
105			->setAriaRequired(),
106		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
107		new CColor('severity_color_0', $data['severity_color_0'])
108	])
109	->addRow((new CLabel(_('Information'), 'severity_name_1'))->setAsteriskMark(), [
110		(new CTextBox('severity_name_1', $data['severity_name_1'], false,
111			DB::getFieldLength('config', 'severity_name_1')
112		))
113			->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
114			->setAriaRequired(),
115		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
116		new CColor('severity_color_1', $data['severity_color_1'])
117	])
118	->addRow((new CLabel(_('Warning'), 'severity_name_2'))->setAsteriskMark(), [
119		(new CTextBox('severity_name_2', $data['severity_name_2'], false,
120			DB::getFieldLength('config', 'severity_name_2')
121		))
122			->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
123			->setAriaRequired(),
124		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
125		new CColor('severity_color_2', $data['severity_color_2'])
126	])
127	->addRow((new CLabel(_('Average'), 'severity_name_3'))->setAsteriskMark(), [
128		(new CTextBox('severity_name_3', $data['severity_name_3'], false,
129			DB::getFieldLength('config', 'severity_name_3')
130		))
131			->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
132			->setAriaRequired(),
133		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
134		new CColor('severity_color_3', $data['severity_color_3'])
135	])
136	->addRow((new CLabel(_('High'), 'severity_name_4'))->setAsteriskMark(), [
137		(new CTextBox('severity_name_4', $data['severity_name_4'], false,
138			DB::getFieldLength('config', 'severity_name_4')
139		))
140			->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
141			->setAriaRequired(),
142		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
143		new CColor('severity_color_4', $data['severity_color_4'])
144	])
145	->addRow((new CLabel(_('Disaster'), 'severity_name_5'))->setAsteriskMark(), [
146		(new CTextBox('severity_name_5', $data['severity_name_5'], false,
147			DB::getFieldLength('config', 'severity_name_5')
148		))
149			->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
150			->setAriaRequired(),
151		(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
152		new CColor('severity_color_5', $data['severity_color_5'])
153	])
154	->addRow(null)
155	->addInfo(_('Custom severity names affect all locales and require manual translation!'));
156
157$form = (new CForm())
158	->setAttribute('aria-labeledby', ZBX_STYLE_PAGE_TITLE)
159	->setAction((new CUrl('zabbix.php'))
160		->setArgument('action', 'trigdisplay.update')
161		->getUrl()
162	)
163	->addItem(
164		(new CTabView())
165			->addTab('triggerdo', _('Trigger displaying options'), $form_list)
166			->setFooter(makeFormFooter(
167				new CSubmit('update', _('Update')),
168				[new CButton('resetDefaults', _('Reset defaults'))]
169			))
170	);
171
172$widget->addItem($form)->show();
173