$this->includeJsFile('administration.regex.edit.js.php');
$html_page = (new CHtmlPage())
->setTitle(_('Regular expressions'))
->setTitleSubmenu(getAdministrationGeneralSubmenu())
->setDocUrl(CDocHelper::getUrl(CDocHelper::ADMINISTRATION_REGEX_EDIT));
$action = (new CUrl('zabbix.php'))->setArgument('action', ($data['regexid'] == 0) ? 'regex.create' : 'regex.update');
if ($data['regexid'] != 0) {
$action->setArgument('regexid', $data['regexid']);
$csrf_token = CCsrfTokenHelper::get('regex');
->addItem((new CVar('form_refresh', $data['form_refresh'] + 1))->removeId())
->addItem((new CVar(CSRF_TOKEN_NAME, $csrf_token))->removeId())
->setAction($action->getUrl())
->setAttribute('aria-labelledby', CHtmlPage::PAGE_TITLE_ID);
->setAttribute('style', 'width: 100%;')
foreach ($data['expressions'] as $i => $expression) {
$exp_delimiter = (new CSelect('expressions['.$i.'][exp_delimiter]'))
->setValue($expression['exp_delimiter'])
->setId('expressions_'.$i.'_exp_delimiter')
->addClass('js-expression-delimiter-select')
->addOptions(CSelect::createOptionsFromArray(CRegexHelper::expressionDelimiters()))
->setDisabled($expression['expression_type'] != EXPRESSION_TYPE_ANY_INCLUDED);
if ($expression['expression_type'] != EXPRESSION_TYPE_ANY_INCLUDED) {
$exp_delimiter->addStyle('display: none;');