2006-03-27 05:37:27 +02:00
< ? php
2009-06-08 20:21:21 +02:00
// Pandora FMS - http://pandorafms.com
// ==================================================
2011-08-13 04:40:47 +02:00
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
2009-06-08 20:21:21 +02:00
// Please see http://pandorafms.org for full contribution list
2006-07-11 10:49:21 +02:00
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
2008-08-22 20:07:32 +02:00
// as published by the Free Software Foundation for version 2.
2006-07-11 10:49:21 +02:00
// 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.
// Load global vars
2019-01-30 16:18:44 +01:00
if ( ! check_acl ( $config [ 'id_user' ], 0 , 'LW' )) {
db_pandora_audit (
'ACL Violation' ,
'Trying to access SNMP Alert Management'
);
include 'general/noaccess.php' ;
return ;
2008-06-18 Esteban Sanchez <estebans@artica.es>
* functions.php: Added documentation to all the functions in JavaDoc
format, which is an facto-standard. Deleted unused functions. Improved
the code of some functions. Tab and blankspaces style correction.
Replaced old lang_label with lang_string(). Some functions to print
selects were replaced with a functio to get an array with all the
possible values so the caller will use print_select() with them.
* godmode/agentes/agent_manager.php: Use print_select() instead of
deleted function.
* godmode/agentes/alert_manager_editor.php: Use print_select() instead
of deleted function. Use print_checkbox(). Style correction
* godmode/reporting/map_builder.php, operation/agentes/ver_agente.php,
operation/messages/message.php,
operation/reporting/reporting_viewer_pdf.php:
Replaced deleted functions with their equivalents.
* include/functions_db.php: Documented some functions, some work is
still required. Added get_reports() to get all the reports a user can
see. Deleted unused functions. Replaced deleted functions with their
equivalents. Added get_db_row_sql(), get_previous_data(). Fixed errors
when calculating average, max, min and sum values of an agent module.
* include/functions_reporting.php: Fixed errors when calculating SLA.
* operation/events/events.php: Tab and blankspaces correction.
Replaced form_priority with print_select(). Style correction.
* operation/reporting/custom_reporting.php: Show all the reports a
user can see. Use Pandora functions.
* operation/reporting/reporting_viewer.php: Show unknown label if SLA
can not be calculated.
* operation/snmpconsole/snmp_alert.php: Avoid an extra indentation
level by using check_login() properly. Tab and blankspaces correction.
* index.php, operation/users/user_edit.php: Adopted to renamed
function.
* godmode/db/db_sanity.php, reporting/fgraph.php: Style correction.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-19 11:01:12 +02:00
}
2008-08-11 Esteban Sanchez <estebans@artica.es>
* include/functions_db.php: Added __ as an alias of lang_string().
* include/functions_reporting_pdf.php,
include/functions_reporting.php, include/functions.php,
include/functions_visual_map.php, index.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/incidents/incident_note.php,
operation/incidents/incident_search.php,
operation/incidents/incident_statistics.php,
operation/snmpconsole/snmp_alert.php,
operation/snmpconsole/snmp_view.php, operation/users/user.php,
operation/users/user_edit.php, operation/users/user_statistics.php,
operation/events/event_statistics.php, operation/events/events.php,
operation/visual_console/render_view.php,
operation/visual_console/index.php, operation/extensions.php,
operation/agentes/estado_alertas.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/export_csv.php,
operation/agentes/datos_agente.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_generalagente.php,
operation/agentes/estado_agente.php, operation/agentes/bulbs.php,
operation/agentes/status_events.php, operation/agentes/sla_view.php,
operation/agentes/exportdata.php,
operation/agentes/estado_monitores.php,
operation/agentes/ver_agente.php, operation/agentes/estadisticas.php,
operation/agentes/tactical.php, operation/agentes/networkmap.php,
operation/messages/message.php,
operation/reporting/reporting_viewer.php,
operation/reporting/graph_viewer.php,
operation/reporting/custom_reporting.php,
operation/servers/view_server.php,
operation/servers/view_server_detail.php, operation/menu.php,
reporting/fgraph.php, reporting/stat_win.php, ajax.php,
general/logoff.php, general/pandora_help.php, general/footer.php,
general/noaccess.php, general/logon_failed.php,
general/links_menu.php, general/login_page.php, general/logon_ok.php,
general/header.php, general/main_menu.php,
godmode/groups/configure_group.php, godmode/groups/group_list.php,
godmode/setup/news.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/users/user_list.php,
godmode/users/configure_user.php, godmode/profiles/profile_list.php,
godmode/admin_access_logs.php, godmode/db/db_info_data.php,
godmode/db/db_main.php, godmode/db/db_audit.php,
godmode/db/db_sanity.php, godmode/db/db_refine.php,
godmode/db/db_info.php, godmode/db/db_event.php,
godmode/db/db_purge.php, godmode/extensions.php,
godmode/agentes/agent_template.php,
godmode/agentes/module_manager_editor_network.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/alert_manager.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_prediction.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/module_manager.php,
godmode/agentes/modificar_agente.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/agent_disk_conf_editor.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/agent_manager.php,
godmode/modules/manage_network_components_form.php,
godmode/modules/manage_nc_groups_form.php,
godmode/modules/manage_network_templates.php,
godmode/modules/module_list.php,
godmode/modules/manage_network_templates_form.php,
godmode/modules/manage_network_components_form_network.php,
godmode/modules/manage_network_components_form_wmi.php,
godmode/modules/manage_network_components.php,
godmode/modules/manage_nc_groups.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/map_builder.php,
godmode/reporting/graph_builder.php, godmode/servers/plugin.php,
godmode/servers/manage_recontask.php,
godmode/servers/modificar_server.php,
godmode/servers/manage_recontask_form.php,
godmode/alerts/modify_alert.php, godmode/alerts/configure_alert.php,
godmode/menu.php: Replaced $id_user with $config['id_user']. Use __a
instead of $lang_label to future use of gettext. Style
corrections.
* godmode/agentes/planned_downtime.php: Rewritten to use Pandora
functions and adopt the UI style. Replaced lang_string with __().
* pandoradb.sql: Fields in tplanned_downtime renamed to fit
guidelines.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1005 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-08-11 12:59:07 +02:00
2019-01-30 16:18:44 +01:00
$trap_types = [
SNMP_TRAP_TYPE_NONE => __ ( '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' ),
];
2013-08-05 16:23:27 +02:00
2008-10-15 20:40:34 +02:00
// Form submitted
// =============
2019-01-30 16:18:44 +01:00
$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 );
2014-03-31 17:00:16 +02:00
$delete_action = get_parameter ( 'delete_action' , 0 );
2016-12-28 13:16:13 +01:00
$duplicate_alert = get_parameter ( 'duplicate_alert' , 0 );
2014-03-31 17:00:16 +02:00
2015-07-14 14:07:04 +02:00
if ( $add_action ) {
2019-01-30 16:18:44 +01:00
$values [ 'id_alert_snmp' ] = ( int ) get_parameter ( 'id_alert_snmp' );
$values [ 'alert_type' ] = ( int ) get_parameter ( 'alert_type' );
$values [ db_escape_key_identifier ( 'al_field1' )] = get_parameter ( 'field1_value' );
$values [ db_escape_key_identifier ( 'al_field2' )] = get_parameter ( 'field2_value' );
$values [ db_escape_key_identifier ( 'al_field3' )] = get_parameter ( 'field3_value' );
$values [ db_escape_key_identifier ( 'al_field4' )] = get_parameter ( 'field4_value' );
$values [ db_escape_key_identifier ( 'al_field5' )] = get_parameter ( 'field5_value' );
$values [ db_escape_key_identifier ( 'al_field6' )] = get_parameter ( 'field6_value' );
$values [ db_escape_key_identifier ( 'al_field7' )] = get_parameter ( 'field7_value' );
$values [ db_escape_key_identifier ( 'al_field8' )] = get_parameter ( 'field8_value' );
$values [ db_escape_key_identifier ( 'al_field9' )] = get_parameter ( 'field9_value' );
$values [ db_escape_key_identifier ( 'al_field10' )] = get_parameter ( 'field10_value' );
$values [ db_escape_key_identifier ( 'al_field11' )] = get_parameter ( 'field11_value' );
$values [ db_escape_key_identifier ( 'al_field12' )] = get_parameter ( 'field12_value' );
$values [ db_escape_key_identifier ( 'al_field13' )] = get_parameter ( 'field13_value' );
$values [ db_escape_key_identifier ( 'al_field14' )] = get_parameter ( 'field14_value' );
$values [ db_escape_key_identifier ( 'al_field15' )] = get_parameter ( 'field15_value' );
$result = db_process_sql_insert ( 'talert_snmp_action' , $values );
2014-03-31 17:00:16 +02:00
}
if ( $delete_action ) {
2019-01-30 16:18:44 +01:00
$action_id = get_parameter ( 'action_id' );
$result = db_process_sql_delete ( 'talert_snmp_action' , [ 'id' => $action_id ]);
2014-03-31 17:00:16 +02:00
}
2013-08-05 16:23:27 +02:00
if ( $update_alert || $modify_alert ) {
2019-01-30 16:18:44 +01:00
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
);
2013-08-05 16:23:27 +02:00
}
if ( $save_alert || $modify_alert ) {
2019-01-30 16:18:44 +01:00
$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' );
$al_field11 = ( string ) get_parameter_post ( 'field11_value' );
$al_field12 = ( string ) get_parameter_post ( 'field12_value' );
$al_field13 = ( string ) get_parameter_post ( 'field13_value' );
$al_field14 = ( string ) get_parameter_post ( 'field14_value' );
$al_field15 = ( string ) get_parameter_post ( 'field15_value' );
$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 = [
'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 ,
'al_field11' => $al_field11 ,
'al_field12' => $al_field12 ,
'al_field13' => $al_field13 ,
'al_field14' => $al_field14 ,
'al_field15' => $al_field15 ,
'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 ,
db_escape_key_identifier ( '_snmp_f1_' ) => $custom_oid_data_1 ,
db_escape_key_identifier ( '_snmp_f2_' ) => $custom_oid_data_2 ,
db_escape_key_identifier ( '_snmp_f3_' ) => $custom_oid_data_3 ,
db_escape_key_identifier ( '_snmp_f4_' ) => $custom_oid_data_4 ,
db_escape_key_identifier ( '_snmp_f5_' ) => $custom_oid_data_5 ,
db_escape_key_identifier ( '_snmp_f6_' ) => $custom_oid_data_6 ,
db_escape_key_identifier ( '_snmp_f7_' ) => $custom_oid_data_7 ,
db_escape_key_identifier ( '_snmp_f8_' ) => $custom_oid_data_8 ,
db_escape_key_identifier ( '_snmp_f9_' ) => $custom_oid_data_9 ,
db_escape_key_identifier ( '_snmp_f10_' ) => $custom_oid_data_10 ,
db_escape_key_identifier ( '_snmp_f11_' ) => $custom_oid_data_11 ,
db_escape_key_identifier ( '_snmp_f12_' ) => $custom_oid_data_12 ,
db_escape_key_identifier ( '_snmp_f13_' ) => $custom_oid_data_13 ,
db_escape_key_identifier ( '_snmp_f14_' ) => $custom_oid_data_14 ,
db_escape_key_identifier ( '_snmp_f15_' ) => $custom_oid_data_15 ,
db_escape_key_identifier ( '_snmp_f16_' ) => $custom_oid_data_16 ,
db_escape_key_identifier ( '_snmp_f17_' ) => $custom_oid_data_17 ,
db_escape_key_identifier ( '_snmp_f18_' ) => $custom_oid_data_18 ,
db_escape_key_identifier ( '_snmp_f19_' ) => $custom_oid_data_19 ,
db_escape_key_identifier ( '_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
2012-07-16 Miguel de Dios <miguel.dedios@artica.es>
* extensions/agents_modules.php, extensions/users_connected.php,
extensions/agents_alerts.php,
operation/visual_console/render_view.php,
operation/visual_console/public_console.php,
operation/agentes/networkmap.groups.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/networkmap.topology.php, general/header.php,
godmode/db/db_refine.php, godmode/agentes/configurar_agente.php,
godmode/alerts/configure_alert_compound.php,
godmode/setup/setup_visuals.php, godmode/snmpconsole/snmp_alert.php,
godmode/modules/manage_network_components_form_wmi.php,
include/functions_config.php, include/functions_api.php,
include/functions_agents.php, include/functions_forecast.php:
cleaned source code style and change magic numbers for time
constants.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6773 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-16 11:24:04 +02:00
priority = % d , id_alert = % d , al_field1 = '%s' ,
2013-03-05 15:57:35 +01:00
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' ,
2017-02-07 10:41:48 +01:00
al_field11 = '%s' , al_field12 = '%s' , al_field13 = '%s' ,
al_field14 = '%s' , al_field15 = '%s' ,
2013-03-05 15:57:35 +01:00
description = '%s' ,
2012-07-16 Miguel de Dios <miguel.dedios@artica.es>
* extensions/agents_modules.php, extensions/users_connected.php,
extensions/agents_alerts.php,
operation/visual_console/render_view.php,
operation/visual_console/public_console.php,
operation/agentes/networkmap.groups.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/networkmap.topology.php, general/header.php,
godmode/db/db_refine.php, godmode/agentes/configurar_agente.php,
godmode/alerts/configure_alert_compound.php,
godmode/setup/setup_visuals.php, godmode/snmpconsole/snmp_alert.php,
godmode/modules/manage_network_components_form_wmi.php,
include/functions_config.php, include/functions_api.php,
include/functions_agents.php, include/functions_forecast.php:
cleaned source code style and change magic numbers for time
constants.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6773 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-16 11:24:04 +02:00
agent = '%s' , custom_oid = '%s' , oid = '%s' ,
time_threshold = % d , max_alerts = % d , min_alerts = % d ,
2019-01-30 16:18:44 +01:00
" .db_escape_key_identifier('_snmp_f1_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f2_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f3_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f4_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f5_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f6_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f7_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f8_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f9_'). " = '%s' ,
2015-10-14 16:26:37 +02:00
" .db_escape_key_identifier('_snmp_f10_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f11_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f12_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f13_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f14_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f15_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f16_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f17_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f18_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f19_'). " = '%s' ,
" .db_escape_key_identifier('_snmp_f20_'). " = '%s' ,
order_1 = '%d' ,
2014-03-27 11:48:19 +01:00
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 ,
2014-03-19 12:29:56 +01:00
single_value = '%s' , position = '%s' , id_group = '%s'
2012-07-16 Miguel de Dios <miguel.dedios@artica.es>
* extensions/agents_modules.php, extensions/users_connected.php,
extensions/agents_alerts.php,
operation/visual_console/render_view.php,
operation/visual_console/public_console.php,
operation/agentes/networkmap.groups.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/networkmap.topology.php, general/header.php,
godmode/db/db_refine.php, godmode/agentes/configurar_agente.php,
godmode/alerts/configure_alert_compound.php,
godmode/setup/setup_visuals.php, godmode/snmpconsole/snmp_alert.php,
godmode/modules/manage_network_components_form_wmi.php,
include/functions_config.php, include/functions_api.php,
include/functions_agents.php, include/functions_forecast.php:
cleaned source code style and change magic numbers for time
constants.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6773 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-16 11:24:04 +02:00
WHERE id_as = % d " ,
2019-01-30 16:18:44 +01:00
$priority ,
$alert_type ,
$al_field1 ,
$al_field2 ,
$al_field3 ,
$al_field4 ,
$al_field5 ,
$al_field6 ,
$al_field7 ,
$al_field8 ,
$al_field9 ,
$al_field10 ,
$al_field11 ,
$al_field12 ,
$al_field13 ,
$al_field14 ,
$al_field15 ,
$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' ));
}
}
2012-07-13 Miguel de Dios <miguel.dedios@artica.es>
* godmode/snmpconsole/snmp_alert.php,
godmode/servers/manage_recontask_form.php,
include/functions_filemanager.php, include/functions_networkmap.php,
include/constants.php, include/graphs/functions_gd.php,
include/graphs/functions_pchart.php,
operation/events/events_list.php, operation/agentes/graphs.php,
operation/agentes/networkmap.php, operation/agentes/stat_win.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/networkmap.topology.php,
operation/agentes/networkmap.groups.php,
operation/gis_maps/render_view.php: cleaned source code style and
change magic numbers for time constants.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6769 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-13 12:59:40 +02:00
}
2008-10-15 20:40:34 +02:00
// From variable init
// ==================
2016-12-28 13:16:13 +01:00
if ( $update_alert || $duplicate_alert ) {
2019-01-30 16:18:44 +01:00
$id_as = ( int ) get_parameter ( 'id_alert_snmp' , - 1 );
$alert = db_get_row ( 'talert_snmp' , 'id_as' , $id_as );
$id_as = $alert [ 'id_as' ];
$id_alert = $alert [ 'id_alert' ];
$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' ];
$times_fired = $alert [ 'times_fired' ];
$last_fired = $alert [ 'last_fired' ];
$internal_counter = $alert [ 'internal_counter' ];
$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' ];
$al_field11 = $alert [ 'al_field11' ];
$al_field12 = $alert [ 'al_field12' ];
$al_field13 = $alert [ 'al_field13' ];
$al_field14 = $alert [ 'al_field14' ];
$al_field15 = $alert [ 'al_field15' ];
$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' ];
} else if ( $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 = '' ;
$al_field11 = '' ;
$al_field12 = '' ;
$al_field13 = '' ;
$al_field14 = '' ;
$al_field15 = '' ;
$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 ;
2008-06-18 Esteban Sanchez <estebans@artica.es>
* functions.php: Added documentation to all the functions in JavaDoc
format, which is an facto-standard. Deleted unused functions. Improved
the code of some functions. Tab and blankspaces style correction.
Replaced old lang_label with lang_string(). Some functions to print
selects were replaced with a functio to get an array with all the
possible values so the caller will use print_select() with them.
* godmode/agentes/agent_manager.php: Use print_select() instead of
deleted function.
* godmode/agentes/alert_manager_editor.php: Use print_select() instead
of deleted function. Use print_checkbox(). Style correction
* godmode/reporting/map_builder.php, operation/agentes/ver_agente.php,
operation/messages/message.php,
operation/reporting/reporting_viewer_pdf.php:
Replaced deleted functions with their equivalents.
* include/functions_db.php: Documented some functions, some work is
still required. Added get_reports() to get all the reports a user can
see. Deleted unused functions. Replaced deleted functions with their
equivalents. Added get_db_row_sql(), get_previous_data(). Fixed errors
when calculating average, max, min and sum values of an agent module.
* include/functions_reporting.php: Fixed errors when calculating SLA.
* operation/events/events.php: Tab and blankspaces correction.
Replaced form_priority with print_select(). Style correction.
* operation/reporting/custom_reporting.php: Show all the reports a
user can see. Use Pandora functions.
* operation/reporting/reporting_viewer.php: Show unknown label if SLA
can not be calculated.
* operation/snmpconsole/snmp_alert.php: Avoid an extra indentation
level by using check_login() properly. Tab and blankspaces correction.
* index.php, operation/users/user_edit.php: Adopted to renamed
function.
* godmode/db/db_sanity.php, reporting/fgraph.php: Style correction.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-06-19 11:01:12 +02:00
}
2019-01-30 16:18:44 +01:00
// Duplicate alert snmp
if ( $duplicate_alert ) {
$sql = sprintf (
' insert into talert_snmp (
2016-12-28 13:16:13 +01:00
id_alert , al_field1 , al_field2 , al_field3 ,
al_field4 , al_field5 , al_field6 , al_field7 ,
2017-02-07 10:41:48 +01:00
al_field8 , al_field9 , al_field10 , al_field11 ,
2017-04-25 09:30:59 +02:00
al_field12 , al_field13 , al_field14 , al_field15 ,
description , alert_type , agent , custom_oid , oid , time_threshold ,
2016-12-28 13:16:13 +01:00
times_fired , last_fired , max_alerts , min_alerts ,
internal_counter , priority ,
2019-01-30 16:18:44 +01:00
'.db_escape_key_identifier(' _snmp_f1_ ').' ,
'.db_escape_key_identifier(' _snmp_f2_ ').' ,
'.db_escape_key_identifier(' _snmp_f3_ ').' ,
'.db_escape_key_identifier(' _snmp_f4_ ').' ,
'.db_escape_key_identifier(' _snmp_f5_ ').' ,
'.db_escape_key_identifier(' _snmp_f6_ ').' ,
'.db_escape_key_identifier(' _snmp_f7_ ').' ,
'.db_escape_key_identifier(' _snmp_f8_ ').' ,
'.db_escape_key_identifier(' _snmp_f9_ ').' ,
'.db_escape_key_identifier(' _snmp_f10_ ').' ,
'.db_escape_key_identifier(' _snmp_f11_ ').' ,
'.db_escape_key_identifier(' _snmp_f12_ ').' ,
'.db_escape_key_identifier(' _snmp_f13_ ').' ,
'.db_escape_key_identifier(' _snmp_f14_ ').' ,
'.db_escape_key_identifier(' _snmp_f15_ ').' ,
'.db_escape_key_identifier(' _snmp_f16_ ').' ,
'.db_escape_key_identifier(' _snmp_f17_ ').' ,
'.db_escape_key_identifier(' _snmp_f18_ ').' ,
'.db_escape_key_identifier(' _snmp_f19_ ').' ,
'.db_escape_key_identifier(' _snmp_f20_ ' ) . " ,
2016-12-28 13:16:13 +01:00
trap_type , single_value , position , id_group ,
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 )
VALUES
( % d , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' ,
2017-04-25 09:30:59 +02:00
'%s' , '%s' , '%s' , '%s' , % d , '%s' , '%s' , '%s' , % d , % d , % d , % d , % d , % d , % d , '%s' , '%s' , '%s' ,
'%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' ,
'%s' , '%s' , '%s' , '%s' , % d , '%s' , % d , % d , % d , % d , % d , % d , % d , % d ,
% d , % d , % d , % d , % d , % d , % d , % d , % d , % d , % d , % d , % d , % d ) " ,
2019-01-30 16:18:44 +01:00
$id_alert ,
$al_field1 ,
$al_field2 ,
$al_field3 ,
$al_field4 ,
$al_field5 ,
$al_field6 ,
$al_field7 ,
$al_field8 ,
$al_field9 ,
$al_field10 ,
$al_field11 ,
$al_field12 ,
$al_field13 ,
$al_field14 ,
$al_field15 ,
$description ,
$alert_type ,
$source_ip ,
$custom_value ,
$oid ,
$time_threshold ,
$times_fired ,
$last_fired ,
$max_alerts ,
$min_alerts ,
$internal_counter ,
$priority ,
$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 ,
$trap_type ,
$single_value ,
$position ,
$group ,
$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
);
$result = db_process_sql ( $sql );
if ( ! $result ) {
db_pandora_audit ( 'SNMP management' , " Fail try to duplicate snmp alert # $id_as " );
ui_print_error_message ( __ ( 'There was a problem duplicating the alert' ));
} else {
db_pandora_audit ( 'SNMP management' , " Duplicate snmp alert # $id_as " );
ui_print_success_message ( __ ( 'Successfully Duplicate' ));
}
2016-12-28 13:16:13 +01:00
}
2010-02-22 20:03:55 +01:00
// Header
2010-05-20 14:07:19 +02:00
// Alert Delete
// =============
2019-01-30 16:18:44 +01:00
if ( $delete_alert ) {
// Delete alert
$alert_delete = ( int ) get_parameter_get ( 'delete_alert' , 0 );
$result = db_process_sql_delete (
'talert_snmp' ,
[ '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' ));
}
2010-05-20 14:07:19 +02:00
}
2010-02-22 20:03:55 +01:00
2013-08-05 16:23:27 +02:00
if ( $multiple_delete ) {
2019-01-30 16:18:44 +01:00
$delete_ids = get_parameter ( 'delete_ids' , []);
$total = count ( $delete_ids );
$count = 0 ;
foreach ( $delete_ids as $alert_delete ) {
$result = db_process_sql_delete (
'talert_snmp' ,
[ '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 )
);
}
2013-08-05 16:23:27 +02:00
}
2019-01-30 16:18:44 +01:00
$user_groups = users_get_groups ( $config [ 'id_user' ], 'AR' , true );
2014-03-18 17:08:20 +01:00
$str_user_groups = '' ;
$i = 0 ;
2014-07-24 Miguel de Dios <miguel.dedios@artica.es>
* operation/snmpconsole/snmp_view.php,
operation/events/events_list.php, operation/incidents/incident.php,
extensions/files_repo.php,
extensions/files_repo/sql/files_repo.postgreSQL.sql,
extensions/files_repo/functions_files_repo.php,
extensions/files_repo/files_repo_list.php,
godmode/agentes/modificar_agente.php,
godmode/snmpconsole/snmp_alert.php, godmode/db/db_info.php,
include/functions_graph.php, include/functions_db.php,
include/db/postgresql.php, include/db/oracle.php,
include/db/mysql.php, include/functions_update_manager.php,
include/functions_events.php, include/graphs/functions_flot.php,
include/graphs/fgraph.php: tiny fixes for the improve the support of
postgreSQL databases.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@10354 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2014-07-24 18:02:06 +02:00
foreach ( $user_groups as $id => $name ) {
2019-01-30 16:18:44 +01:00
if ( $i == 0 ) {
$str_user_groups .= $id ;
} else {
$str_user_groups .= ',' . $id ;
}
$i ++ ;
2014-03-18 17:08:20 +01:00
}
2008-10-15 20:40:34 +02:00
// Alert form
2013-08-05 16:23:27 +02:00
if ( $create_alert || $update_alert ) {
2019-01-30 16:18:44 +01:00
// 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 '<form name="agente" method="post" action="index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert">' ;
html_print_input_hidden ( 'id_alert_snmp' , $id_as );
if ( $create_alert ) {
html_print_input_hidden ( 'save_alert' , 1 );
}
if ( $update_alert ) {
html_print_input_hidden ( 'modify_alert' , 1 );
}
// SNMP alert filters
echo '<table cellpadding="0" cellspacing="0" width="100%" class="databox filter" style="font-weight: bold">' ;
// Description
echo '<tr>' . '<td class="datos" valign="top">' . __ ( 'Description' ) . '</td>' . '<td class="datos">' ;
html_print_textarea ( 'description' , 3 , 2 , $description , 'style="width:400px;"' );
echo '</td>' . '</tr>' ;
// echo '<tr><td class="datos"><b>' . __('Alert filters') . ui_print_help_icon("snmp_alert_filters", true) . '</b></td></tr>';
// OID
2019-02-22 12:30:27 +01:00
echo '<tr id="tr-oid">' . '<td class="datos2">' . __ ( 'Enterprise String' ) . ui_print_help_tip ( __ ( 'Matches substrings. End the string with $ for exact matches.' ), true ) . '</td>' . '<td class="datos2">' ;
2019-01-30 16:18:44 +01:00
html_print_input_text ( 'oid' , $oid , '' , 50 , 255 );
echo '</td></tr>' ;
// Custom
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Custom Value/OID' );
echo ui_print_help_icon ( 'snmp_alert_custom' , true );
echo '</td><td class="datos">' ;
html_print_textarea ( 'custom_value' , 2 , 2 , $custom_value , 'style="width:400px;"' );
echo '</td></tr>' ;
// SNMP Agent
echo '<tr id="tr-source_ip"><td class="datos2">' . __ ( 'SNMP Agent' ) . ' (IP)</td><td class="datos2">' ;
html_print_input_text ( 'source_ip' , $source_ip , '' , 20 );
echo '</td></tr>' ;
// Group
echo '<tr id="tr-group"><td class="datos2">' . __ ( 'Group' ) . '</td><td class="datos2">' ;
html_print_select_groups (
$config [ 'id_user' ],
'AR' ,
true ,
'group' ,
$group ,
'' ,
'' ,
0 ,
false ,
false ,
false ,
'' ,
false ,
false ,
false ,
false ,
'id_grupo' ,
false
);
echo '</td></tr>' ;
// Trap type
echo '<tr><td class="datos">' . __ ( 'Trap type' ) . '</td><td class="datos">' ;
echo html_print_select ( $trap_types , 'trap_type' , $trap_type , '' , '' , '' , false , false , false );
echo '</td></tr>' ;
// Single value
echo '<tr><td class="datos">' . __ ( 'Single value' ) . '</td><td class="datos">' ;
html_print_input_text ( 'single_value' , $single_value , '' , 20 );
echo '</td></tr>' ;
// Variable bindings/Data #1
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' ) . ui_print_help_icon ( 'field_match_snmp' , true ) . '</td>' . '<td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_1' , $order_1 , '' , 4 );
html_print_input_text ( 'custom_oid_data_1' , $custom_oid_data_1 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #2
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
// echo ui_print_help_icon ("snmp_alert_custom", true);
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_2' , $order_2 , '' , 4 );
html_print_input_text ( 'custom_oid_data_2' , $custom_oid_data_2 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #3
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
// echo ui_print_help_icon ("snmp_alert_custom", true);
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_3' , $order_3 , '' , 4 );
html_print_input_text ( 'custom_oid_data_3' , $custom_oid_data_3 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #4
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
// echo ui_print_help_icon ("snmp_alert_custom", true);
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_4' , $order_4 , '' , 4 );
html_print_input_text ( 'custom_oid_data_4' , $custom_oid_data_4 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #5
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
// echo ui_print_help_icon ("snmp_alert_custom", true);
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_5' , $order_5 , '' , 4 );
html_print_input_text ( 'custom_oid_data_5' , $custom_oid_data_5 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #6
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
// echo ui_print_help_icon ("snmp_alert_custom", true);
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_6' , $order_6 , '' , 4 );
html_print_input_text ( 'custom_oid_data_6' , $custom_oid_data_6 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #7
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_7' , $order_7 , '' , 4 );
html_print_input_text ( 'custom_oid_data_7' , $custom_oid_data_7 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #8
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_8' , $order_8 , '' , 4 );
html_print_input_text ( 'custom_oid_data_8' , $custom_oid_data_8 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #9
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_9' , $order_9 , '' , 4 );
html_print_input_text ( 'custom_oid_data_9' , $custom_oid_data_9 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #10
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_10' , $order_10 , '' , 4 );
html_print_input_text ( 'custom_oid_data_10' , $custom_oid_data_10 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #11
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_11' , $order_11 , '' , 4 );
html_print_input_text ( 'custom_oid_data_11' , $custom_oid_data_11 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #12
echo '<tr id="tr-custom_value">' . '<td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_12' , $order_12 , '' , 4 );
html_print_input_text ( 'custom_oid_data_12' , $custom_oid_data_12 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #13
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_13' , $order_13 , '' , 4 );
html_print_input_text ( 'custom_oid_data_13' , $custom_oid_data_13 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #14
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_14' , $order_14 , '' , 4 );
html_print_input_text ( 'custom_oid_data_14' , $custom_oid_data_14 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #15
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_15' , $order_15 , '' , 4 );
html_print_input_text ( 'custom_oid_data_15' , $custom_oid_data_15 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #16
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_16' , $order_16 , '' , 4 );
html_print_input_text ( 'custom_oid_data_16' , $custom_oid_data_16 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #17
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_17' , $order_17 , '' , 4 );
html_print_input_text ( 'custom_oid_data_17' , $custom_oid_data_17 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #18
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_18' , $order_18 , '' , 4 );
html_print_input_text ( 'custom_oid_data_18' , $custom_oid_data_18 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #19
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_19' , $order_19 , '' , 4 );
html_print_input_text ( 'custom_oid_data_19' , $custom_oid_data_19 , '' , 60 );
echo '</td></tr>' ;
// Variable bindings/Data #20
echo '<tr id="tr-custom_value"><td class="datos" valign="top">' . __ ( 'Variable bindings/Data' );
echo '</td><td class="datos">' ;
echo '#' ;
html_print_input_text ( 'order_20' , $order_20 , '' , 4 );
html_print_input_text ( 'custom_oid_data_20' , $custom_oid_data_20 , '' , 60 );
echo '</td></tr>' ;
// Button
// echo '<tr><td></td><td align="right">';
// End table
// echo "</td></tr></table>";
// Alert configuration
// echo '<table cellpadding="4" cellspacing="4" width="98%" class="databox_color" style="border:1px solid #A9A9A9;">';
// echo '<tr><td class="datos"><b>' . __('Alert configuration') . ui_print_help_icon("snmp_alert_configuration", true) . '</b></td></tr>';
// Alert fields
$al = [
'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 ,
'al_field11' => $al_field11 ,
'al_field12' => $al_field12 ,
'al_field13' => $al_field13 ,
'al_field14' => $al_field14 ,
'al_field15' => $al_field15 ,
];
// Hidden div with help hint to fill with javascript
html_print_div ([ 'id' => 'help_snmp_alert_hint' , 'content' => ui_print_help_icon ( 'snmp_alert_field1' , true ), 'hidden' => true ]);
for ( $i = 1 ; $i <= $config [ 'max_macro_fields' ]; $i ++ ) {
echo '<tr id="table_macros-field' . $i . '"><td class="datos" valign="top">' . html_print_image ( 'images/spinner.gif' , true );
echo '<td class="datos">' . html_print_image ( 'images/spinner.gif' , true );
html_print_input_hidden ( 'field' . $i . '_value' , isset ( $al [ 'al_field' . $i ]) ? $al [ 'al_field' . $i ] : '' );
echo '</td></tr>' ;
}
// Max / Min alerts
echo '<tr><td class="datos2">' . __ ( 'Min. number of alerts' ) . '</td><td class="datos2">' ;
html_print_input_text ( 'min_alerts' , $min_alerts , '' , 3 );
echo '</td></tr><tr><td class="datos">' . __ ( 'Max. number of alerts' ) . '</td><td class="datos">' ;
html_print_input_text ( 'max_alerts' , $max_alerts , '' , 3 );
echo '</td></tr>' ;
// Time Threshold
echo '<tr><td class="datos2">' . __ ( 'Time threshold' ) . '</td><td class="datos2">' ;
$fields = [];
$fields [ $time_threshold ] = human_time_description_raw ( $time_threshold );
$fields [ SECONDS_5MINUTES ] = human_time_description_raw ( SECONDS_5MINUTES );
$fields [ SECONDS_10MINUTES ] = human_time_description_raw ( SECONDS_10MINUTES );
$fields [ SECONDS_15MINUTES ] = human_time_description_raw ( SECONDS_15MINUTES );
$fields [ SECONDS_30MINUTES ] = human_time_description_raw ( SECONDS_30MINUTES );
$fields [ SECONDS_1HOUR ] = human_time_description_raw ( SECONDS_1HOUR );
$fields [ SECONDS_2HOUR ] = human_time_description_raw ( SECONDS_2HOUR );
$fields [ SECONDS_5HOUR ] = human_time_description_raw ( SECONDS_5HOUR );
$fields [ SECONDS_12HOURS ] = human_time_description_raw ( SECONDS_12HOURS );
$fields [ SECONDS_1DAY ] = human_time_description_raw ( SECONDS_1DAY );
$fields [ SECONDS_1WEEK ] = human_time_description_raw ( SECONDS_1WEEK );
$fields [ - 1 ] = __ ( 'Other value' );
html_print_select ( $fields , 'time_threshold' , $time_threshold , '' , '' , '0' , false , false , false , '" style="margin-right:60px' );
echo '<div id="div-time_other" style="display:none">' ;
html_print_input_text ( 'time_other' , 0 , '' , 6 );
echo ' ' . __ ( 'seconds' ) . '</div></td></tr>' ;
// Priority
echo '<tr><td class="datos">' . __ ( 'Priority' ) . '</td><td class="datos">' ;
echo html_print_select ( get_priorities (), 'priority' , $priority , '' , '' , '0' , false , false , false );
echo '</td></tr>' ;
// Alert type (e-mail, event etc.)
echo '<tr><td class="datos">' . __ ( 'Alert action' ) . '</td><td class="datos">' ;
switch ( $config [ 'dbtype' ]) {
case 'mysql' :
case 'postgresql' :
html_print_select_from_sql (
' SELECT id , name
2013-08-06 14:53:39 +02:00
FROM talert_actions
ORDER BY name ' ,
2019-01-30 16:18:44 +01:00
'alert_type' ,
$alert_type ,
'' ,
'' ,
0 ,
false ,
false ,
false
);
break ;
case 'oracle' :
html_print_select_from_sql (
' SELECT id , dbms_lob . substr ( name , 4000 , 1 ) as name
2013-08-06 14:53:39 +02:00
FROM talert_actions
ORDER BY dbms_lob . substr ( name , 4000 , 1 ) ' ,
2019-01-30 16:18:44 +01:00
'alert_type' ,
$alert_type ,
'' ,
'' ,
0 ,
false ,
false ,
false
);
break ;
}
echo '</td></tr>' ;
echo '<tr><td class="datos">' . __ ( 'Position' ) . ui_print_help_icon ( 'snmp_alert_position' , true ) . '</td><td class="datos">' ;
html_print_input_text ( 'position' , $position , '' , 3 );
echo '</td></tr>' ;
echo '</table>' ;
echo " <table style='width:100%'> " ;
echo '<tr><td></td><td align="right">' ;
if ( $id_as > 0 ) {
html_print_submit_button ( __ ( 'Update' ), 'submit' , false , 'class="sub upd"' , false );
} else {
html_print_submit_button ( __ ( 'Create' ), 'submit' , false , 'class="sub wand"' , false );
}
echo '</td></tr></table>' ;
echo '</table>' ;
echo '</form>' ;
} else {
include_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 = '100%' ;
$table_filter -> class = 'databox filters' ;
$table_filter -> data = [];
$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 = '<form name="agente" method="post" action="index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert">' ;
$form_filter .= html_print_input_hidden ( 'filter' , 1 , true );
$form_filter .= html_print_table ( $table_filter , true );
$form_filter .= '<div style="text-align: right; width: ' . $table_filter -> width . '">' ;
$form_filter .= html_print_submit_button ( __ ( 'Filter' ), 'filter_button' , false , 'class="sub filter"' , true );
$form_filter .= '</div>' ;
$form_filter .= '</form>' ;
// echo "<br>";
ui_toggle ( $form_filter , __ ( 'Alert SNMP control filter' ), __ ( 'Toggle filter(s)' ));
$filter = [];
$offset = ( int ) get_parameter ( 'offset' );
$limit = ( int ) $config [ 'block_size' ];
if ( $filter_param ) {
// Move the first page
$offset = 0 ;
$url_pagination = 'index.php?' . 'sec=snmpconsole&' . 'sec2=godmode/snmpconsole/snmp_alert&' . 'free_search=' . $free_search . '&' . 'trap_type_filter=' . $trap_type_filter . '&' . 'priority_filter=' . $priority_filter ;
} else {
$url_pagination = 'index.php?' . 'sec=snmpconsole&' . 'sec2=godmode/snmpconsole/snmp_alert&' . 'free_search=' . $free_search . '&' . 'trap_type_filter=' . $trap_type_filter . '&' . 'priority_filter=' . $priority_filter . '&' . 'offset=' . $offset ;
}
$where_sql = '' ;
if ( ! empty ( $free_search )) {
switch ( $config [ 'dbtype' ]) {
case 'mysql' :
case 'postgresql' :
// $where_sql = ' 1 = 1';
if ( $trap_type_filter != SNMP_TRAP_TYPE_NONE ) {
$where_sql .= ' AND `trap_type` = ' . $trap_type_filter ;
}
if ( $priority_filter != - 1 ) {
$where_sql .= ' AND `priority` = ' . $priority_filter ;
}
$where_sql .= " AND (`single_value` LIKE '% " . $free_search . " %'
OR `_snmp_f10_` LIKE '%".$free_search."%'
OR `_snmp_f9_` LIKE '%".$free_search."%'
OR `_snmp_f8_` LIKE '%".$free_search."%'
OR `_snmp_f7_` LIKE '%".$free_search."%'
OR `_snmp_f6_` LIKE '%".$free_search."%'
OR `_snmp_f5_` LIKE '%".$free_search."%'
OR `_snmp_f4_` LIKE '%".$free_search."%'
OR `_snmp_f3_` LIKE '%".$free_search."%'
OR `_snmp_f2_` LIKE '%".$free_search."%'
OR `_snmp_f1_` LIKE '%".$free_search."%'
OR `oid` LIKE '%".$free_search."%'
OR `custom_oid` LIKE '%".$free_search."%'
OR `agent` LIKE '%".$free_search."%'
OR `description` LIKE '%".$free_search."%' ) " ;
break ;
case 'oracle' :
// $where_sql = ' 1 = 1';
if ( $trap_type_filter != SNMP_TRAP_TYPE_NONE ) {
$where_sql .= ' AND trap_type = ' . $trap_type_filter ;
}
if ( $priority_filter != - 1 ) {
$where_sql .= ' AND priority = ' . $priority_filter ;
}
$where_sql .= " AND (single_value LIKE '% " . $free_search . " %'
OR \ " _snmp_f10_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f9_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f8_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f7_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f6_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f5_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f4_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f3_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f2_ \" LIKE '% " . $free_search . " %'
OR \ " _snmp_f1_ \" LIKE '% " . $free_search . " %'
OR oid LIKE '%".$free_search."%'
OR custom_oid LIKE '%".$free_search."%'
OR agent LIKE '%".$free_search."%'
OR description LIKE '%".$free_search."%' ) " ;
break ;
}
}
$count = db_get_value_sql (
" SELECT COUNT(*)
FROM talert_snmp WHERE id_group IN ( $str_user_groups ) " . $where_sql
);
$result = [];
// Overview
if ( $count == 0 ) {
$result = [];
ui_print_info_message ([ 'no_close' => true , 'message' => __ ( 'There are no SNMP alerts' ) ]);
} else {
ui_pagination ( $count , $url_pagination );
switch ( $config [ 'dbtype' ]) {
case 'mysql' :
case 'postgresql' :
$where_sql .= ' LIMIT ' . $limit . ' OFFSET ' . $offset ;
$result = db_get_all_rows_sql (
" SELECT *
2015-10-14 16:26:37 +02:00
FROM talert_snmp
2019-01-30 16:18:44 +01:00
WHERE id_group IN ( $str_user_groups ) " . $where_sql
);
break ;
case 'oracle' :
$sql = " SELECT *
2015-10-14 16:26:37 +02:00
FROM talert_snmp
2019-01-30 16:18:44 +01:00
WHERE id_group IN ( $str_user_groups ) " . $where_sql ;
$set = [];
if ( isset ( $offset ) && isset ( $limit )) {
$set [ 'limit' ] = $limit ;
$set [ 'offset' ] = $offset ;
}
$result = oracle_recode_query ( $sql , $set , 'AND' , false );
break ;
}
}
$table = new stdClass ();
$table -> data = [];
$table -> head = [];
$table -> size = [];
$table -> cellpadding = 4 ;
$table -> cellspacing = 4 ;
$table -> width = '100%' ;
$table -> class = 'databox data' ;
$table -> align = [];
$table -> head [ 0 ] = '<span title="' . __ ( 'Position' ) . '">' . __ ( 'P.' ) . '</span>' ;
$table -> align [ 0 ] = 'left' ;
$table -> head [ 1 ] = __ ( 'Alert action' );
$table -> head [ 2 ] = __ ( 'SNMP Agent' );
$table -> size [ 2 ] = '90px' ;
$table -> align [ 2 ] = 'left' ;
$table -> head [ 3 ] = __ ( 'Enterprise String' );
$table -> align [ 3 ] = 'left' ;
$table -> head [ 4 ] = __ ( 'Custom Value/Enterprise String' );
$table -> align [ 4 ] = 'left' ;
$table -> head [ 5 ] = __ ( 'Description' );
$table -> head [ 6 ] = '<span title="' . __ ( 'Times fired' ) . '">' . __ ( 'TF.' ) . '</span>' ;
$table -> size [ 6 ] = '50px' ;
$table -> align [ 6 ] = 'left' ;
$table -> head [ 7 ] = __ ( 'Last fired' );
$table -> align [ 7 ] = 'left' ;
$table -> head [ 8 ] = __ ( 'Action' );
$table -> size [ 8 ] = '90px' ;
$table -> align [ 8 ] = 'left' ;
$table -> head [ 9 ] = html_print_checkbox ( 'all_delete_box' , '1' , false , true );
$table -> size [ 9 ] = '10px' ;
$table -> align [ 9 ] = 'left' ;
foreach ( $result as $row ) {
$data = [];
$data [ 0 ] = $row [ 'position' ];
$url = 'index.php?' . 'sec=snmpconsole&' . 'sec2=godmode/snmpconsole/snmp_alert&' . 'id_alert_snmp=' . $row [ 'id_as' ] . '&' . 'update_alert=1' ;
$data [ 1 ] = '<table>' ;
$data [ 1 ] .= '<tr>' ;
$data [ 1 ] .= '<a href="' . $url . '">' . alerts_get_alert_action_name ( $row [ 'id_alert' ]) . '</a>' ;
$other_actions = db_get_all_rows_filter ( 'talert_snmp_action' , [ 'id_alert_snmp' => $row [ 'id_as' ]]);
$data [ 1 ] .= '</tr>' ;
if ( $other_actions != false ) {
foreach ( $other_actions as $action ) {
$data [ 1 ] .= '<tr>' ;
$data [ 1 ] .= '<td>' . alerts_get_alert_action_name ( $action [ 'alert_type' ]) . '</td>' ;
$data [ 1 ] .= '<td> <a href="index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert&delete_action=1&action_id=' . $action [ 'id' ] . '" onClick="javascript:return confirm(\'' . __ ( 'Are you sure?' ) . '\')">' . html_print_image ( 'images/cross.png' , true , [ 'border' => '0' , 'alt' => __ ( 'Delete' )]) . '</a> </td>' ;
$data [ 1 ] .= '</tr>' ;
}
}
$data [ 1 ] .= '</table>' ;
$data [ 2 ] = $row [ 'agent' ];
$data [ 3 ] = $row [ 'oid' ];
$data [ 4 ] = $row [ 'custom_oid' ];
$data [ 5 ] = $row [ 'description' ];
$data [ 6 ] = $row [ 'times_fired' ];
if (( $row [ 'last_fired' ] != '1970-01-01 00:00:00' ) and ( $row [ 'last_fired' ] != '01-01-1970 00:00:00' )) {
$data [ 7 ] = ui_print_timestamp ( $row [ 'last_fired' ], true );
} else {
$data [ 7 ] = __ ( 'Never' );
}
$data [ 8 ] = '<a href="index.php?' . 'sec=snmpconsole&' . 'sec2=godmode/snmpconsole/snmp_alert&' . 'duplicate_alert=1&' . 'id_alert_snmp=' . $row [ 'id_as' ] . '">' . html_print_image ( 'images/copy.png' , true , [ 'alt' => __ ( 'Duplicate' ), 'title' => __ ( 'Duplicate' )]) . '</a>' . '<a href="index.php?' . 'sec=snmpconsole&' . 'sec2=godmode/snmpconsole/snmp_alert&' . 'update_alert=1&' . 'id_alert_snmp=' . $row [ 'id_as' ] . '">' . html_print_image ( 'images/config.png' , true , [ 'border' => '0' , 'alt' => __ ( 'Update' )]) . '</a>' . '<a href="javascript:show_add_action_snmp(\'' . $row [ 'id_as' ] . '\');">' . html_print_image ( 'images/add.png' , true , [ 'title' => __ ( 'Add action' )]) . '</a>' . '<a href="index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert&delete_alert=' . $row [ 'id_as' ] . '" onClick="javascript:return confirm(\'' . __ ( 'Are you sure?' ) . '\')">' . html_print_image ( 'images/cross.png' , true , [ 'border' => '0' , 'alt' => __ ( 'Delete' )]) . '</a>' ;
$data [ 9 ] = html_print_checkbox_extended (
'delete_ids[]' ,
$row [ 'id_as' ],
false ,
false ,
false ,
'class="chk_delete"' ,
true
);
$idx = count ( $table -> data );
// The current index of the table is 1 less than the count of table data so we count before adding to table->data
array_push ( $table -> data , $data );
$table -> rowclass [ $idx ] = get_priority_class ( $row [ 'priority' ]);
}
// DIALOG ADD MORE ACTIONS
echo '<div id="add_action_snmp-div" style="display:none;text-align:left">' ;
echo '<form id="add_action_form" method="post">' ;
echo '<table class="databox_color" style="width:100%">' ;
echo '<tr>' ;
echo '<td class="datos2" style="font-weight:bold;padding:6px;">' ;
echo __ ( 'ID Alert SNMP' );
echo '</td>' ;
echo '<td class="datos">' ;
html_print_input_text ( 'id_alert_snmp' , '' , '' , 3 , 10 , false , true );
echo '</td>' ;
echo '</tr>' ;
echo '<tr class="datos2">' ;
echo '<td class="datos2" style="font-weight:bold;padding:6px;">' ;
echo __ ( 'Action' );
echo '</td>' ;
echo '<td class="datos2">' ;
switch ( $config [ 'dbtype' ]) {
case 'mysql' :
case 'postgresql' :
html_print_select_from_sql (
' SELECT id , name
2014-03-31 17:00:16 +02:00
FROM talert_actions
ORDER BY name ' ,
2019-01-30 16:18:44 +01:00
'alert_type' ,
$alert_type ,
'' ,
'' ,
0 ,
false ,
false ,
false
);
break ;
case 'oracle' :
html_print_select_from_sql (
' SELECT id , dbms_lob . substr ( name , 4000 , 1 ) as name
2014-03-31 17:00:16 +02:00
FROM talert_actions
ORDER BY dbms_lob . substr ( name , 4000 , 1 ) ' ,
2019-01-30 16:18:44 +01:00
'alert_type' ,
$alert_type ,
'' ,
'' ,
0 ,
false ,
false ,
false
);
break ;
}
echo '</td>' ;
echo '</tr>' ;
$al = [
'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 ,
'al_field11' => $al_field11 ,
'al_field12' => $al_field12 ,
'al_field13' => $al_field13 ,
'al_field14' => $al_field14 ,
'al_field15' => $al_field15 ,
];
for ( $i = 1 ; $i <= $config [ 'max_macro_fields' ]; $i ++ ) {
echo '<tr id="table_macros-field' . $i . '"><td class="datos" valign="top">' . html_print_image ( 'images/spinner.gif' , true );
echo '<td class="datos">' . html_print_image ( 'images/spinner.gif' , true );
html_print_input_hidden ( 'field' . $i . '_value' , isset ( $al [ 'al_field' . $i ]) ? $al [ 'al_field' . $i ] : '' );
echo '</td>' ;
echo '</tr>' ;
}
html_print_div ([ 'id' => 'help_snmp_alert_hint' , 'content' => ui_print_help_icon ( 'snmp_alert_field1' , true ), 'hidden' => true ]);
echo '</table>' ;
html_print_input_hidden ( 'add_alert' , 1 );
echo html_print_submit_button ( __ ( 'Add' ), 'addbutton' , false , [ 'class' => 'sub next' , 'style' => 'float:right' ], true );
echo '</form>' ;
echo '</div>' ;
// END DIALOG ADD MORE ACTIONS
if ( ! empty ( $table -> data )) {
echo '<form name="agente" method="post" action="index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert">' ;
html_print_table ( $table );
ui_pagination ( $count , $url_pagination );
echo '<div style="float:right; margin-left: 10px;">' ;
html_print_input_hidden ( 'multiple_delete' , 1 );
html_print_submit_button ( __ ( 'Delete selected' ), 'delete_button' , false , 'class="sub delete"' );
echo '</div>' ;
echo '</form>' ;
}
echo '<div style="float:right;">' ;
echo '<form name="agente" method="post" action="index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert">' ;
html_print_input_hidden ( 'create_alert' , 1 );
html_print_submit_button ( __ ( 'Create' ), 'alert' , false , 'class="sub next"' );
echo '</form></div>' ;
echo '<div style="margin-left: 30px; line-height: 17px; vertical-align: top; width:120px;">' ;
echo '<h3>' . __ ( 'Legend' ) . '</h3>' ;
foreach ( get_priorities () as $num => $name ) {
echo '<span class="' . get_priority_class ( $num ) . '">' . $name . '</span>' ;
echo '<br />' ;
}
echo '</div>' ;
unset ( $table );
2006-03-27 05:37:27 +02:00
}
2014-03-31 17:00:16 +02:00
2015-10-14 16:26:37 +02:00
ui_require_javascript_file ( 'tiny_mce' , 'include/javascript/tiny_mce/' );
2006-03-27 05:37:27 +02:00
?>
2008-10-15 20:40:34 +02:00
< script language = " javascript " type = " text/javascript " >
2013-08-05 16:23:27 +02:00
2008-10-15 20:40:34 +02:00
function time_changed () {
2019-01-30 16:18:44 +01:00
var time = this . value ;
if ( time == - 1 ) {
$ ( '#time_threshold' ) . fadeOut ( 'normal' , function () {
$ ( '#div-time_other' ) . fadeIn ( 'normal' );
});
}
2008-10-15 20:40:34 +02:00
}
$ ( document ) . ready ( function () {
2019-01-30 16:18:44 +01:00
$ ( '#time_threshold' ) . change ( time_changed );
$ ( " input[name=all_delete_box] " ) . change ( function () {
if ( $ ( this ) . is ( " :checked " )) {
$ ( " input[name='delete_ids[]'] " ) . check ();
}
else {
$ ( " input[name='delete_ids[]'] " ) . uncheck ();
}
});
$ ( " #alert_type " ) . change ( function () {
values = Array ();
values . push ({
name : " page " ,
value : " godmode/alerts/alert_commands "
});
values . push ({
name : " get_alert_command " ,
value : " 1 "
});
values . push ({
name : " id_action " ,
value : this . value
});
values . push ({
name : " get_recovery_fields " ,
value : " 0 "
});
jQuery . post ( < ? php echo " ' " . ui_get_full_url ( 'ajax.php' , false , false , false ) . " ' " ; ?> ,
values ,
function ( data , status ) {
var max_fields = parseInt ( '<?php echo $config[' max_macro_fields ']; ?>' );
original_command = js_html_entity_decode ( data [ " command " ]);
command_description = js_html_entity_decode ( data [ " description " ]);
for ( i = 1 ; i <= max_fields ; i ++ ) {
var old_value = '' ;
// Only keep the value if is provided from hidden (first time)
var id_field = $ ( " [name=field " + i + " _value] " ) . attr ( 'id' );
if ( id_field == " hidden-field " + i + " _value " ) {
old_value = $ ( " [name=field " + i + " _value] " ) . val ();
}
// If the row is empty, hide de row
if ( data [ " fields_rows " ][ i ] == '' ) {
$ ( '#table_macros-field' + i ) . hide ();
}
else {
$ ( '#table_macros-field' + i ) . replaceWith ( data [ " fields_rows " ][ i ]);
// The row provided has a predefined class. We delete it
$ ( '#table_macros-field' + i )
. removeAttr ( 'class' );
//Remove this to put the help message in alert commands, to do it more general
// Add help hint only in first field
/* if ( i == 1 ) {
var td_content =
$ ( '#table_macros-field' + i )
. find ( 'td' ) . eq ( 0 );
td_content
. html (
td_content . html () +
$ ( '#help_snmp_alert_hint' ) . html ()
);
} */
$ ( " [name=field " + i + " _value] " ) . val ( old_value );
$ ( '#table_macros-field' ) . show ();
}
}
},
" json "
);
});
// Charge the fields of the action
$ ( " #alert_type " ) . trigger ( 'change' );
$ ( " #submit-delete_button " ) . click ( function () {
confirmation = confirm ( " <?php echo __('Are you sure?'); ?> " );
if ( ! confirmation ) {
return ;
}
});
tinyMCE . init ({
selector : 'textarea.tiny-mce-editor' ,
theme : " advanced " ,
plugins : " preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable " ,
theme_advanced_buttons1 : " bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select " ,
theme_advanced_buttons2 : " search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor " ,
theme_advanced_buttons3 : " " ,
theme_advanced_toolbar_location : " top " ,
theme_advanced_toolbar_align : " left " ,
theme_advanced_resizing : true ,
theme_advanced_statusbar_location : " bottom " ,
force_p_newlines : false ,
forced_root_block : '' ,
inline_styles : true ,
valid_children : " +body[style] " ,
element_format : " html "
});
2014-03-31 17:00:16 +02:00
});
function show_add_action_snmp ( id_alert_snmp ) {
2019-01-30 16:18:44 +01:00
$ ( " #add_action_snmp-div " ) . hide ()
. dialog ({
resizable : true ,
draggable : true ,
title : '<?php echo __(' Add action '); ?>' ,
modal : true ,
overlay : {
opacity : 0.5 ,
background : " black "
},
width : 550 ,
height : 400
})
. show ();
$ ( " #text-id_alert_snmp " ) . val ( id_alert_snmp );
2014-03-31 17:00:16 +02:00
}
2008-10-15 20:40:34 +02:00
</ script >