Source
// Trigger API is used to select hostname only for notifications that client cannot recover from cache.
<?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/>.
**/
/**
* Controller class to maintain server-side notification generation tasks.
*/
class CControllerNotificationsGet extends CController {
/**
* @var array
*/
private $notifications = [];
/**
* @var array
*/
private $settings = [];
/**
* @var int
*/
private $timeout_time = 0;
/**
* @var int
*/
private $time_from = 0;
/**
* @var array
*/
private $known_eventids = [];
protected function init(): void {
parent::init();
$this->disableCsrfValidation();
}
protected function checkInput(): bool {
$fields = [
'known_eventids' => 'array_db events.eventid'
];
$ret = $this->validateInput($fields);
if (!$ret) {
$this->setResponse(
new CControllerResponseData(['main_block' => json_encode([
'error' => [