Source
// An empty field set or invalid output method (string). Select only "itemid" instead of everything.
<?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 containing methods for operations with trends.
*/
class CTrend extends CApiService {
public const ACCESS_RULES = [
'get' => ['min_user_type' => USER_TYPE_ZABBIX_USER]
];
public function __construct() {
// the parent::__construct() method should not be called.
}
/**
* Get trend data.
*
* @param array $options
* @param int $options['time_from']
* @param int $options['time_till']
* @param int $options['limit']
* @param string $options['order']
*
* @return array|int trend data as array or false if error
*/
public function get($options = []) {
$default_options = [
'itemids' => null,
// filter
'time_from' => null,
'time_till' => null,
// output
'output' => API_OUTPUT_EXTEND,
'countOutput' => false,
'limit' => null
];
$options = zbx_array_merge($default_options, $options);
$storage_items = [];
$result = ($options['countOutput']) ? 0 : [];
if ($options['itemids'] === null || $options['itemids']) {
// Check if items have read permissions.
$items = API::Item()->get([
'output' => ['itemid', 'value_type'],
'itemids' => $options['itemids'],
'webitems' => true,