$html_page = (new CHtmlPage())
->setTitle(_('Discovery rules'))
->setDocUrl(CDocHelper::getUrl(CDocHelper::DATA_COLLECTION_HOST_DISCOVERY_EDIT))
->setNavigation(getHostNavigation('discoveries', $data['hostid'],
array_key_exists('itemid', $data) ? $data['itemid'] : 0
$url = (new CUrl('host_discovery.php'))
->setArgument('context', $data['context'])
$form = (new CForm('post', $url))
->addItem((new CVar('form_refresh', $data['form_refresh'] + 1))->removeId())
->addItem((new CVar(CSRF_TOKEN_NAME, CCsrfTokenHelper::get('host_discovery.php')))->removeId())
->setId('host-discovery-form')
->setAttribute('aria-labelledby', CHtmlPage::PAGE_TITLE_ID)
->addVar('form', $data['form'])
->addVar('hostid', $data['hostid'])
->addVar('backurl', $data['backurl']);
if (!empty($data['itemid'])) {
$form->addVar('itemid', $data['itemid']);
$item_tab = (new CFormGrid())->setId('itemFormList');
if (!empty($data['templates'])) {
new CLabel(_('Parent discovery rules')),
new CFormField($data['templates'])
(new CLabel(_('Name'), 'name'))->setAsteriskMark(),
new CFormField((new CTextBox('name', $data['name'], $data['limited']))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAttribute('autofocus', 'autofocus')
new CLabel(_('Type'), 'label-type'),
new CFormField((new CSelect('type'))
->setValue($data['type'])
->setFocusableElementId('label-type')
->addOptions(CSelect::createOptionsFromArray($data['types']))
->setReadonly($data['limited'])
(new CLabel(_('Key'), 'key'))->setAsteriskMark(),
new CFormField((new CTextBox('key', $data['key'], $data['limited'],
DB::getFieldLength('item_discovery', 'key_')))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
(new CLabel(_('URL'), 'url'))
->setId('js-item-url-label'),