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 * Graph prototype 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// Source. 38$form_list->addRow( 39 CWidgetHelper::getLabel($fields['source_type']), 40 CWidgetHelper::getRadioButtonList($fields['source_type']) 41); 42 43// Graph prototype. 44if (array_key_exists('graphid', $fields)) { 45 $field_graphid = CWidgetHelper::getGraphPrototype($fields['graphid'], 46 $data['captions']['ms']['graph_prototypes']['graphid'], $form->getName() 47 ); 48 $form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['graphid']), $field_graphid); 49 $scripts[] = $field_graphid->getPostJS(); 50} 51 52// Item prototype. 53if (array_key_exists('itemid', $fields)) { 54 $field_itemid = CWidgetHelper::getItemPrototype($fields['itemid'], 55 $data['captions']['ms']['item_prototypes']['itemid'], $form->getName() 56 ); 57 $form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['itemid']), $field_itemid); 58 $scripts[] = $field_itemid->getPostJS(); 59} 60 61// Show legend. 62$form_list->addRow(CWidgetHelper::getLabel($fields['show_legend']), CWidgetHelper::getCheckBox($fields['show_legend'])); 63 64// Dynamic item. 65if ($data['templateid'] === null) { 66 $form_list->addRow(CWidgetHelper::getLabel($fields['dynamic']), CWidgetHelper::getCheckBox($fields['dynamic'])); 67} 68 69// Columns and Rows. 70CWidgetHelper::addIteratorFields($form_list, $fields['columns'], $fields['rows']); 71 72$form->addItem($form_list); 73 74return [ 75 'form' => $form, 76 'scripts' => $scripts 77]; 78