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$this->includeJSfile('app/views/monitoring.acknowledge.edit.js.php'); 23 24$form_list = (new CFormList()) 25 ->addRow(_('Message'), 26 (new CTextArea('message')) 27 ->setWidth(ZBX_TEXTAREA_BIG_WIDTH) 28 ->setMaxLength(255) 29 ->setAttribute('autofocus', 'autofocus') 30 ); 31 32if (array_key_exists('event', $data)) { 33 $acknowledgesTable = (new CTable()) 34 ->setAttribute('style', 'width: 100%;') 35 ->setHeader([_('Time'), _('User'), _('Message')]); 36 37 foreach ($data['event']['acknowledges'] as $acknowledge) { 38 $acknowledgesTable->addRow([ 39 (new CCol(zbx_date2str(DATE_TIME_FORMAT_SECONDS, $acknowledge['clock'])))->addClass(ZBX_STYLE_NOWRAP), 40 (new CCol(array_key_exists('alias', $acknowledge) 41 ? getUserFullname($acknowledge) 42 : _('Inaccessible user') 43 ))->addClass(ZBX_STYLE_NOWRAP), 44 zbx_nl2br($acknowledge['message']) 45 ]); 46 } 47 48 $form_list->addRow(_('History'), 49 (new CDiv($acknowledgesTable)) 50 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 51 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;') 52 ); 53} 54 55$selected_events = count($data['eventids']); 56 57$form_list->addRow(_('Acknowledge'), 58 (new CDiv( 59 (new CRadioButtonList('acknowledge_type', (int) $data['acknowledge_type'])) 60 ->makeVertical() 61 ->addValue([ 62 _n('Only selected event', 'Only selected events', $selected_events), 63 $selected_events > 1 ? (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN) : null, 64 $selected_events > 1 ? new CSup(_n('%1$s event', '%1$s events', $selected_events)) : null 65 ], ZBX_ACKNOWLEDGE_SELECTED) 66 ->addValue([ 67 _('Selected and all unacknowledged PROBLEM events'), 68 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 69 new CSup(_n('%1$s event', '%1$s events', $data['unack_problem_events_count'])) 70 ], ZBX_ACKNOWLEDGE_PROBLEM) 71 ->addValue([ 72 _('Selected and all unacknowledged events'), 73 (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), 74 new CSup(_n('%1$s event', '%1$s events', $data['unack_events_count'])) 75 ], ZBX_ACKNOWLEDGE_ALL) 76 )) 77 ->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;') 78 ->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR) 79); 80 81$footer_buttons = makeFormFooter( 82 new CSubmitButton(_('Acknowledge'), 'action', 'acknowledge.create'), 83 [new CRedirectButton(_('Cancel'), $data['backurl'])] 84); 85 86(new CWidget()) 87 ->setTitle(_('Alarm acknowledgements')) 88 ->addItem( 89 (new CForm()) 90 ->setId('acknowledge_form') 91 ->addVar('eventids', $data['eventids']) 92 ->addVar('backurl', $data['backurl']) 93 ->addItem( 94 (new CTabView()) 95 ->addTab('ackTab', null, $form_list) 96 ->setFooter($footer_buttons) 97 ) 98 ) 99 ->show(); 100