if (!isset($opcondition['operator'])) { $opcondition['operator'] = 0; } if (!isset($opcondition['value'])) { $opcondition['value'] = 0; } if (!str_in_array($opcondition['conditiontype'], $allowed_opconditions)) { continue; } $label = num2letter($i); $labelCol = (new CCol($label))->addClass('label')->setAttribute('data-conditiontype', $opcondition['conditiontype'])->setAttribute('data-formulaid', $label); $operationConditionsTable->addRow([$labelCol, getConditionDescription($opcondition['conditiontype'], $opcondition['operator'], $operationConditionStringValues[$cIdx]), (new CCol([(new CButton('remove', _('Remove')))->onClick('javascript: removeOperationCondition(' . $i . ');')->addClass(ZBX_STYLE_BTN_LINK), new CVar('new_operation[opconditions][' . $i . '][conditiontype]', $opcondition['conditiontype']), new CVar('new_operation[opconditions][' . $i . '][operator]', $opcondition['operator']), new CVar('new_operation[opconditions][' . $i . '][value]', $opcondition['value'])]))->addClass(ZBX_STYLE_NOWRAP)], null, 'opconditions_' . $i); $i++; } $calcTypeComboBox = new CComboBox('new_operation[evaltype]', $this->data['new_operation']['evaltype'], 'submit()', [CONDITION_EVAL_TYPE_AND_OR => _('And/Or'), CONDITION_EVAL_TYPE_AND => _('And'), CONDITION_EVAL_TYPE_OR => _('Or')]); $calcTypeComboBox->setId('operationEvaltype'); $new_operation_formlist->addRow(_('Type of calculation'), [$calcTypeComboBox, (new CDiv())->addClass(ZBX_STYLE_FORM_INPUT_MARGIN), (new CSpan())->setId('operationConditionLabel')]); if (!isset($_REQUEST['new_opcondition'])) { $operationConditionsTable->addRow((new CCol((new CSubmit('new_opcondition', _('New')))->addClass(ZBX_STYLE_BTN_LINK)))->setColspan(3)); } $new_operation_formlist->addRow(_('Conditions'), (new CDiv($operationConditionsTable))->addClass(ZBX_STYLE_TABLE_FORMS_SEPARATOR)->setAttribute('style', 'min-width: ' . ZBX_TEXTAREA_STANDARD_WIDTH . 'px;')); } // append new operation condition to form list if (isset($_REQUEST['new_opcondition'])) { $newOperationConditionTable = (new CTable())->setAttribute('style', 'width: 100%;'); $allowedOpConditions = get_opconditions_by_eventsource($this->data['eventsource']); $new_opcondition = getRequest('new_opcondition', []); if (!is_array($new_opcondition)) { $new_opcondition = []; } if (empty($new_opcondition)) {