} 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); $operationConditionsTable->addRow(array('(' . $label . ')', get_condition_desc($opcondition['conditiontype'], $opcondition['operator'], $opcondition['value']), array(new CButton('remove', _('Remove'), 'javascript: removeOperationCondition(' . $i . ');', 'link_menu'), 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']))), null, 'opconditions_' . $i); $grouped_opconditions[$opcondition['conditiontype']][] = $label; $i++; } if ($operationConditionsTable->itemsCount() > 1) { switch ($this->data['new_operation']['evaltype']) { case ACTION_EVAL_TYPE_AND: $group_op = $glog_op = _('and'); break; case ACTION_EVAL_TYPE_OR: $group_op = $glog_op = _('or'); break; default: $group_op = _('or'); $glog_op = _('and'); break; } foreach ($grouped_opconditions as $id => $condition) { $grouped_opconditions[$id] = '(' . implode(' ' . $group_op . ' ', $condition) . ')'; }