Source
* @param array $graphs An array of graphs to inherit. Each graph must contain all graph properties including
<?php
/*
** 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 containing methods for operations with graphs.
*/
abstract class CGraphGeneral extends CApiService {
public const ACCESS_RULES = [
'get' => ['min_user_type' => USER_TYPE_ZABBIX_USER],
'create' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'update' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN],
'delete' => ['min_user_type' => USER_TYPE_ZABBIX_ADMIN]
];
const ERROR_TEMPLATE_HOST_MIX = 'templateHostMix';
const ERROR_MISSING_GRAPH_NAME = 'missingGraphName';
const ERROR_MISSING_GRAPH_ITEMS = 'missingGraphItems';
const ERROR_MISSING_REQUIRED_VALUE = 'missingRequiredValue';
const ERROR_GRAPH_SUM = 'graphSum';
/**
* Update graphs.
*
* @param array $graphs
*
* @return array
*/
public function update(array $graphs) {
$graphs = zbx_toArray($graphs);
$graphids = array_column($graphs, 'graphid');
$graphs = $this->extendObjects($this->tableName(), $graphs,
['name', 'graphtype', 'ymin_type', 'ymin_itemid', 'ymax_type', 'ymax_itemid', 'yaxismin', 'yaxismax']
);
$db_graphs = $this->get([
'output' => API_OUTPUT_EXTEND,
'selectGraphItems' => ['gitemid', 'itemid', 'drawtype', 'sortorder', 'color', 'yaxisside', 'calc_fnc',
'type'
],
'graphids' => $graphids,
'editable' => true,
'preservekeys' => true,
'inherited' => false