} else { } show_table_header(S_CONFIGURATION_OF_ACTIONS_BIG, $form); echo SBR; if (isset($_REQUEST['form'])) { /* form */ // insert_action_form(); //* NEW Form $frmAction = new CForm('actionconf.php', 'post'); $frmAction->setName(S_ACTION); $frmAction->addVar('form', get_request('form', 1)); $from_rfr = get_request('form_refresh', 0); $frmAction->addVar('form_refresh', $from_rfr + 1); $action = null; if (isset($_REQUEST['actionid'])) { $action = get_action_by_actionid($_REQUEST['actionid']); $frmAction->addVar('actionid', $_REQUEST['actionid']); } $left_tab = new CTable(); $left_tab->setCellPadding(3); $left_tab->setCellSpacing(3); $left_tab->setAttribute('border', 0); $left_tab->addRow(create_hat(S_ACTION, get_act_action_form($action), null, 'hat_action')); $left_tab->addRow(create_hat(S_ACTION_CONDITIONS, get_act_condition_form($action), null, 'hat_conditions')); if (isset($_REQUEST['new_condition'])) { $left_tab->addRow(create_hat(S_NEW_CONDITION, get_act_new_cond_form($action), null, 'hat_new_cond')); } $right_tab = new CTable(); $right_tab->setCellPadding(3); $right_tab->setCellSpacing(3); $right_tab->setAttribute('border', 0);
function get_oper_new_cond_form($action = null) { $tblCond = new CTable('', 'nowrap'); if (isset($_REQUEST['actionid']) && empty($action)) { $action = get_action_by_actionid($_REQUEST['actionid']); } if (isset($_REQUEST['actionid']) && !isset($_REQUEST['form_refresh'])) { $eventsource = $action['eventsource']; $evaltype = $action['evaltype']; } else { $evaltype = get_request('evaltype'); $eventsource = get_request('eventsource'); } $allowed_conditions = get_opconditions_by_eventsource($eventsource); /* init new_condition variable */ $new_opcondition = get_request('new_opcondition', array()); if (!is_array($new_opcondition)) { $new_opcondition = array(); } if (!isset($new_opcondition['conditiontype'])) { $new_opcondition['conditiontype'] = CONDITION_TYPE_EVENT_ACKNOWLEDGED; } if (!isset($new_opcondition['operator'])) { $new_opcondition['operator'] = CONDITION_OPERATOR_LIKE; } if (!isset($new_opcondition['value'])) { $new_opcondition['value'] = 0; } if (!str_in_array($new_opcondition['conditiontype'], $allowed_conditions)) { $new_opcondition['conditiontype'] = $allowed_conditions[0]; } // NEW CONDITION $rowCondition = array(); // add condition type $cmbCondType = new CComboBox('new_opcondition[conditiontype]', $new_opcondition['conditiontype'], 'submit()'); foreach ($allowed_conditions as $cond) { $cmbCondType->addItem($cond, condition_type2str($cond)); } array_push($rowCondition, $cmbCondType); // add condition operation $cmbCondOp = new CComboBox('new_opcondition[operator]'); foreach (get_operators_by_conditiontype($new_opcondition['conditiontype']) as $op) { $cmbCondOp->addItem($op, condition_operator2str($op)); } array_push($rowCondition, $cmbCondOp); // add condition value switch ($new_opcondition['conditiontype']) { case CONDITION_TYPE_EVENT_ACKNOWLEDGED: $cmbCondVal = new CComboBox('new_opcondition[value]', $new_opcondition['value']); $cmbCondVal->addItem(0, S_NOT_ACK); $cmbCondVal->addItem(1, S_ACK); $rowCondition[] = $cmbCondVal; break; } $tblCond->addRow($rowCondition); $tblConditions = new CTableInfo(); $tblConditions->addRow($tblCond); $td = new CCol(array(new CButton('add_opcondition', S_ADD), new CButton('cancel_new_opcondition', S_CANCEL))); $td->addOption('colspan', '3'); $td->addOption('style', 'text-align: right;'); $tblConditions->SetFooter($td); unset($grouped_conditions, $cond_el, $cond_buttons); // end of NEW CONDITION return $tblConditions; }