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 * Map 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// Map widget reference. 36$field = $fields[CWidgetFieldReference::FIELD_NAME]; 37$form->addVar($field->getName(), $field->getValue()); 38 39if ($field->getValue() === '') { 40 $scripts[] = $field->getJavascript('#'.$form->getAttribute('id')); 41} 42 43// Source. 44$form_list->addRow( 45 CWidgetHelper::getLabel($fields['source_type']), 46 CWidgetHelper::getRadioButtonList($fields['source_type']) 47); 48 49// Filter. 50if (array_key_exists('filter_widget_reference', $fields)) { 51 $form_list->addRow( 52 CWidgetHelper::getLabel($fields['filter_widget_reference']), 53 CWidgetHelper::getEmptyComboBox($fields['filter_widget_reference']) 54 ); 55 $scripts[] = $fields['filter_widget_reference']->getJavascript(); 56} 57 58// Map. 59if (array_key_exists('sysmapid', $fields)) { 60 $field = $fields['sysmapid']; 61 62 $form->addVar($field->getName(), $field->getValue()); 63 64 $field_sysmapid = CWidgetHelper::getSelectResource($field, 65 ($field->getValue() != 0) ? $data['captions']['simple'][$field->getResourceType()][$field->getValue()] : '', 66 $form->getName() 67 ); 68 $form_list->addRow(CWidgetHelper::getLabel($field), $field_sysmapid); 69} 70 71$form->addItem($form_list); 72 73return [ 74 'form' => $form, 75 'scripts' => $scripts 76]; 77