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