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 * Problem hosts widget form view. 24 */ 25$fields = $data['dialogue']['fields']; 26 27$form = CWidgetHelper::createForm(); 28 29$form_list = CWidgetHelper::createFormList($data['dialogue']['name'], $data['dialogue']['type'], 30 $data['known_widget_types'], $fields['rf_rate'] 31); 32 33$scripts = []; 34 35// Host groups. 36$field_groupids = CWidgetHelper::getGroup($fields['groupids'], 37 $data['captions']['ms']['groups']['groupids'], 38 $form->getName() 39); 40$form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['groupids']), $field_groupids); 41$scripts[] = $field_groupids->getPostJS(); 42 43// Exclude host groups. 44$field_exclude_groupids = CWidgetHelper::getGroup($fields['exclude_groupids'], 45 $data['captions']['ms']['groups']['exclude_groupids'], 46 $form->getName() 47); 48$form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['exclude_groupids']), $field_exclude_groupids); 49$scripts[] = $field_exclude_groupids->getPostJS(); 50 51// Hosts. 52$field_hostids = CWidgetHelper::getHost($fields['hostids'], 53 $data['captions']['ms']['hosts']['hostids'], 54 $form->getName() 55); 56$form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['hostids']), $field_hostids); 57$scripts[] = $field_hostids->getPostJS(); 58 59// Problem. 60$form_list->addRow(CWidgetHelper::getLabel($fields['problem']), CWidgetHelper::getTextBox($fields['problem'])); 61 62// Severity. 63$form_list->addRow( 64 CWidgetHelper::getLabel($fields['severities']), 65 CWidgetHelper::getSeverities($fields['severities'], $data['config']) 66); 67 68// Show suppressed problems. 69$form_list->addRow(CWidgetHelper::getLabel($fields['show_suppressed']), 70 CWidgetHelper::getCheckBox($fields['show_suppressed']) 71); 72 73// Hide groups without problems. 74$form_list->addRow( 75 CWidgetHelper::getLabel($fields['hide_empty_groups']), 76 CWidgetHelper::getCheckBox($fields['hide_empty_groups']) 77); 78 79// Problem display. 80$form_list->addRow(CWidgetHelper::getLabel($fields['ext_ack']), CWidgetHelper::getRadioButtonList($fields['ext_ack'])); 81 82$form->addItem($form_list); 83 84return [ 85 'form' => $form, 86 'scripts' => $scripts 87]; 88