<?php declare(strict_types=0);
class CControllerItemList extends CControllerItem {
protected function init() {
$this->disableCsrfValidation();
protected function checkInput(): bool {
'context' => 'required|in host,template',
'filter_groupids' => 'array_db hstgrp.groupid',
'filter_hostids' => 'array_db hosts.hostid',
'filter_name' => 'string',
'filter_key' => 'string',
'filter_valuemapids' => 'array_db valuemap.valuemapid',
'filter_type' => 'in '.implode(',', [-1, ITEM_TYPE_ZABBIX, ITEM_TYPE_ZABBIX_ACTIVE, ITEM_TYPE_SIMPLE, ITEM_TYPE_SNMP, ITEM_TYPE_SNMPTRAP, ITEM_TYPE_INTERNAL, ITEM_TYPE_TRAPPER, ITEM_TYPE_EXTERNAL, ITEM_TYPE_DB_MONITOR, ITEM_TYPE_HTTPAGENT, ITEM_TYPE_IPMI, ITEM_TYPE_SSH, ITEM_TYPE_TELNET, ITEM_TYPE_JMX, ITEM_TYPE_CALCULATED, ITEM_TYPE_DEPENDENT, ITEM_TYPE_SCRIPT]),
'filter_value_type' => 'in '.implode(',', [-1, ITEM_VALUE_TYPE_UINT64, ITEM_VALUE_TYPE_FLOAT, ITEM_VALUE_TYPE_STR, ITEM_VALUE_TYPE_LOG, ITEM_VALUE_TYPE_TEXT, ITEM_VALUE_TYPE_BINARY]),
'filter_snmp_oid' => 'string',
'filter_history' => 'string',
'filter_trends' => 'string',
'filter_delay' => 'string',
'filter_evaltype' => 'in '.implode(',', [TAG_EVAL_TYPE_AND_OR, TAG_EVAL_TYPE_OR]),
'filter_tags' => 'array',
'filter_state' => 'in '.implode(',', [-1, ITEM_STATE_NORMAL, ITEM_STATE_NOTSUPPORTED]),
'filter_status' => 'in '.implode(',', [-1, ITEM_STATUS_ACTIVE, ITEM_STATUS_DISABLED]),
'filter_with_triggers' => 'in -1,0,1',
'filter_inherited' => 'in -1,0,1',
'filter_discovered' => 'in '.implode(',', [-1, ZBX_FLAG_DISCOVERY_CREATED, ZBX_FLAG_DISCOVERY_NORMAL]),
'subfilter_types' => 'array',
'subfilter_value_types' => 'array',
'subfilter_status' => 'array',
'subfilter_state' => 'array',
'subfilter_inherited' => 'array',
'subfilter_with_triggers' => 'array',
'subfilter_discovered' => 'array',
'subfilter_hosts' => 'array',
'subfilter_interval' => 'array',
'subfilter_history' => 'array',
'subfilter_trends' => 'array',
'subfilter_tags' => 'array',
'sort' => 'in name,key_,delay,history,trends,type,status',