Source
<?php
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
/**
* Class manages popup forwarding when popup is opened with 'popup' action.
*/
class CControllerPopup extends CController {
/**
* List of supported popups.
*/
protected array $supported_popups;
/**
* Controller instance of the popup.
*/
protected CController $popup_controller;
/**
* Current action name.
*/
private string $action;
protected function init() {
$this->disableCsrfValidation();
$this->supported_popups = [
'acknowledge.edit' => _('Update problem'),
'action.edit' => _('Action edit'),
'connector.edit' => _('Connector edit'),
'correlation.edit' => _('Correlation edit'),
'discovery.edit' => _('Discovery rule edit'),
'graph.edit' => _('Graph edit'),
'graph.prototype.edit' => _('Graph prototype edit'),
'host.edit' => _('Host edit'),
'hostgroup.edit' => _('Host group edit'),
'item.edit' => _('Item edit'),
'item.prototype.edit' => _('Item prototype edit'),
'maintenance.edit' => _('Maintenance edit'),
'mediatype.edit' => _('Media type edit'),
'module.edit' => _('Module edit'),
'proxy.edit' => _('Proxy edit'),
'proxygroup.edit' => _('Proxy group edit'),
'templategroup.edit' => _('Template group edit'),
'script.edit' => _('Script edit'),
'service.edit' => _('Service edit'),
'sla.edit' => _('SLA edit'),
'template.edit' => _('Template edit'),
'token.edit' => _('Token edit'),
'trigger.edit' => _('Trigger edit'),