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 22class CControllerIconMapCreate extends CController { 23 24 protected function checkInput() { 25 $fields = [ 26 'iconmap' => 'required | array' 27 ]; 28 29 $ret = $this->validateInput($fields); 30 31 if (!$ret) { 32 $this->setResponse(new CControllerResponseFatal()); 33 } 34 35 return $ret; 36 } 37 38 protected function checkPermissions() { 39 return ($this->getUserType() == USER_TYPE_SUPER_ADMIN); 40 } 41 42 protected function doAction() { 43 $result = (bool) API::IconMap()->create((array) $this->getInput('iconmap')); 44 45 if ($result) { 46 $response = new CControllerResponseRedirect((new CUrl('zabbix.php')) 47 ->setArgument('action', 'iconmap.list') 48 ); 49 $response->setMessageOk(_('Icon map created')); 50 } 51 else { 52 $response = new CControllerResponseRedirect((new CUrl('zabbix.php')) 53 ->setArgument('action', 'iconmap.edit') 54 ); 55 $response->setFormData($this->getInputAll()); 56 $response->setMessageError(_('Cannot create icon map')); 57 } 58 59 $this->setResponse($response); 60 } 61} 62