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 * A class for creating buttons that redirect you to a different page. 24 */ 25class CRedirectButton extends CSimpleButton { 26 27 /** 28 * @param string $caption 29 * @param string $url URL to redirect to 30 * @param string $confirmation confirmation message text 31 * @param string $class 32 */ 33 public function __construct($caption, $url, $confirmation = null) { 34 parent::__construct($caption); 35 36 $this->setUrl($url, $confirmation); 37 } 38 39 /** 40 * Set the URL and confirmation message. 41 * 42 * If the confirmation is set, a confirmation pop up will appear before redirecting to the URL. 43 * 44 * @param string $url 45 * @param string|null $confirmation 46 * 47 */ 48 public function setUrl($url, $confirmation = null) { 49 $this->setAttribute('data-url', $url); 50 51 if ($confirmation !== null) { 52 $this->setAttribute('data-confirmation', $confirmation); 53 } 54 return $this; 55 } 56} 57