Source
$mfa_warning = (makeWarningIcon(_('Multi-factor authentication is disabled system-wide.')))->setId('mfa-warning');
<?php
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** 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 Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
/**
* @var CView $this
* @var array $data
*/
$this->includeJsFile('usergroup.edit.js.php');
$html_page = (new CHtmlPage())
->setTitle(_('User groups'))
->setDocUrl(CDocHelper::getUrl(CDocHelper::USERS_USERGROUP_EDIT));
$csrf_token = CCsrfTokenHelper::get('usergroup');
$form = (new CForm())
->addItem((new CVar('form_refresh', $data['form_refresh'] + 1))->removeId())
->addItem((new CVar(CSRF_TOKEN_NAME, $csrf_token))->removeId())
->setId('user-group-form')
->setName('user_group_form')
->setAttribute('aria-labelledby', CHtmlPage::PAGE_TITLE_ID);
if ($data['usrgrpid'] != 0) {
$form->addVar('usrgrpid', $data['usrgrpid']);
}
$form_grid = (new CFormGrid())
->addItem([
(new CLabel(_('Group name'), 'name'))->setAsteriskMark(),
new CFormField(
(new CTextBox('name', $data['name']))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAriaRequired()
->setAttribute('autofocus', 'autofocus')
->setAttribute('maxlength', DB::getFieldLength('usrgrp', 'name'))
)
])
->addItem([
new CLabel(_('Users'), 'userids__ms'),
new CFormField(
(new CMultiSelect([
'name' => 'userids[]',
'object_name' => 'users',
'data' => $data['users_ms'],
'popup' => [
'parameters' => [
'srctbl' => 'users',
'srcfld1' => 'userid',
'srcfld2' => 'fullname',
'dstfrm' => $form->getName(),
'dstfld1' => 'userids_',
'disableids' => array_column($data['users_ms'], 'id'),
'exclude_provisioned' => 1
]
]
]))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
)
]);
// If MFA is enabled, default option for new user groups should be 0 - 'Default' , otherwise -1 - 'Disabled' .
if ($data['usrgrpid']) {
if ($data['group_mfa_status'] == GROUP_MFA_ENABLED) {
$mfa_index = $data['mfaid'] ?: 0;
}
else {
$mfa_index = -1;
}
}
else {
$mfa_index = $data['mfa_config_status'] == MFA_ENABLED ? 0 : -1;
}
if ($data['can_update_group']) {
$select_gui_access = (new CSelect('gui_access'))
->setValue($data['gui_access'])
->setFocusableElementId('gui-access')
->addOptions(CSelect::createOptionsFromArray([