__('None'), SNMP_TRAP_TYPE_COLD_START => __('Cold start (0)'), SNMP_TRAP_TYPE_WARM_START => __('Warm start (1)'), SNMP_TRAP_TYPE_LINK_DOWN => __('Link down (2)'), SNMP_TRAP_TYPE_LINK_UP => __('Link up (3)'), SNMP_TRAP_TYPE_AUTHENTICATION_FAILURE => __('Authentication failure (4)'), SNMP_TRAP_TYPE_OTHER => __('Other')); // Form submitted // ============= $update_alert = (bool)get_parameter('update_alert', false); $create_alert = (bool)get_parameter('create_alert', false); $save_alert = (bool)get_parameter('save_alert', false); $modify_alert = (bool)get_parameter('modify_alert', false); $delete_alert = (bool)get_parameter('delete_alert', false); $multiple_delete = (bool)get_parameter('multiple_delete', false); $add_action = (bool)get_parameter('add_alert', 0); $delete_action = get_parameter('delete_action', 0); if ($add_action) { $values['id_alert_snmp'] = get_parameter('id_alert_snmp'); $values['alert_type'] = get_parameter('alert_type'); $values['al_field1'] = get_parameter('field1_value'); $values['al_field2'] = get_parameter('field2_value'); $values['al_field3'] = get_parameter('field3_value'); $values['al_field4'] = get_parameter('field4_value'); $values['al_field5'] = get_parameter('field5_value'); $values['al_field6'] = get_parameter('field6_value'); $values['al_field7'] = get_parameter('field7_value'); $values['al_field8'] = get_parameter('field8_value'); $values['al_field9'] = get_parameter('field9_value'); $values['al_field10'] = get_parameter('field10_value'); $result = db_process_sql_insert('talert_snmp_action', $values); } if ($delete_action) { $action_id = get_parameter('action_id'); $result = db_process_sql_delete('talert_snmp_action', array('id'=>$action_id)); } if ($update_alert || $modify_alert) { ui_print_page_header(__('SNMP Console')." » ".__('Update alert'), "images/op_snmp.png", false, "snmp_alert", false); } else if ($create_alert || $save_alert) { ui_print_page_header(__('SNMP Console')." » ".__('Create alert'), "images/op_snmp.png", false, "snmp_alert", false); } else { ui_print_page_header(__('SNMP Console')." » ".__('Alert overview'), "images/op_snmp.png", false, "snmp_alert", false); } if ($save_alert || $modify_alert) { $id_as = (int) get_parameter("id_alert_snmp", -1); $source_ip = (string) get_parameter_post ("source_ip"); $alert_type = (int) get_parameter_post ("alert_type"); //Event, e-mail $description = (string) get_parameter_post ("description"); $oid = (string) get_parameter_post ("oid"); $custom_value = (string) get_parameter_post ("custom_value"); $time_threshold = (int) get_parameter_post ("time_threshold", SECONDS_5MINUTES); $time_other = (int) get_parameter_post ("time_other", -1); $al_field1 = (string) get_parameter_post ("field1_value"); $al_field2 = (string) get_parameter_post ("field2_value"); $al_field3 = (string) get_parameter_post ("field3_value"); $al_field4 = (string) get_parameter_post ("field4_value"); $al_field5 = (string) get_parameter_post ("field5_value"); $al_field6 = (string) get_parameter_post ("field6_value"); $al_field7 = (string) get_parameter_post ("field7_value"); $al_field8 = (string) get_parameter_post ("field8_value"); $al_field9 = (string) get_parameter_post ("field9_value"); $al_field10 = (string) get_parameter_post ("al_field10"); $max_alerts = (int) get_parameter_post ("max_alerts", 1); $min_alerts = (int) get_parameter_post ("min_alerts", 0); $priority = (int) get_parameter_post ("priority", 0); $custom_oid_data_1 = (string) get_parameter ("custom_oid_data_1"); $custom_oid_data_2 = (string) get_parameter ("custom_oid_data_2"); $custom_oid_data_3 = (string) get_parameter ("custom_oid_data_3"); $custom_oid_data_4 = (string) get_parameter ("custom_oid_data_4"); $custom_oid_data_5 = (string) get_parameter ("custom_oid_data_5"); $custom_oid_data_6 = (string) get_parameter ("custom_oid_data_6"); $custom_oid_data_7 = (string) get_parameter ("custom_oid_data_7"); $custom_oid_data_8 = (string) get_parameter ("custom_oid_data_8"); $custom_oid_data_9 = (string) get_parameter ("custom_oid_data_9"); $custom_oid_data_10 = (string) get_parameter ("custom_oid_data_10"); $custom_oid_data_11 = (string) get_parameter ("custom_oid_data_11"); $custom_oid_data_12 = (string) get_parameter ("custom_oid_data_12"); $custom_oid_data_13 = (string) get_parameter ("custom_oid_data_13"); $custom_oid_data_14 = (string) get_parameter ("custom_oid_data_14"); $custom_oid_data_15 = (string) get_parameter ("custom_oid_data_15"); $custom_oid_data_16 = (string) get_parameter ("custom_oid_data_16"); $custom_oid_data_17 = (string) get_parameter ("custom_oid_data_17"); $custom_oid_data_18 = (string) get_parameter ("custom_oid_data_18"); $custom_oid_data_19 = (string) get_parameter ("custom_oid_data_19"); $custom_oid_data_20 = (string) get_parameter ("custom_oid_data_20"); $order_1 = (int) get_parameter ("order_1", 1); $order_2 = (int) get_parameter ("order_2", 2); $order_3 = (int) get_parameter ("order_3", 3); $order_4 = (int) get_parameter ("order_4", 4); $order_5 = (int) get_parameter ("order_5", 5); $order_6 = (int) get_parameter ("order_6", 6); $order_7 = (int) get_parameter ("order_7", 7); $order_8 = (int) get_parameter ("order_8", 8); $order_9 = (int) get_parameter ("order_9", 9); $order_10 = (int) get_parameter ("order_10", 10); $order_11 = (int) get_parameter ("order_11", 11); $order_12 = (int) get_parameter ("order_12", 12); $order_13 = (int) get_parameter ("order_13", 13); $order_14 = (int) get_parameter ("order_14", 14); $order_15 = (int) get_parameter ("order_15", 15); $order_16 = (int) get_parameter ("order_16", 16); $order_17 = (int) get_parameter ("order_17", 17); $order_18 = (int) get_parameter ("order_18", 18); $order_19 = (int) get_parameter ("order_19", 19); $order_20 = (int) get_parameter ("order_20", 20); $trap_type = (int) get_parameter ("trap_type", -1); $single_value = (string) get_parameter ("single_value"); $position = (int) get_parameter ("position"); $group = (int) get_parameter ("group"); if ($time_threshold == -1) { $time_threshold = $time_other; } if ($save_alert) { $values = array( 'id_alert' => $alert_type, 'al_field1' => $al_field1, 'al_field2' => $al_field2, 'al_field3' => $al_field3, 'al_field4' => $al_field4, 'al_field5' => $al_field5, 'al_field6' => $al_field6, 'al_field7' => $al_field7, 'al_field8' => $al_field8, 'al_field9' => $al_field9, 'al_field10' => $al_field10, 'description' => $description, 'agent' => $source_ip, 'custom_oid' => $custom_value, 'oid' => $oid, 'time_threshold' => $time_threshold, 'max_alerts' => $max_alerts, 'min_alerts' => $min_alerts, 'priority' => $priority, '_snmp_f1_' => $custom_oid_data_1, '_snmp_f2_' => $custom_oid_data_2, '_snmp_f3_' => $custom_oid_data_3, '_snmp_f4_' => $custom_oid_data_4, '_snmp_f5_' => $custom_oid_data_5, '_snmp_f6_' => $custom_oid_data_6, '_snmp_f7_' => $custom_oid_data_7, '_snmp_f8_' => $custom_oid_data_8, '_snmp_f9_' => $custom_oid_data_9, '_snmp_f10_' => $custom_oid_data_10, '_snmp_f11_' => $custom_oid_data_11, '_snmp_f12_' => $custom_oid_data_12, '_snmp_f13_' => $custom_oid_data_13, '_snmp_f14_' => $custom_oid_data_14, '_snmp_f15_' => $custom_oid_data_15, '_snmp_f16_' => $custom_oid_data_16, '_snmp_f17_' => $custom_oid_data_17, '_snmp_f18_' => $custom_oid_data_18, '_snmp_f19_' => $custom_oid_data_19, '_snmp_f20_' => $custom_oid_data_20, 'order_1' => $order_1, 'order_2' => $order_2, 'order_3' => $order_3, 'order_4' => $order_4, 'order_5' => $order_5, 'order_6' => $order_6, 'order_7' => $order_7, 'order_8' => $order_8, 'order_9' => $order_9, 'order_10' => $order_10, 'order_11' => $order_11, 'order_12' => $order_12, 'order_13' => $order_13, 'order_14' => $order_14, 'order_15' => $order_15, 'order_16' => $order_16, 'order_17' => $order_17, 'order_18' => $order_18, 'order_19' => $order_19, 'order_20' => $order_20, 'trap_type' => $trap_type, 'single_value' => $single_value, 'position' => $position, 'id_group' => $group); $result = db_process_sql_insert('talert_snmp', $values); if (!$result) { db_pandora_audit("SNMP management", "Fail try to create snmp alert"); ui_print_error_message(__('There was a problem creating the alert')); } else { db_pandora_audit("SNMP management", "Create snmp alert #$result"); ui_print_success_message(__('Successfully created')); } } else { $sql = sprintf ("UPDATE talert_snmp SET priority = %d, id_alert = %d, al_field1 = '%s', al_field2 = '%s', al_field3 = '%s', al_field4 = '%s', al_field5 = '%s', al_field6 = '%s',al_field7 = '%s', al_field8 = '%s', al_field9 = '%s',al_field10 = '%s', description = '%s', agent = '%s', custom_oid = '%s', oid = '%s', time_threshold = %d, max_alerts = %d, min_alerts = %d, _snmp_f1_ = '%s', _snmp_f2_ = '%s', _snmp_f3_ = '%s', _snmp_f4_ = '%s', _snmp_f5_ = '%s', _snmp_f6_ = '%s', _snmp_f7_ = '%s', _snmp_f8_ = '%s', _snmp_f9_ = '%s', _snmp_f10_ = '%s', _snmp_f11_ = '%s', _snmp_f12_ = '%s', _snmp_f13_ = '%s', _snmp_f14_ = '%s', _snmp_f15_ = '%s', _snmp_f16_ = '%s', _snmp_f17_ = '%s', _snmp_f18_ = '%s', _snmp_f19_ = '%s', _snmp_f20_ = '%s', order_1 = '%d', order_2 = '%d', order_3 = '%d', order_4 = '%d', order_5 = '%d', order_6 = '%d', order_7 = '%d', order_8 = '%d', order_9 = '%d', order_10 = '%d', order_11 = '%d', order_12 = '%d', order_13 = '%d', order_14 = '%d', order_15 = '%d', order_16 = '%d', order_17 = '%d', order_18 = '%d', order_19 = '%d', order_20 = '%d', trap_type = %d, single_value = '%s', position = '%s', id_group ='%s' WHERE id_as = %d", $priority, $alert_type, $al_field1, $al_field2, $al_field3, $al_field4, $al_field5, $al_field6, $al_field7, $al_field8, $al_field9, $al_field10, $description, $source_ip, $custom_value, $oid, $time_threshold, $max_alerts, $min_alerts, $custom_oid_data_1, $custom_oid_data_2, $custom_oid_data_3, $custom_oid_data_4, $custom_oid_data_5, $custom_oid_data_6, $custom_oid_data_7, $custom_oid_data_8, $custom_oid_data_9, $custom_oid_data_10, $custom_oid_data_11, $custom_oid_data_12, $custom_oid_data_13, $custom_oid_data_14, $custom_oid_data_15, $custom_oid_data_16, $custom_oid_data_17, $custom_oid_data_18, $custom_oid_data_19, $custom_oid_data_20, $order_1, $order_2, $order_3, $order_4, $order_5, $order_6, $order_7, $order_8, $order_9, $order_10, $order_11, $order_12, $order_13, $order_14, $order_15, $order_16, $order_17, $order_18, $order_19, $order_20, $trap_type, $single_value, $position, $group, $id_as); $result = db_process_sql ($sql); if (!$result) { db_pandora_audit("SNMP management", "Fail try to update snmp alert #$id_as"); ui_print_error_message(__('There was a problem updating the alert')); } else { db_pandora_audit("SNMP management", "Update snmp alert #$id_as"); ui_print_success_message(__('Successfully updated')); } } } // From variable init // ================== if ($update_alert) { $id_as = (int) get_parameter("id_alert_snmp", -1); $alert = db_get_row ("talert_snmp", "id_as", $id_as); $id_as = $alert["id_as"]; $source_ip = $alert["agent"]; $alert_type = $alert["id_alert"]; $description = $alert["description"]; $oid = $alert["oid"]; $custom_value = $alert["custom_oid"]; $time_threshold = $alert["time_threshold"]; $al_field1 = $alert["al_field1"]; $al_field2 = $alert["al_field2"]; $al_field3 = $alert["al_field3"]; $al_field4 = $alert["al_field4"]; $al_field5 = $alert["al_field5"]; $al_field6 = $alert["al_field6"]; $al_field7 = $alert["al_field7"]; $al_field8 = $alert["al_field8"]; $al_field9 = $alert["al_field9"]; $al_field10 = $alert["al_field10"]; $max_alerts = $alert["max_alerts"]; $min_alerts = $alert["min_alerts"]; $priority = $alert["priority"]; $custom_oid_data_1 = $alert["_snmp_f1_"]; $custom_oid_data_2 = $alert["_snmp_f2_"]; $custom_oid_data_3 = $alert["_snmp_f3_"]; $custom_oid_data_4 = $alert["_snmp_f4_"]; $custom_oid_data_5 = $alert["_snmp_f5_"]; $custom_oid_data_6 = $alert["_snmp_f6_"]; $custom_oid_data_7 = $alert["_snmp_f7_"]; $custom_oid_data_8 = $alert["_snmp_f8_"]; $custom_oid_data_9 = $alert["_snmp_f9_"]; $custom_oid_data_10 = $alert["_snmp_f10_"]; $custom_oid_data_11 = $alert["_snmp_f11_"]; $custom_oid_data_12 = $alert["_snmp_f12_"]; $custom_oid_data_13 = $alert["_snmp_f13_"]; $custom_oid_data_14 = $alert["_snmp_f14_"]; $custom_oid_data_15 = $alert["_snmp_f15_"]; $custom_oid_data_16 = $alert["_snmp_f16_"]; $custom_oid_data_17 = $alert["_snmp_f17_"]; $custom_oid_data_18 = $alert["_snmp_f18_"]; $custom_oid_data_19 = $alert["_snmp_f19_"]; $custom_oid_data_20 = $alert["_snmp_f20_"]; $order_1 = $alert["order_1"]; $order_2 = $alert["order_2"]; $order_3 = $alert["order_3"]; $order_4 = $alert["order_4"]; $order_5 = $alert["order_5"]; $order_6 = $alert["order_6"]; $order_7 = $alert["order_7"]; $order_8 = $alert["order_8"]; $order_9 = $alert["order_9"]; $order_10 = $alert["order_10"]; $order_11 = $alert["order_11"]; $order_12 = $alert["order_12"]; $order_13 = $alert["order_13"]; $order_14 = $alert["order_14"]; $order_15 = $alert["order_15"]; $order_16 = $alert["order_16"]; $order_17 = $alert["order_17"]; $order_18 = $alert["order_18"]; $order_19 = $alert["order_19"]; $order_20 = $alert["order_20"]; $trap_type = $alert["trap_type"]; $single_value = $alert["single_value"]; $position = $alert["position"]; $group = $alert["id_group"]; } elseif ($create_alert) { // Variable init $id_as = -1; $source_ip = ""; $alert_type = 1; //Event, e-mail $description = ""; $oid = ""; $custom_value = ""; $time_threshold = SECONDS_5MINUTES; $al_field1 = ""; $al_field2 = ""; $al_field3 = ""; $al_field4 = ""; $al_field5 = ""; $al_field6 = ""; $al_field7 = ""; $al_field8 = ""; $al_field9 = ""; $al_field10 = ""; $max_alerts = 1; $min_alerts = 0; $priority = 0; $custom_oid_data_1 = ''; $custom_oid_data_2 = ''; $custom_oid_data_3 = ''; $custom_oid_data_4 = ''; $custom_oid_data_5 = ''; $custom_oid_data_6 = ''; $custom_oid_data_7 = ''; $custom_oid_data_8 = ''; $custom_oid_data_9 = ''; $custom_oid_data_10 = ''; $custom_oid_data_11 = ''; $custom_oid_data_12 = ''; $custom_oid_data_13 = ''; $custom_oid_data_14 = ''; $custom_oid_data_15 = ''; $custom_oid_data_16 = ''; $custom_oid_data_17 = ''; $custom_oid_data_18 = ''; $custom_oid_data_19 = ''; $custom_oid_data_20 = ''; $order_1 = 1; $order_2 = 2; $order_3 = 3; $order_4 = 4; $order_5 = 5; $order_6 = 6; $order_7 = 7; $order_8 = 8; $order_9 = 9; $order_10 = 10; $order_11 = 11; $order_12 = 12; $order_13 = 13; $order_14 = 14; $order_15 = 15; $order_16 = 16; $order_17 = 17; $order_18 = 18; $order_19 = 19; $order_20 = 20; $trap_type = -1; $single_value = ''; $position = 0; $group = 0; } // Header // Alert Delete // ============= if ($delete_alert) { // Delete alert $alert_delete = (int) get_parameter_get ("delete_alert", 0); $result = db_process_sql_delete('talert_snmp', array('id_as' => $alert_delete)); if ($result === false) { db_pandora_audit("SNMP management", "Fail try to delete snmp alert #$alert_delete"); ui_print_error_message(__('There was a problem deleting the alert')); } else { db_pandora_audit("SNMP management", "Delete snmp alert #$alert_delete"); ui_print_success_message(__('Successfully deleted')); } } if ($multiple_delete) { $delete_ids = get_parameter('delete_ids', array()); $total = count($delete_ids); $count = 0; foreach ($delete_ids as $alert_delete) { $result = db_process_sql_delete('talert_snmp', array('id_as' => $alert_delete)); if ($result !== false) { db_pandora_audit("SNMP management", "Delete snmp alert #$alert_delete"); $count++; } else { db_pandora_audit("SNMP management", "Fail try to delete snmp alert #$alert_delete"); } } if ($count == $total) { ui_print_success_message( __('Successfully deleted alerts (%s / %s)', $count, $total)); } else { ui_print_error_message( __('Unsuccessfully deleted alerts (%s / %s)', $count, $total)); } } $user_groups = users_get_groups($config['id_user'],"AR", true); $str_user_groups = ''; $i = 0; foreach ($user_groups as $id => $name) { if ($i == 0) { $str_user_groups .= $id; } else { $str_user_groups .= ','.$id; } $i++; } // Alert form if ($create_alert || $update_alert) { //if (isset ($_GET["update_alert"])) { //the update_alert means the form should be displayed. If update_alert > 1 then an existing alert is updated echo '
"; } else { require_once ('include/functions_alerts.php'); $free_search = (string)get_parameter('free_search', ''); $trap_type_filter = (int)get_parameter('trap_type_filter', SNMP_TRAP_TYPE_NONE); $priority_filter = (int)get_parameter('priority_filter', -1); $filter_param = (bool)get_parameter('filter', false); $offset = (int) get_parameter ('offset'); $table_filter = new stdClass(); $table_filter->width = "98%"; $table_filter->data = array(); $table_filter->data[0][0] = __('Free search') . ui_print_help_tip( __('Search by these fields description, OID, Custom Value, SNMP Agent (IP), Single value, each Variable bindings/Datas.'), true); $table_filter->data[0][1] = html_print_input_text('free_search', $free_search, '', 30, 100, true); $table_filter->data[0][2] = __('Trap type'); $table_filter->data[0][3] = html_print_select ($trap_types, 'trap_type_filter', $trap_type_filter, '', '', '', true, false, false); $table_filter->data[0][4] = __('Priority'); $table_filter->data[0][5] = html_print_select (get_priorities(), "priority_filter", $priority_filter, '', __('None'), '-1', true, false, false);; $form_filter = ''; echo "'. alerts_get_alert_action_name ($action["alert_type"]).' | '; $data[1] .= '' . html_print_image("images/cross.png", true, array("border" => '0', "alt" => __('Delete'))) . ' | '; $data[1] .= '