You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zabbix/ui/app/views/popup.condition.edit.php

807 lines
24 KiB

1 year ago
<?php declare(strict_types = 0);
/*
** Zabbix
** Copyright (C) 2001-2023 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** 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 General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
/**
* @var CView $this
* @var array $data
*/
$inline_js = getPagePostJs().$this->readJsFile('popup.condition.edit.js.php');
$form = (new CForm())
->setId('popup.condition')
->setName('popup.condition')
->setAttribute('aria-labeledby', CHtmlPage::PAGE_TITLE_ID)
->addVar('action', $data['action'])
->addVar('row_index', $data['row_index'] ? $data['row_index'] : 0)
->addVar('type', $data['type']);
if ($data['type'] == ZBX_POPUP_CONDITION_TYPE_ACTION) {
$form->addVar('source', $data['eventsource']);
}
elseif ($data['type'] == ZBX_POPUP_CONDITION_TYPE_ACTION_OPERATION) {
$form->addVar('source', $data['source']);
}
$condition_type = (int) $data['last_type'];
$form_grid = (new CFormGrid());
switch ($data['type']) {
case ZBX_POPUP_CONDITION_TYPE_ACTION:
require_once __DIR__ .'/../../include/actions.inc.php';
// Collect all operators options.
$operators_by_condition = [];
$action_conditions = [];
foreach ($data['allowed_conditions'] as $type) {
if ($data['eventsource'] == EVENT_SOURCE_SERVICE && $type == CONDITION_TYPE_EVENT_TAG) {
$action_conditions[$type] = _('Service tag name');
}
elseif ($data['eventsource'] == EVENT_SOURCE_SERVICE && $type == CONDITION_TYPE_EVENT_TAG_VALUE) {
$action_conditions[$type] = _('Service tag value');
}
else {
$action_conditions[$type] = condition_type2str($type);
}
foreach (get_operators_by_conditiontype($type) as $value) {
$operators_by_condition[$type][$value] = condition_operator2str($value);
}
}
// Type select.
$form_grid
->addItem([
new CLabel(_('Type'), 'label-condition-type'),
new CFormField((new CSelect('condition_type'))
->setFocusableElementId('label-condition-type')
->setValue($condition_type)
->setId('condition-type')
->addOptions(CSelect::createOptionsFromArray($action_conditions))
)
]);
switch ($condition_type) {
// Trigger form elements.
case CONDITION_TYPE_TRIGGER:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_TRIGGER] as $key => $value) {
$operator->addValue($value, $key);
}
$trigger_multiselect = $data['trigger_context'] === 'host'
? (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'triggers',
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'triggers',
'srcfld1' => 'triggerid',
'dstfrm' => $form->getName(),
'dstfld1' => 'trigger_new_condition',
'with_triggers' => true,
'real_hosts' => true
]
]
]))
->setId('trigger_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
: (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'triggers',
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'template_triggers',
'srcfld1' => 'triggerid',
'dstfrm' => $form->getName(),
'dstfld1' => 'trigger_new_condition',
'with_triggers' => true
]
]
]))
->setId('trigger_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $trigger_multiselect->getPostJS();
$form_grid
->addItem([new CLabel(_('Operator')), new CFormField($operator)])
->addItem([
new CLabel(_('Trigger source')),
new CFormField((new CRadioButtonList('trigger_context', $data['trigger_context']))
->addValue(_('Host'), 'host')
->addValue(_('Template'), 'template')
->setModern(true))
])
->addItem([
new CLabel(_('Triggers'), 'trigger_new_condition_ms'),
new CFormField($trigger_multiselect)
]);
break;
// Trigger severity form elements.
case CONDITION_TYPE_TRIGGER_SEVERITY:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_TRIGGER_SEVERITY] as $key => $value) {
$operator->addValue($value, $key);
}
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Severity')),
new CFormField(new CSeverity('value', TRIGGER_SEVERITY_NOT_CLASSIFIED))
]);
break;
// Host form elements.
case CONDITION_TYPE_HOST:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_HOST] as $key => $value) {
$operator->addValue($value, $key);
}
$host_multiselect = (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'hosts',
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'hosts',
'srcfld1' => 'hostid',
'dstfrm' => $form->getName(),
'dstfld1' => 'host_new_condition'
]
]
]))
->setId('host_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $host_multiselect->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Hosts'), 'host_new_condition_ms'),
new CFormField($host_multiselect)
]);
break;
// Host group form elements.
case CONDITION_TYPE_HOST_GROUP:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_HOST_GROUP] as $key => $value) {
$operator->addValue($value, $key);
}
$hostgroup_multiselect = (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'hostGroup',
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'host_groups',
'srcfld1' => 'groupid',
'dstfrm' => $form->getName(),
'dstfld1' => 'hostgroup_new_condition'
]
]
]))
->setId('hostgroup_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $hostgroup_multiselect->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Host groups'), 'hostgroup_new_condition_ms'),
new CFormField($hostgroup_multiselect)
]);
break;
// Problem is suppressed form elements.
case CONDITION_TYPE_SUPPRESSED:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_NO))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_SUPPRESSED] as $key => $value) {
$operator->addValue($value, $key);
}
$form_grid->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
]);
break;
// Tag form elements.
case CONDITION_TYPE_EVENT_TAG:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_EVENT_TAG] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value = (new CTextAreaFlexible('value'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$inline_js .= $new_condition_value->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
(new CLabel(_('Tag'), 'value'))->setAsteriskMark(),
new CFormField($new_condition_value)
]);
break;
// Tag value form elements.
case CONDITION_TYPE_EVENT_TAG_VALUE:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_EVENT_TAG_VALUE] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value2 = (new CTextAreaFlexible('value2'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value2');
$new_condition_value = (new CTextAreaFlexible('value'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$inline_js .= $new_condition_value2->getPostJS();
$inline_js .= $new_condition_value->getPostJS();
$form_grid
->addItem([
(new CLabel(_('Tag'), 'value2'))->setAsteriskMark(),
new CFormField($new_condition_value2)
])
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Value'), 'value'),
new CFormField($new_condition_value)
]);
break;
// Template form elements.
case CONDITION_TYPE_TEMPLATE:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_TEMPLATE] as $key => $value) {
$operator->addValue($value, $key);
}
$template_multiselect = (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'templates',
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'templates',
'srcfld1' => 'hostid',
'srcfld2' => 'host',
'dstfrm' => $form->getName(),
'dstfld1' => 'template_new_condition'
]
]
]))
->setId('template_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $template_multiselect->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Templates'), 'template_new_condition_ms'),
new CFormField($template_multiselect)
]);
break;
// Time period form elements.
case CONDITION_TYPE_TIME_PERIOD:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_IN))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_TIME_PERIOD] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value = (new CTextBox('value', ZBX_DEFAULT_INTERVAL))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Value'), 'value'),
new CFormField($new_condition_value)
]);
break;
// Discovery host ip form elements.
case CONDITION_TYPE_DHOST_IP:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_DHOST_IP] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value = (new CTextBox('value', '192.168.0.1-127,192.168.2.1'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Value'), 'value'),
new CFormField($new_condition_value)
]);
break;
// Discovery check form elements.
case CONDITION_TYPE_DCHECK:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_DCHECK] as $key => $value) {
$operator->addValue($value, $key);
}
$dcheck_popup_select = [
(new CInput('hidden', 'value', '0'))
->removeId()
->setId('dcheck_new_condition_value'),
(new CTextBox('dcheck', '', true))->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH),
(new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),
(new CButton('btn1', _('Select')))
->addClass(ZBX_STYLE_BTN_GREY)
->onClick(
'return PopUp("popup.generic", '.json_encode([
'srctbl' => 'dchecks',
'srcfld1' => 'dcheckid',
'srcfld2' => 'name',
'dstfrm' => $form->getName(),
'dstfld1' => 'dcheck_new_condition_value',
'dstfld2' => 'dcheck'
], JSON_THROW_ON_ERROR).', {dialogue_class: "modal-popup-generic"});'
)
];
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Discovery check')),
new CFormField($dcheck_popup_select)
]);
break;
// Discovery object form elements.
case CONDITION_TYPE_DOBJECT:
$operator = (new CRadioButtonList('', CONDITION_OPERATOR_EQUAL))
->setModern(true)
->addValue(
$operators_by_condition[CONDITION_TYPE_DOBJECT][CONDITION_OPERATOR_EQUAL],
CONDITION_OPERATOR_EQUAL
);
$new_condition_value = (new CRadioButtonList('value', EVENT_OBJECT_DHOST))
->setModern(true)
->addValue(discovery_object2str(EVENT_OBJECT_DHOST), EVENT_OBJECT_DHOST)
->addValue(discovery_object2str(EVENT_OBJECT_DSERVICE), EVENT_OBJECT_DSERVICE);
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField([$operator, new CVar('operator', CONDITION_OPERATOR_EQUAL)])
])
->addItem([
new CLabel(_('Discovery object')),
new CFormField($new_condition_value)
]);
break;
// Discovery rule form elements.
case CONDITION_TYPE_DRULE:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_DRULE] as $key => $value) {
$operator->addValue($value, $key);
}
$drule_multiselect = (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'drules',
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'drules',
'srcfld1' => 'druleid',
'dstfrm' => $form->getName(),
'dstfld1' => 'drule_new_condition'
]
]
]))
->setId('drule_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $drule_multiselect->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Discovery rules'), 'drule_new_condition_ms'),
new CFormField($drule_multiselect)
]);
break;
// Discovery status form elements.
case CONDITION_TYPE_DSTATUS:
$operator = (new CRadioButtonList('', CONDITION_OPERATOR_EQUAL))
->setModern(true)
->addValue(
$operators_by_condition[CONDITION_TYPE_DSTATUS][CONDITION_OPERATOR_EQUAL],
CONDITION_OPERATOR_EQUAL
);
$new_condition_value = (new CRadioButtonList('value', DOBJECT_STATUS_UP))
->setModern(true)
->addValue(discovery_object_status2str(DOBJECT_STATUS_UP), DOBJECT_STATUS_UP)
->addValue(discovery_object_status2str(DOBJECT_STATUS_DOWN), DOBJECT_STATUS_DOWN)
->addValue(discovery_object_status2str(DOBJECT_STATUS_DISCOVER), DOBJECT_STATUS_DISCOVER)
->addValue(discovery_object_status2str(DOBJECT_STATUS_LOST), DOBJECT_STATUS_LOST);
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField([$operator, new CVar('operator', CONDITION_OPERATOR_EQUAL)])
])
->addItem([
new CLabel(_('Discovery status')),
new CFormField($new_condition_value)
]);
break;
// Proxy form elements.
case CONDITION_TYPE_PROXY:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_PROXY] as $key => $value) {
$operator->addValue($value, $key);
}
$proxy_multiselect = (new CMultiSelect([
'name' => 'value',
'object_name' => 'proxies',
'multiple' => false,
'default_value' => 0,
'popup' => [
'parameters' => [
'srctbl' => 'proxies',
'srcfld1' => 'proxyid',
'srcfld2' => 'name',
'dstfrm' => $form->getName(),
'dstfld1' => 'proxy_new_condition'
]
]
]))
->setId('proxy_new_condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $proxy_multiselect->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Proxy'), 'proxy_new_condition_ms'),
new CFormField($proxy_multiselect)
]);
break;
// Received value form elements.
case CONDITION_TYPE_DVALUE:
$new_condition_value = (new CTextAreaFlexible('value'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$inline_js .= $new_condition_value->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator'), 'label-operator'),
new CFormField((new CSelect('operator'))
->setValue(CONDITION_OPERATOR_EQUAL)
->setFocusableElementId('label-operator')
->addOptions(CSelect::createOptionsFromArray($operators_by_condition[CONDITION_TYPE_DVALUE]))
)
])
->addItem([
new CLabel(_('Value'), 'value'),
new CFormField($new_condition_value)
]);
break;
// Service port form elements.
case CONDITION_TYPE_DSERVICE_PORT:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_DSERVICE_PORT] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value = (new CTextBox('value', '0-1023,1024-49151'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Value'), 'value'),
new CFormField($new_condition_value)
]);
break;
// Service type form elements.
case CONDITION_TYPE_DSERVICE_TYPE:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_DSERVICE_TYPE] as $key => $value) {
$operator->addValue($value, $key);
}
$discovery_check_types = discovery_check_type2str();
order_result($discovery_check_types);
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Service type'), 'label-condition-service-type'),
new CFormField((new CSelect('value'))
->setFocusableElementId('label-condition-service-type')
->addOptions(CSelect::createOptionsFromArray($discovery_check_types))
)
]);
break;
// Discovery uptime|downtime form elements.
case CONDITION_TYPE_DUPTIME:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_MORE_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_DUPTIME] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value = (new CNumericBox('value', 600, 15))
->setWidth(ZBX_TEXTAREA_NUMERIC_BIG_WIDTH)
->setId('value');
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
new CLabel(_('Value'), 'value'),
new CFormField($new_condition_value)
]);
break;
// Trigger name form elements.
case CONDITION_TYPE_TRIGGER_NAME:
// Host name form elements.
case CONDITION_TYPE_HOST_NAME:
// Host metadata form elements.
case CONDITION_TYPE_HOST_METADATA:
// Service name form elements.
case CONDITION_TYPE_SERVICE_NAME:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_LIKE))->setModern(true);
foreach ($operators_by_condition[$condition_type] as $key => $value) {
$operator->addValue($value, $key);
}
$new_condition_value = (new CTextAreaFlexible('value'))
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH)
->setId('value');
$inline_js .= $new_condition_value->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
(new CLabel(_('Value'), 'value'))->setAsteriskMark(),
new CFormField($new_condition_value)
]);
break;
// Event type form elements.
case CONDITION_TYPE_EVENT_TYPE:
$operator = (new CRadioButtonList('', CONDITION_OPERATOR_EQUAL))
->setModern(true)
->addValue($operators_by_condition[CONDITION_TYPE_EVENT_TYPE][CONDITION_OPERATOR_EQUAL],
CONDITION_OPERATOR_EQUAL
);
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField([$operator, new CVar('operator', CONDITION_OPERATOR_EQUAL)])
])
->addItem([
new CLabel(_('Event type'), 'label-condition-event-type'),
new CFormField((new CSelect('value'))
->setFocusableElementId('label-condition-event-type')
->addOptions(CSelect::createOptionsFromArray(eventType()))
)
]);
break;
// Service form elements.
case CONDITION_TYPE_SERVICE:
$operator = (new CRadioButtonList('operator', CONDITION_OPERATOR_EQUAL))->setModern(true);
foreach ($operators_by_condition[CONDITION_TYPE_SERVICE] as $key => $value) {
$operator->addValue($value, $key);
}
$service_multiselect = (new CMultiSelect([
'name' => 'value[]',
'object_name' => 'services',
'custom_select' => true
]))
->setId('service-new-condition')
->addClass('new-condition')
->setWidth(ZBX_TEXTAREA_MEDIUM_WIDTH);
$inline_js .= $service_multiselect->getPostJS();
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField($operator)
])
->addItem([
(new CLabel(_('Services'), 'service-new-condition_ms'))->setAsteriskMark(),
new CFormField($service_multiselect)
]);
break;
}
break;
case ZBX_POPUP_CONDITION_TYPE_ACTION_OPERATION:
require_once __DIR__.'/../../include/actions.inc.php';
// Collect all options for select.
$condition_options = [];
foreach ($data['allowed_conditions'] as $type) {
$condition_options[$type] = condition_type2str($type);
}
// Type select.
$form_grid
->addItem([
new CLabel(_('Type'), 'label-condition-type'),
new CFormField((new CSelect('condition_type'))
->setFocusableElementId('label-condition-type')
->setValue($condition_type)
->setId('condition-type')
->addOptions(CSelect::createOptionsFromArray($condition_options))
)
]);
// Acknowledge form elements.
$operators_options = [];
foreach (get_operators_by_conditiontype(CONDITION_TYPE_EVENT_ACKNOWLEDGED) as $type) {
$operators_options[$type] = condition_operator2str($type);
}
$operator = (new CRadioButtonList('', CONDITION_OPERATOR_EQUAL))
->setModern(true)
->addValue(condition_operator2str(CONDITION_OPERATOR_EQUAL), CONDITION_OPERATOR_EQUAL);
$condition_value = (new CRadioButtonList('value', EVENT_NOT_ACKNOWLEDGED))
->setModern(true)
->addValue(_('No'), EVENT_NOT_ACKNOWLEDGED)
->addValue(_('Yes'), EVENT_ACKNOWLEDGED);
$form_grid
->addItem([
new CLabel(_('Operator')),
new CFormField([$operator, new CVar('operator', CONDITION_OPERATOR_EQUAL)])
])
->addItem([
new CLabel(_('Acknowledged')),
new CFormField($condition_value)
]);
break;
}
$form->addItem($form_grid);
$output = [
'header' => $data['title'],
'script_inline' => $inline_js.'condition_popup.init();',
'body' => $form->toString(),
'buttons' => [
[
'title' => _('Add'),
'class' => '',
'keepOpen' => true,
'isSubmit' => true,
'action' => 'condition_popup.submit()'
]
]
];
if ($data['user']['debug_mode'] == GROUP_DEBUG_MODE_ENABLED) {
CProfiler::getInstance()->stop();
$output['debug'] = CProfiler::getInstance()->make()->toString();
}
echo json_encode($output);