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 * Widget Field for numeric data. 24 */ 25class CWidgetFieldNumericBox extends CWidgetField { 26 27 private $placeholder; 28 private $width; 29 30 /** 31 * A numeric box widget field. 32 * Supported signed decimal values with suffix (KMGTsmhdw). 33 * 34 * @param string $name field name in form 35 * @param string $label label for the field in form 36 */ 37 public function __construct($name, $label) { 38 parent::__construct($name, $label); 39 40 $this->setSaveType(ZBX_WIDGET_FIELD_TYPE_STR); 41 $this->setValidationRules(['type' => API_NUMERIC, 'length' => 255]); 42 $this->setDefault(''); 43 } 44 45 public function getMaxLength() { 46 return strlen((string) $this->max); 47 } 48 49 public function setPlaceholder($placeholder) { 50 $this->placeholder = $placeholder; 51 52 return $this; 53 } 54 55 public function getPlaceholder() { 56 return $this->placeholder; 57 } 58 59 public function setWidth($width) { 60 $this->width = $width; 61 62 return $this; 63 } 64 65 public function getWidth() { 66 return $this->width; 67 } 68} 69