Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/ui/app
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app')
-rw-r--r--ui/app/controllers/CControllerDashboardView.php7
-rw-r--r--ui/app/controllers/CControllerMenuPopup.php5
-rw-r--r--ui/app/controllers/CControllerPopupGeneric.php4
-rw-r--r--ui/app/controllers/CControllerPopupMassupdateHost.php22
-rw-r--r--ui/app/controllers/CControllerPopupMassupdateItem.php39
-rw-r--r--ui/app/controllers/CControllerPopupValueMapEdit.php2
-rw-r--r--ui/app/controllers/CControllerPopupValueMapUpdate.php2
-rw-r--r--ui/app/controllers/CControllerProxyHostDisable.php2
-rw-r--r--ui/app/controllers/CControllerProxyHostEnable.php2
-rw-r--r--ui/app/controllers/CControllerTokenCreate.php2
-rw-r--r--ui/app/controllers/CControllerTokenDelete.php2
-rw-r--r--ui/app/controllers/CControllerTokenDisable.php2
-rw-r--r--ui/app/controllers/CControllerTokenEdit.php2
-rw-r--r--ui/app/controllers/CControllerTokenEnable.php2
-rw-r--r--ui/app/controllers/CControllerTokenList.php2
-rw-r--r--ui/app/controllers/CControllerTokenUpdate.php2
-rw-r--r--ui/app/controllers/CControllerTokenView.php2
-rw-r--r--ui/app/controllers/CControllerUserTokenEdit.php2
-rw-r--r--ui/app/controllers/CControllerUserTokenList.php2
-rw-r--r--ui/app/controllers/CControllerUserTokenView.php2
-rw-r--r--ui/app/partials/configuration.tags.tab.php2
-rw-r--r--ui/app/partials/configuration.valuemap.php2
-rw-r--r--ui/app/partials/hostmacros.inherited.list.html.php4
-rw-r--r--ui/app/partials/js/configuration.tags.tab.js.php11
-rw-r--r--ui/app/partials/js/configuration.valuemap.js.php2
-rw-r--r--ui/app/partials/massupdate.valuemaps.tab.php2
-rw-r--r--ui/app/views/administration.token.edit.php2
-rw-r--r--ui/app/views/administration.token.list.php2
-rw-r--r--ui/app/views/administration.token.view.php2
-rw-r--r--ui/app/views/administration.user.token.edit.php2
-rw-r--r--ui/app/views/administration.user.token.list.php2
-rw-r--r--ui/app/views/administration.user.token.view.php2
-rw-r--r--ui/app/views/js/administration.token.edit.js.php2
-rw-r--r--ui/app/views/js/administration.token.list.js.php2
-rw-r--r--ui/app/views/js/administration.user.token.edit.js.php2
-rw-r--r--ui/app/views/js/administration.user.token.list.js.php2
-rw-r--r--ui/app/views/js/popup.massupdate.tmpl.js.php2
-rw-r--r--ui/app/views/js/popup.scriptexec.js.php2
-rw-r--r--ui/app/views/js/popup.valuemap.edit.js.php2
-rw-r--r--ui/app/views/popup.valuemap.edit.php2
40 files changed, 85 insertions, 73 deletions
diff --git a/ui/app/controllers/CControllerDashboardView.php b/ui/app/controllers/CControllerDashboardView.php
index 4f67ba0ab80..23366703276 100644
--- a/ui/app/controllers/CControllerDashboardView.php
+++ b/ui/app/controllers/CControllerDashboardView.php
@@ -33,7 +33,8 @@ class CControllerDashboardView extends CController {
'new' => 'in 1',
'cancel' => 'in 1',
'from' => 'range_time',
- 'to' => 'range_time'
+ 'to' => 'range_time',
+ 'slideshow' => 'in 1'
];
$ret = $this->validateInput($fields) && $this->validateTimeSelectorPeriod();
@@ -86,6 +87,10 @@ class CControllerDashboardView extends CController {
return;
}
+ if ($this->hasInput('slideshow')) {
+ $dashboard['auto_start'] = '1';
+ }
+
$dashboard['can_edit_dashboards'] = $this->checkAccess(CRoleHelper::ACTIONS_EDIT_DASHBOARDS);
$dashboard['can_view_reports'] = $this->checkAccess(CRoleHelper::UI_REPORTS_SCHEDULED_REPORTS);
$dashboard['can_create_reports'] = $this->checkAccess(CRoleHelper::ACTIONS_MANAGE_SCHEDULED_REPORTS);
diff --git a/ui/app/controllers/CControllerMenuPopup.php b/ui/app/controllers/CControllerMenuPopup.php
index e7bb29ea293..71fc3d898c8 100644
--- a/ui/app/controllers/CControllerMenuPopup.php
+++ b/ui/app/controllers/CControllerMenuPopup.php
@@ -620,7 +620,8 @@ class CControllerMenuPopup extends CController {
$menu_data['urls'][] = [
'label' => $url['name'],
'url' => $url['url'],
- 'target' => '_blank'
+ 'target' => '_blank',
+ 'rel' => 'noopener'.(ZBX_NOREFERER ? ' noreferrer' : '')
];
}
}
@@ -632,7 +633,7 @@ class CControllerMenuPopup extends CController {
$url['url'] = 'javascript: alert(\''.
_s('Provided URL "%1$s" is invalid.', zbx_jsvalue($url['url'], false, false)).
'\');';
- unset($url['target']);
+ unset($url['target'], $url['rel']);
}
}
unset($url);
diff --git a/ui/app/controllers/CControllerPopupGeneric.php b/ui/app/controllers/CControllerPopupGeneric.php
index 619223b5025..a8cb01cd435 100644
--- a/ui/app/controllers/CControllerPopupGeneric.php
+++ b/ui/app/controllers/CControllerPopupGeneric.php
@@ -616,7 +616,7 @@ class CControllerPopupGeneric extends CController {
$host_options['templated_hosts'] = 1;
$group_options['templated_hosts'] = 1;
}
- elseif ($this->source_table !== 'templates') {
+ elseif ($this->source_table !== 'templates' && $this->source_table !== 'host_templates') {
$group_options['with_hosts_and_templates'] = 1;
}
@@ -645,7 +645,7 @@ class CControllerPopupGeneric extends CController {
? API::HostGroup()->get([
'output' => ['name', 'groupid'],
'groupids' => $this->groupids
- ] + $group_options)
+ ])
: [];
$filter['groups'] = [
diff --git a/ui/app/controllers/CControllerPopupMassupdateHost.php b/ui/app/controllers/CControllerPopupMassupdateHost.php
index 45463f60662..4c39dc6b0c1 100644
--- a/ui/app/controllers/CControllerPopupMassupdateHost.php
+++ b/ui/app/controllers/CControllerPopupMassupdateHost.php
@@ -118,7 +118,7 @@ class CControllerPopupMassupdateHost extends CControllerPopupMassupdateAbstract
// filter only normal and discovery created hosts
$options = [
- 'output' => ['hostid', 'inventory_mode'],
+ 'output' => ['hostid', 'inventory_mode', 'flags'],
'hostids' => $hostids,
'filter' => ['flags' => [ZBX_FLAG_DISCOVERY_NORMAL, ZBX_FLAG_DISCOVERY_CREATED]]
];
@@ -289,7 +289,12 @@ class CControllerPopupMassupdateHost extends CControllerPopupMassupdateAbstract
}
}
- if (array_key_exists('inventory_mode', $new_values)) {
+ /*
+ * Inventory mode cannot be changed for discovered hosts. If discovered host has disabled inventory
+ * mode, inventory values also cannot be changed.
+ */
+ if (array_key_exists('inventory_mode', $new_values)
+ && $host['flags'] != ZBX_FLAG_DISCOVERY_CREATED) {
$host['inventory'] = $host_inventory;
}
elseif ($host['inventory_mode'] != HOST_INVENTORY_DISABLED) {
@@ -407,10 +412,21 @@ class CControllerPopupMassupdateHost extends CControllerPopupMassupdateAbstract
unset($host['parentTemplates']);
$host = $new_values + $host;
+
+ /*
+ * API prevents changing host inventory_mode for discovered hosts. However, inventory values can
+ * still be updated if inventory mode allows it.
+ */
+ if ($host['flags'] == ZBX_FLAG_DISCOVERY_CREATED) {
+ unset($host['inventory_mode']);
+ }
+ unset($host['flags']);
}
unset($host);
- if (!API::Host()->update($hosts)) {
+ $result = $hosts ? (bool) API::Host()->update($hosts) : true;
+
+ if ($result === false) {
throw new Exception();
}
diff --git a/ui/app/controllers/CControllerPopupMassupdateItem.php b/ui/app/controllers/CControllerPopupMassupdateItem.php
index 2a5238468ca..18899536588 100644
--- a/ui/app/controllers/CControllerPopupMassupdateItem.php
+++ b/ui/app/controllers/CControllerPopupMassupdateItem.php
@@ -97,26 +97,6 @@ class CControllerPopupMassupdateItem extends CController {
}
/**
- * Get array of updated items or item prototypes hosts or templates.
- *
- * @return array
- */
- protected function getHostsOrTemplates(): array {
- $options = ['itemids' => $this->getInput('ids')];
-
- if ($this->getInput('context') === 'host') {
- $options['output'] = ['hostid'];
- $result = API::Host()->get($options);
- }
- else {
- $options['output'] = ['templateid'];
- $result = CArrayHelper::renameObjectsKeys(API::Template()->get($options), ['templateid' => 'hostid']);
- }
-
- return $result;
- }
-
- /**
* Get array of updated items or item prototypes.
*
* @return array
@@ -248,17 +228,16 @@ class CControllerPopupMassupdateItem extends CController {
}
}
- $hosts = $this->getHostsOrTemplates();
-
- if ($prototype && $hosts) {
- throw new Exception();
- }
-
if (array_key_exists('headers', $input) && $input['headers']) {
- $headers = (count($input['headers']['name']) == count($input['headers']['value']))
- ? array_combine($input['headers']['name'], $input['headers']['value'])
- : [];
- $input['headers'] = array_filter($headers, 'strlen');
+ $input['headers']['value'] += array_fill_keys(array_keys($input['headers']['name']), '');
+
+ $headers = [];
+ foreach ($input['headers']['name'] as $i => $header_name) {
+ if ($header_name !== '' || $input['headers']['value'][$i] !== '') {
+ $headers[$header_name] = $input['headers']['value'][$i];
+ }
+ }
+ $input['headers'] = $headers;
}
if (array_key_exists('preprocessing', $input) && $input['preprocessing']) {
diff --git a/ui/app/controllers/CControllerPopupValueMapEdit.php b/ui/app/controllers/CControllerPopupValueMapEdit.php
index 9a2c89d2491..9f5e6fb16f0 100644
--- a/ui/app/controllers/CControllerPopupValueMapEdit.php
+++ b/ui/app/controllers/CControllerPopupValueMapEdit.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerPopupValueMapUpdate.php b/ui/app/controllers/CControllerPopupValueMapUpdate.php
index 19631a8b8b9..ddf4a857427 100644
--- a/ui/app/controllers/CControllerPopupValueMapUpdate.php
+++ b/ui/app/controllers/CControllerPopupValueMapUpdate.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerProxyHostDisable.php b/ui/app/controllers/CControllerProxyHostDisable.php
index 0048a636d75..990da67cb7b 100644
--- a/ui/app/controllers/CControllerProxyHostDisable.php
+++ b/ui/app/controllers/CControllerProxyHostDisable.php
@@ -63,7 +63,7 @@ class CControllerProxyHostDisable extends CController {
}
unset($host);
- $result = API::Host()->update($hosts);
+ $result = $hosts ? (bool) API::Host()->update($hosts) : true;
$updated = count($hosts);
diff --git a/ui/app/controllers/CControllerProxyHostEnable.php b/ui/app/controllers/CControllerProxyHostEnable.php
index ef255370d24..6a21002ed39 100644
--- a/ui/app/controllers/CControllerProxyHostEnable.php
+++ b/ui/app/controllers/CControllerProxyHostEnable.php
@@ -63,7 +63,7 @@ class CControllerProxyHostEnable extends CController {
}
unset($host);
- $result = API::Host()->update($hosts);
+ $result = $hosts ? (bool) API::Host()->update($hosts) : true;
$updated = count($hosts);
diff --git a/ui/app/controllers/CControllerTokenCreate.php b/ui/app/controllers/CControllerTokenCreate.php
index 92ac2f22402..bc13de41130 100644
--- a/ui/app/controllers/CControllerTokenCreate.php
+++ b/ui/app/controllers/CControllerTokenCreate.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenDelete.php b/ui/app/controllers/CControllerTokenDelete.php
index 5763f0ceaa8..e72432b1c0d 100644
--- a/ui/app/controllers/CControllerTokenDelete.php
+++ b/ui/app/controllers/CControllerTokenDelete.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenDisable.php b/ui/app/controllers/CControllerTokenDisable.php
index dc68bd3ec8a..a21c0c6ecd9 100644
--- a/ui/app/controllers/CControllerTokenDisable.php
+++ b/ui/app/controllers/CControllerTokenDisable.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenEdit.php b/ui/app/controllers/CControllerTokenEdit.php
index 3d12c1bcb57..b038016865d 100644
--- a/ui/app/controllers/CControllerTokenEdit.php
+++ b/ui/app/controllers/CControllerTokenEdit.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenEnable.php b/ui/app/controllers/CControllerTokenEnable.php
index 1f6381b2ba6..303c21f4533 100644
--- a/ui/app/controllers/CControllerTokenEnable.php
+++ b/ui/app/controllers/CControllerTokenEnable.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenList.php b/ui/app/controllers/CControllerTokenList.php
index 2c4095f44ea..5426605d35d 100644
--- a/ui/app/controllers/CControllerTokenList.php
+++ b/ui/app/controllers/CControllerTokenList.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenUpdate.php b/ui/app/controllers/CControllerTokenUpdate.php
index e0503e57d1a..b5eca4a57a2 100644
--- a/ui/app/controllers/CControllerTokenUpdate.php
+++ b/ui/app/controllers/CControllerTokenUpdate.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerTokenView.php b/ui/app/controllers/CControllerTokenView.php
index 031fe34e772..d1bc4e83e57 100644
--- a/ui/app/controllers/CControllerTokenView.php
+++ b/ui/app/controllers/CControllerTokenView.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerUserTokenEdit.php b/ui/app/controllers/CControllerUserTokenEdit.php
index 5ed65e3c5d4..c9d237397bf 100644
--- a/ui/app/controllers/CControllerUserTokenEdit.php
+++ b/ui/app/controllers/CControllerUserTokenEdit.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerUserTokenList.php b/ui/app/controllers/CControllerUserTokenList.php
index 6f7e7b1be94..9e3c2e88ae1 100644
--- a/ui/app/controllers/CControllerUserTokenList.php
+++ b/ui/app/controllers/CControllerUserTokenList.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/controllers/CControllerUserTokenView.php b/ui/app/controllers/CControllerUserTokenView.php
index d49d03f4419..a573e41f4eb 100644
--- a/ui/app/controllers/CControllerUserTokenView.php
+++ b/ui/app/controllers/CControllerUserTokenView.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/partials/configuration.tags.tab.php b/ui/app/partials/configuration.tags.tab.php
index 2c4fafed6e6..10a8d0ea202 100644
--- a/ui/app/partials/configuration.tags.tab.php
+++ b/ui/app/partials/configuration.tags.tab.php
@@ -95,7 +95,7 @@ foreach ($data['tags'] as $i => $tag) {
(new CUrl('templates.php'))
->setArgument('form', 'update')
->setArgument('templateid', $templateid)
- ))->setAttribute('target', '_blank');
+ ))->setTarget('_blank');
}
else {
$template_list[] = (new CSpan($template['name']))->addClass(ZBX_STYLE_GREY);
diff --git a/ui/app/partials/configuration.valuemap.php b/ui/app/partials/configuration.valuemap.php
index 5f2d55ddfc9..26fe518e56d 100644
--- a/ui/app/partials/configuration.valuemap.php
+++ b/ui/app/partials/configuration.valuemap.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/partials/hostmacros.inherited.list.html.php b/ui/app/partials/hostmacros.inherited.list.html.php
index 36862d58ae3..18d2dddcac8 100644
--- a/ui/app/partials/hostmacros.inherited.list.html.php
+++ b/ui/app/partials/hostmacros.inherited.list.html.php
@@ -40,7 +40,7 @@ else {
->setArgument('action', 'macros.edit')
->getUrl()
))
- ->setAttribute('target', '_blank');
+ ->setTarget('_blank');
$link = [' (', $link, ')'];
}
@@ -139,7 +139,7 @@ else {
'templates.php?form=update&templateid='.$macro['template']['templateid'])
)
->addClass('unknown')
- ->setAttribute('target', '_blank');
+ ->setTarget('_blank');
}
else {
$link = new CSpan(CHtml::encode($macro['template']['name']));
diff --git a/ui/app/partials/js/configuration.tags.tab.js.php b/ui/app/partials/js/configuration.tags.tab.js.php
index 815338fc49f..1d1a73d2f34 100644
--- a/ui/app/partials/js/configuration.tags.tab.js.php
+++ b/ui/app/partials/js/configuration.tags.tab.js.php
@@ -52,6 +52,17 @@
tags_initialized = true;
}
+
+ if (tags_initialized) {
+ $('#tags-table').on('click', 'button.element-table-disable', function() {
+ var num = $(this).attr('id').split('_')[1],
+ $type = $('#tags_' + num + '_type');
+
+ if ($type.val() & <?= ZBX_PROPERTY_OWN ?>) {
+ $type.val($type.val() & (~<?= ZBX_PROPERTY_OWN ?>));
+ }
+ });
+ }
});
});
</script>
diff --git a/ui/app/partials/js/configuration.valuemap.js.php b/ui/app/partials/js/configuration.valuemap.js.php
index 96f83723cbd..a618ae0913d 100644
--- a/ui/app/partials/js/configuration.valuemap.js.php
+++ b/ui/app/partials/js/configuration.valuemap.js.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/partials/massupdate.valuemaps.tab.php b/ui/app/partials/massupdate.valuemaps.tab.php
index 7b3c05af30c..a0be4ef6a0b 100644
--- a/ui/app/partials/massupdate.valuemaps.tab.php
+++ b/ui/app/partials/massupdate.valuemaps.tab.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/administration.token.edit.php b/ui/app/views/administration.token.edit.php
index d8291de75ea..cd4a99c392a 100644
--- a/ui/app/views/administration.token.edit.php
+++ b/ui/app/views/administration.token.edit.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/administration.token.list.php b/ui/app/views/administration.token.list.php
index 21e248e419a..16db084ce48 100644
--- a/ui/app/views/administration.token.list.php
+++ b/ui/app/views/administration.token.list.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/administration.token.view.php b/ui/app/views/administration.token.view.php
index f0a455fca2f..5a47d8f2f59 100644
--- a/ui/app/views/administration.token.view.php
+++ b/ui/app/views/administration.token.view.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/administration.user.token.edit.php b/ui/app/views/administration.user.token.edit.php
index b68890466a9..96fe1ea30ef 100644
--- a/ui/app/views/administration.user.token.edit.php
+++ b/ui/app/views/administration.user.token.edit.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/administration.user.token.list.php b/ui/app/views/administration.user.token.list.php
index b464caff57d..162473789c5 100644
--- a/ui/app/views/administration.user.token.list.php
+++ b/ui/app/views/administration.user.token.list.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/administration.user.token.view.php b/ui/app/views/administration.user.token.view.php
index b8823f5f85b..e8b89ba5d39 100644
--- a/ui/app/views/administration.user.token.view.php
+++ b/ui/app/views/administration.user.token.view.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/js/administration.token.edit.js.php b/ui/app/views/js/administration.token.edit.js.php
index abb68356096..ee0a4c12ed7 100644
--- a/ui/app/views/js/administration.token.edit.js.php
+++ b/ui/app/views/js/administration.token.edit.js.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/js/administration.token.list.js.php b/ui/app/views/js/administration.token.list.js.php
index 65b2c2589c4..2a8c3f6cb0f 100644
--- a/ui/app/views/js/administration.token.list.js.php
+++ b/ui/app/views/js/administration.token.list.js.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/js/administration.user.token.edit.js.php b/ui/app/views/js/administration.user.token.edit.js.php
index 1b358bc8684..329768e18d7 100644
--- a/ui/app/views/js/administration.user.token.edit.js.php
+++ b/ui/app/views/js/administration.user.token.edit.js.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/js/administration.user.token.list.js.php b/ui/app/views/js/administration.user.token.list.js.php
index 65b2c2589c4..2a8c3f6cb0f 100644
--- a/ui/app/views/js/administration.user.token.list.js.php
+++ b/ui/app/views/js/administration.user.token.list.js.php
@@ -1,7 +1,7 @@
<?php declare(strict_types=1);
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/js/popup.massupdate.tmpl.js.php b/ui/app/views/js/popup.massupdate.tmpl.js.php
index 8cfc95681de..0f94b347051 100644
--- a/ui/app/views/js/popup.massupdate.tmpl.js.php
+++ b/ui/app/views/js/popup.massupdate.tmpl.js.php
@@ -102,7 +102,7 @@
<tr id="dependency_#{triggerid}" data-triggerid="#{triggerid}">
<td>
<input type="hidden" name="dependencies[]" id="dependencies_#{triggerid}" value="#{triggerid}">
- <a href="#{url}" target="_blank">#{name}</a>
+ <a href="#{url}" target="_blank" rel="noopener<?= ZBX_NOREFERER ? ' noreferrer' : '' ?>">#{name}</a>
</td>
<td class="<?= ZBX_STYLE_NOWRAP ?>">
<?= (new CButton('remove', _('Remove')))
diff --git a/ui/app/views/js/popup.scriptexec.js.php b/ui/app/views/js/popup.scriptexec.js.php
index 3fc13dfe007..be2f3bafa27 100644
--- a/ui/app/views/js/popup.scriptexec.js.php
+++ b/ui/app/views/js/popup.scriptexec.js.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/js/popup.valuemap.edit.js.php b/ui/app/views/js/popup.valuemap.edit.js.php
index 7fa3950cb14..201514085d2 100644
--- a/ui/app/views/js/popup.valuemap.edit.js.php
+++ b/ui/app/views/js/popup.valuemap.edit.js.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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
diff --git a/ui/app/views/popup.valuemap.edit.php b/ui/app/views/popup.valuemap.edit.php
index cf658b345b7..eefa5978a28 100644
--- a/ui/app/views/popup.valuemap.edit.php
+++ b/ui/app/views/popup.valuemap.edit.php
@@ -1,7 +1,7 @@
<?php
/*
** Zabbix
-** Copyright (C) 2001-2020 Zabbix SIA
+** Copyright (C) 2001-2021 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