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
|
<?php
/*
** Zabbix
** Copyright (C) 2001-2019 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.
**/
$form = (new CForm())
->cleanItems()
->setName('dashboard_properties_form');
$multiselect = (new CMultiSelect([
'name' => 'userid',
'object_name' => 'users',
'data' => [$data['dashboard']['owner']],
'disabled' => in_array(CWebUser::getType(), [USER_TYPE_ZABBIX_USER, USER_TYPE_ZABBIX_ADMIN]),
'multiple' => false,
'popup' => [
'parameters' => [
'srctbl' => 'users',
'srcfld1' => 'userid',
'srcfld2' => 'fullname',
'dstfrm' => $form->getName(),
'dstfld1' => 'userid'
]
]
]))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAriaRequired();
$form
->addItem(getMessages())
->addItem(new CInput('hidden', 'dashboardid', $data['dashboard']['dashboardid']))
->addItem((new CFormList())
->addRow((new CLabel(_('Owner'), 'userid_ms'))->setAsteriskMark(), $multiselect)
->addRow((new CLabel(_('Name'), 'name'))->setAsteriskMark(),
(new CTextBox('name', $data['dashboard']['name'], false, DB::getFieldLength('dashboard', 'name')))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAriaRequired()
->setAttribute('autofocus', 'autofocus')
)
->addItem((new CInput('submit', 'submit'))->addStyle('display: none;'))
);
$output = [
'header' => _('Dashboard properties'),
'script_inline' => $multiselect->getPostJS(),
'body' => $form->toString(),
'buttons' => [
[
'title' => _('Apply'),
'keepOpen' => true,
'isSubmit' => true,
'action' => 'return dashbrdApplyProperties();'
]
]
];
if ($data['user']['debug_mode'] == GROUP_DEBUG_MODE_ENABLED) {
CProfiler::getInstance()->stop();
$output['debug'] = CProfiler::getInstance()->make()->toString();
}
echo (new CJson())->encode($output);
|