Source
'popup.scheduledreport.subscription.edit' => ['CControllerPopupScheduledReportSubscriptionEdit', 'layout.json', 'popup.scheduledreport.subscription'],
<?php declare(strict_types = 0);
/*
** Zabbix
** Copyright (C) 2001-2023 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** 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 General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
class CRouter {
/**
* Layout used for view rendering.
*/
private ?string $layout = null;
/**
* Controller class for action handling.
*/
private ?string $controller = null;
/**
* View used to generate HTML, CSV, JSON and other content.
*/
private ?string $view = null;
/**
* Unique action (request) identifier.
*/
private ?string $action = null;
/**
* Mapping between action and corresponding controller, layout and view.
*/
private array $routes = [
// action controller layout view
'action.create' => ['CControllerActionCreate', 'layout.json', null],
'action.delete' => ['CControllerActionDelete', 'layout.json', null],
'action.disable' => ['CControllerActionDisable', 'layout.json', null],
'action.enable' => ['CControllerActionEnable', 'layout.json', null],
'action.list' => ['CControllerActionList', 'layout.htmlpage', 'action.list'],
'action.operation.check' => ['CControllerActionOperationCheck', 'layout.json', null],
'action.operation.condition.check' => ['CControllerActionOperationConditionCheck', 'layout.json', null],
'action.update' => ['CControllerActionUpdate', 'layout.json', null],
'actionlog.csv' => ['CControllerActionLogList', 'layout.csv', 'reports.actionlog.list.csv'],
'actionlog.list' => ['CControllerActionLogList', 'layout.htmlpage', 'reports.actionlog.list'],
'audit.settings.edit' => ['CControllerAuditSettingsEdit', 'layout.htmlpage', 'administration.audit.settings.edit'],
'audit.settings.update' => ['CControllerAuditSettingsUpdate', null, null],
'auditlog.list' => ['CControllerAuditLogList', 'layout.htmlpage', 'reports.auditlog.list'],
'authentication.edit' => ['CControllerAuthenticationEdit', 'layout.htmlpage', 'administration.authentication.edit'],
'authentication.update' => ['CControllerAuthenticationUpdate', null, null],
'autoreg.edit' => ['CControllerAutoregEdit', 'layout.htmlpage', 'administration.autoreg.edit'],