require_once dirname(__FILE__).'/js/configuration.discovery.edit.js.php';
$widget = (new CWidget())->setTitle(_('Discovery rules'));
$discoveryForm = (new CForm())
->addItem((new CVar('form_refresh', $data['form_refresh'] + 1))->removeId())
->setName('discoveryForm')
->setAttribute('aria-labelledby', ZBX_STYLE_PAGE_TITLE);
if (!empty($this->data['druleid'])) {
$discoveryForm->addVar('druleid', $this->data['druleid']);
$discoveryFormList = (new CFormList())
(new CLabel(_('Name'), 'name'))->setAsteriskMark(),
(new CTextBox('name', $this->data['drule']['name']))
->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH)
->setAttribute('autofocus', 'autofocus')
$proxy_select = (new CSelect('proxy_hostid'))
->setValue($this->data['drule']['proxy_hostid'])
->setFocusableElementId('label-proxy')
->addOption(new CSelectOption(0, _('No proxy')));
foreach ($this->data['proxies'] as $proxy) {
$proxy_select->addOption(new CSelectOption($proxy['proxyid'], $proxy['host']));
->addRow(new CLabel(_('Discovery by proxy'), $proxy_select->getFocusableElementId()), $proxy_select)
->addRow((new CLabel(_('IP range'), 'iprange'))->setAsteriskMark(),