Source
'popup.scheduledreport.subscription.edit' => ['CControllerPopupScheduledReportSubscriptionEdit', 'layout.json', 'popup.scheduledreport.subscription'],
<?php declare(strict_types = 1);
/*
** Zabbix
** Copyright (C) 2001-2022 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.
*
* @var string
*/
private $layout = null;
/**
* Controller class for action handling.
*
* @var string
*/
private $controller = null;
/**
* View used to generate HTML, CSV, JSON and other content.
*
* @var string
*/
private $view = null;
/**
* Unique action (request) identifier.
*
* @var string
*/
private $action = null;
/**
* Mapping between action and corresponding controller, layout and view.
*
* @var array
*/
private $routes = [
// action controller layout view
'action.operation.get' => ['CControllerActionOperationGet', 'layout.json', null],
'action.operation.validate' => ['CControllerActionOperationValidate', 'layout.json', null],
'auditlog.list' => ['CControllerAuditLogList', 'layout.htmlpage', 'reports.auditlog.list'],
'audit.settings.edit' => ['CControllerAuditSettingsEdit', 'layout.htmlpage', 'administration.audit.settings.edit'],
'audit.settings.update' => ['CControllerAuditSettingsUpdate', null, null],
'authentication.edit' => ['CControllerAuthenticationEdit', 'layout.htmlpage', 'administration.authentication.edit'],
'authentication.update' => ['CControllerAuthenticationUpdate', null, null],
'autoreg.edit' => ['CControllerAutoregEdit', 'layout.htmlpage', 'administration.autoreg.edit'],
'autoreg.update' => ['CControllerAutoregUpdate', null, null],
'charts.view' => ['CControllerChartsView', 'layout.htmlpage', 'monitoring.charts.view'],
'charts.view.json' => ['CControllerChartsViewJson', 'layout.json', 'monitoring.charts.view.json'],
'correlation.condition.add' => ['CControllerCorrelationConditionAdd', null, null],
'correlation.create' => ['CControllerCorrelationCreate', null, null],
'correlation.delete' => ['CControllerCorrelationDelete', null, null],
'correlation.disable' => ['CControllerCorrelationDisable', null, null],
'correlation.edit' => ['CControllerCorrelationEdit', 'layout.htmlpage', 'configuration.correlation.edit'],
'correlation.enable' => ['CControllerCorrelationEnable', null, null],
'correlation.list' => ['CControllerCorrelationList', 'layout.htmlpage', 'configuration.correlation.list'],
'correlation.update' => ['CControllerCorrelationUpdate', null, null],
'dashboard.delete' => ['CControllerDashboardDelete', null, null],
'dashboard.list' => ['CControllerDashboardList', 'layout.htmlpage', 'monitoring.dashboard.list'],
'dashboard.page.properties.check' => ['CControllerDashboardPagePropertiesCheck', 'layout.json', null],
'dashboard.page.properties.edit' => ['CControllerDashboardPagePropertiesEdit', 'layout.json', 'dashboard.page.properties.edit'],
'dashboard.print' => ['CControllerDashboardPrint', 'layout.htmlpage', 'monitoring.dashboard.print'],
'dashboard.properties.check' => ['CControllerDashboardPropertiesCheck', 'layout.json', null],
'dashboard.properties.edit' => ['CControllerDashboardPropertiesEdit', 'layout.json', 'dashboard.properties.edit'],
'dashboard.share.update' => ['CControllerDashboardShareUpdate', 'layout.json', null],
'dashboard.update' => ['CControllerDashboardUpdate', 'layout.json', null],
'dashboard.view' => ['CControllerDashboardView', 'layout.htmlpage', 'monitoring.dashboard.view'],
'dashboard.widget.check' => ['CControllerDashboardWidgetCheck', 'layout.json', null],
'dashboard.widget.configure' => ['CControllerDashboardWidgetConfigure', 'layout.json', null],
'dashboard.widget.edit' => ['CControllerDashboardWidgetEdit', 'layout.json', 'monitoring.dashboard.widget.edit'],
'dashboard.widget.rfrate' => ['CControllerDashboardWidgetRfRate', 'layout.json', null],
'dashboard.widgets.sanitize' => ['CControllerDashboardWidgetsSanitize', 'layout.json', null],