$this->includeJsFile('administration.user.edit.common.js.php');
$this->includeJsFile(($data['action'] === 'user.edit')
? 'administration.user.edit.js.php'
: 'administration.userprofile.edit.js.php'
$html_page = new CHtmlPage();
if ($data['action'] === 'user.edit') {
$widget_name = _('Users');
$doc_url = CDocHelper::USERS_USER_EDIT;
$csrf_token = CCsrfTokenHelper::get('user');
$widget_name = _('User profile').NAME_DELIMITER;
$widget_name .= ($data['name'] !== '' || $data['surname'] !== '')
? $data['name'].' '.$data['surname']
$html_page->setTitleSubmenu(getUserSettingsSubmenu());
$doc_url = CDocHelper::USERS_USERPROFILE_EDIT;
$csrf_token = CCsrfTokenHelper::get('userprofile');
->setDocUrl(CDocHelper::getUrl($doc_url));
if ($data['form_refresh'] == 0) {
if ($data['readonly'] == true) {
CMessageHelper::addWarning(
_('This user is IdP provisioned. Manual changes for provisioned fields are not allowed.')
$user_form = (new CForm())
->addItem((new CVar('form_refresh', $data['form_refresh'] + 1))->removeId())
->addItem((new CVar(CSRF_TOKEN_NAME, $csrf_token))->removeId())
->setAttribute('aria-labelledby', CHtmlPage::PAGE_TITLE_ID)
->addVar('action', $data['action'])
->addVar('userid', $data['userid']);
$user_form_list = new CFormList('user_form_list');
if ($data['action'] === 'user.edit') {
->addRow((new CLabel(_('Username'), 'username'))->setAsteriskMark(),
(new CTextBox('username', $data['username']))
->setReadonly($data['db_user']['username'] === ZBX_GUEST_USER || $data['readonly'])
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAttribute('autofocus', 'autofocus')
->setAttribute('maxlength', DB::getFieldLength('users', 'username'))
->addRow(_x('Name', 'user first name'),
(new CTextBox('name', $data['name']))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAttribute('maxlength', DB::getFieldLength('users', 'name'))
->setReadonly($data['readonly'])