<?php declare(strict_types = 0);
class CControllerPopupImportCompare extends CController {
public const CHANGE_NONE = 0;
public const CHANGE_ADDED = 1;
public const CHANGE_REMOVED = 2;
protected function init() {
$this->disableCsrfValidation();
protected function checkInput(): bool {
'rules_preset' => 'in template',
$ret = $this->validateInput($fields);
(new CControllerResponseData(['main_block' => json_encode([
'messages' => array_column(get_and_clear_messages(), 'message')
protected function checkPermissions(): bool {
$user_type = $this->getUserType();
switch ($this->getInput('rules_preset', '')) {
return ($user_type === USER_TYPE_ZABBIX_ADMIN || $user_type === USER_TYPE_SUPER_ADMIN);
protected function doAction(): void {
'host_groups' => ['updateExisting' => false, 'createMissing' => false],
'template_groups' => ['updateExisting' => false, 'createMissing' => false],
'hosts' => ['updateExisting' => false, 'createMissing' => false],
'templates' => ['updateExisting' => false, 'createMissing' => false],
'templateDashboards' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false],
'templateLinkage' => ['createMissing' => false, 'deleteMissing' => false],
'items' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false],
'discoveryRules' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false],
'triggers' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false],
'graphs' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false],
'httptests' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false],
'maps' => ['updateExisting' => false, 'createMissing' => false],
'images' => ['updateExisting' => false, 'createMissing' => false],
'mediaTypes' => ['updateExisting' => false, 'createMissing' => false],
'valueMaps' => ['updateExisting' => false, 'createMissing' => false, 'deleteMissing' => false]
switch ($this->getInput('rules_preset')) {
$rules['host_groups'] = ['updateExisting' => true, 'createMissing' => true];
$rules['template_groups'] = ['updateExisting' => true, 'createMissing' => true];
$rules['templates'] = ['updateExisting' => true, 'createMissing' => true];
$rules['templateDashboards'] = ['updateExisting' => true, 'createMissing' => true,