1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<?php
/*
** Zabbix
** Copyright (C) 2001-2016 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.
**/
require_once dirname(__FILE__).'/js/configuration.triggers.edit.js.php';
$triggersWidget = (new CWidget())->setTitle(_('Triggers'));
// append host summary to widget header
if (!empty($data['hostid'])) {
$triggersWidget->addItem(get_header_host_table('triggers', $data['hostid']));
}
// create form
$triggersForm = (new CForm())
->setName('triggersForm')
->addVar('hostid', $data['hostid'])
->addVar('action', $data['action']);
foreach ($data['g_triggerid'] as $triggerid) {
$triggersForm->addVar('g_triggerid['.$triggerid.']', $triggerid);
}
$triggersFormList = (new CFormList('triggersFormList'))
->addRow(
[_('Severity'), SPACE,
(new CVisibilityBox('visible[priority]', 'priority_div', _('Original')))
->setChecked(isset($data['visible']['priority']))
],
(new CDiv(
new CSeverity([
'name' => 'priority',
'value' => (int) $data['priority']
])
))->setId('priority_div')
);
// append dependencies to form list
$dependenciesTable = (new CTable())
->setAttribute('style', 'width: 100%;')
->setHeader([_('Name'), _('Action')]);
foreach ($data['dependencies'] as $dependency) {
$triggersForm->addVar('dependencies[]', $dependency['triggerid'], 'dependencies_'.$dependency['triggerid']);
$depTriggerDescription = CHtml::encode(
implode(', ', zbx_objectValues($dependency['hosts'], 'name')).NAME_DELIMITER.$dependency['description']
);
if ($dependency['flags'] == ZBX_FLAG_DISCOVERY_NORMAL) {
$description = (new CLink($depTriggerDescription,
'triggers.php?form=update&triggerid='.$dependency['triggerid']
))->setAttribute('target', '_blank');
}
else {
$description = $depTriggerDescription;
}
$dependenciesTable->addRow(
(new CRow([
$description,
(new CCol(
(new CButton('remove', _('Remove')))
->onClick('javascript: removeDependency(\''.$dependency['triggerid'].'\');')
->addClass(ZBX_STYLE_BTN_LINK)
))->addClass(ZBX_STYLE_NOWRAP)
]))->setId('dependency_'.$dependency['triggerid'])
);
}
$dependenciesDiv = (new CDiv([
$dependenciesTable,
(new CButton('btn1', _('Add')))
->onClick('return PopUp("popup.php?dstfrm=massupdate&dstact=add_dependency&reference=deptrigger'.
'&dstfld1=new_dependency&srctbl=triggers&objname=triggers&srcfld1=triggerid&multiselect=1'.
'&with_triggers=1&noempty=1");')
->addClass(ZBX_STYLE_BTN_LINK)
]))
->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR)
->setAttribute('style', 'min-width: '.ZBX_TEXTAREA_BIG_WIDTH.'px;')
->setId('dependencies_div');
$triggersFormList->addRow(
[_('Replace dependencies'), SPACE,
(new CVisibilityBox('visible[dependencies]', 'dependencies_div', _('Original')))
->setChecked(isset($data['visible']['dependencies']))
],
$dependenciesDiv
);
$triggersTab = new CTabView();
$triggersTab->addTab('triggersTab', _('Mass update'), $triggersFormList);
// append buttons to form
$triggersTab->setFooter(makeFormFooter(
new CSubmit('massupdate', _('Update')),
[new CButtonCancel(url_param('hostid'))]
));
// append tabs to form
$triggersForm->addItem($triggersTab);
$triggersWidget->addItem($triggersForm);
return $triggersWidget;
|