pandorafms/pandora_console/operation/events/sound_events.php

428 lines
11 KiB
PHP
Raw Normal View History

<?php
2021-04-06 19:11:37 +02:00
/**
* Events sounds.
*
* @category Sounds
* @package Pandora FMS
* @subpackage Community
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* 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.
* ============================================================================
*/
require_once '../../include/config.php';
require_once '../../include/functions.php';
require_once '../../include/functions_db.php';
require_once '../../include/auth/mysql.php';
global $config;
2021-04-06 19:11:37 +02:00
// Check user.
check_login();
$config['id_user'] = $_SESSION['id_usuario'];
$event_a = check_acl($config['id_user'], 0, 'ER');
$event_w = check_acl($config['id_user'], 0, 'EW');
$event_m = check_acl($config['id_user'], 0, 'EM');
2016-09-08 16:06:12 +02:00
$access = ($event_a == true) ? 'ER' : (($event_w == true) ? 'EW' : (($event_m == true) ? 'EM' : 'ER'));
2021-04-06 19:11:37 +02:00
if (check_acl($config['id_user'], 0, 'ER') === false
&& check_acl($config['id_user'], 0, 'EW') === false
&& check_acl($config['id_user'], 0, 'EM') === false
) {
db_pandora_audit('ACL Violation', 'Trying to access event viewer');
include 'general/noaccess.php';
return;
}
$agents = agents_get_group_agents(0, false, 'none', false, true);
2020-09-29 14:22:58 +02:00
ob_start('ui_process_page_head');
ob_start();
echo '<html>';
echo '<head>';
2020-09-29 14:22:58 +02:00
echo '<title>'.__('Sound Events').'</title>';
?>
<style type='text/css'>
* {
margin: 0;
padding: 0;
}
2021-04-06 19:11:37 +02:00
img {
border: 0;
}
</style>
<?php
echo '<link rel="icon" href="../../'.ui_get_favicon().'" type="image/ico" />';
if ($config['style'] === 'pandora_black') {
echo '<link rel="stylesheet" href="../../include/styles/pandora_black.css" type="text/css" />';
} else {
echo '<link rel="stylesheet" href="../../include/styles/pandora.css" type="text/css" />';
}
echo '</head>';
echo "<body class='sound_events'>";
echo "<h1 class='modalheaderh1'>".__('Sound console').'</h1>';
// Connection lost alert.
ui_require_css_file('register', 'include/styles/', true);
$conn_title = __('Connection with server has been lost');
$conn_text = __('Connection to the server has been lost. Please check your internet connection or contact with administrator.');
ui_require_javascript_file('connection_check');
set_js_value('absolute_homeurl', ui_get_full_url(false, false, false, false));
2021-04-06 19:11:37 +02:00
ui_print_message_dialog(
$conn_title,
$conn_text,
'connection',
'/images/error_1.png'
);
2019-07-16 10:16:25 +02:00
$table = new StdClass;
$table->width = '100%';
$table->class = 'w16px sound_div_background ';
$table->size[0] = '10%';
$table->rowclass[0] = 'bold_top';
$table->rowclass[1] = 'bold_top';
$table->rowclass[2] = 'bold_top';
$table->data[0][0] = __('Group');
2021-04-06 19:11:37 +02:00
$table->data[0][1] = html_print_select_groups(
false,
$access,
true,
'group',
'',
'changeGroup();',
'',
0,
true,
false,
true,
'',
false,
'max-width:200px;'
).'<br /><br />';
$table->data[0][2] = __('Type');
2021-04-06 19:11:37 +02:00
$table->data[0][3] = html_print_checkbox(
'alert_fired',
'alert_fired',
true,
true,
false,
'changeType();'
);
$table->data[0][3] .= __('Alert fired').'<br />';
$table->data[0][3] .= html_print_checkbox(
'critical',
'critical',
true,
true,
false,
'changeType();'
);
$table->data[0][3] .= __('Monitor critical').'<br />';
$table->data[0][3] .= html_print_checkbox(
'unknown',
'unknown',
true,
true,
false,
'changeType();'
);
$table->data[0][3] .= __('Monitor unknown').'<br />';
$table->data[0][3] .= html_print_checkbox(
'warning',
'warning',
true,
true,
false,
'changeType();'
);
$table->data[0][3] .= __('Monitor warning').'<br />';
$table->data[1][0] = __('Agent');
2021-04-06 19:11:37 +02:00
$table->data[1][1] = html_print_select(
$agents,
'id_agents[]',
true,
false,
'',
'',
true,
true,
'',
'',
'',
'max-width:200px; height:100px',
'',
false,
'',
'',
true
);
$table->data[1][2] = __('Event');
2021-04-06 19:11:37 +02:00
$table->data[1][3] = html_print_textarea(
'events_fired',
200,
20,
'',
'readonly="readonly" style="max-height:100px; resize:none;"',
true
);
2011-04-27 Juan Manuel Ramon <juanmanuel.ramon@artica.es> * include/functions_graph.php include/functions_users.php include/functions_events.php include/functions_html.php include/functions_menu.php include/styles/pandora.css include/graphs/functions_pchart.php include/functions_messages.php include/functions_exportserver.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_groups.php include/functions_gis.php include/functions_networkmap.php include/functions_servers.php include/functions_network_components.php include/functions_visual_map.php include/ajax/skins.ajax.php include/ajax/visual_console_builder.ajax.php include/help/en/help_gis_map_builder.php include/help/en/help_agent_status.php include/help/en/help_eventview.php include/help/en/help_configure_gis_map.php include/help/en/help_cascade_protection.php include/help/en/help_setup_gis_index.php include/help/es/help_gis_map_builder.php include/help/es/help_agent_status.php include/help/es/help_eventview.php include/help/es/help_configure_gis_map.php include/help/es/help_cascade_protection.php include/help/ja/help_gis_map_builder.php include/help/ja/help_agent_status.php include/help/ja/help_eventview.php include/help/ja/help_configure_gis_map.php include/help/ja/help_cascade_protection.php include/help/ja/help_setup_gis_index.php include/functions_ui.php include/functions_incidents.php include/functions.php include/functions_agents.php include/functions_db.php include/functions_fsgraph.php include/functions_extensions.php include/functions_ui_renders.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.php extensions/agents_modules.php extensions/dbmanager.php extensions/resource_registration.php extensions/resource_exportation.php extensions/users_connected.php extensions/module_groups.php extensions/update_manager/settings.php extensions/update_manager/main.php operation/incidents/incident.incident.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident.tracking.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/search_modules.php operation/extensions.php operation/visual_console/render_view.php operation/visual_console/index.php operation/agentes/status_monitor.php operation/agentes/estado_ultimopaquete.php operation/agentes/datos_agente.php operation/agentes/alerts_status.php operation/agentes/estado_generalagente.php operation/agentes/custom_fields.php operation/agentes/estado_agente.php operation/agentes/networkmap.topology.php operation/agentes/alerts_status.functions.php operation/agentes/networkmap.groups.php operation/agentes/sla_view.php operation/agentes/exportdata.php operation/agentes/gis_view.php operation/agentes/estado_monitores.php operation/agentes/ver_agente.php operation/agentes/graphs.php operation/agentes/tactical.php operation/agentes/group_view.php operation/agentes/networkmap.php operation/agentes/stat_win.php operation/servers/view_server.php operation/servers/view_server_detail.php operation/search_agents.php operation/search_graphs.php operation/snmpconsole/snmp_view.php operation/users/user_edit.php operation/integria_incidents/incident.incident.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident.tracking.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/events/export_csv.php operation/events/sound_events.php operation/events/events_validate.php operation/events/events_list.php operation/events/events.php operation/search_alerts.php operation/messages/message.php operation/reporting/reporting_xml.php operation/reporting/reporting_viewer.php operation/reporting/graph_viewer.php operation/reporting/custom_reporting.php operation/search_reports.php operation/search_maps.php operation/search_results.php operation/search_users.php mobile/operation/agents/monitor_status.php mobile/operation/agents/view_agents.php mobile/operation/agents/tactical.php mobile/operation/agents/view_alerts.php mobile/operation/agents/group_view.php mobile/operation/events/events.php mobile/operation/servers/view_servers.php mobile/include/user.class.php general/pandora_help.php general/noaccess.php general/login_page.php general/logon_ok.php general/logoff.php general/ui/agents_list.php general/header.php godmode/groups/modu_group_list.php godmode/groups/configure_group.php godmode/groups/configure_modu_group.php godmode/groups/group_list.php godmode/admin_access_logs.php godmode/extensions.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/agentes/agent_template.php godmode/agentes/module_manager_editor_common.php godmode/agentes/module_manager_editor_network.php godmode/agentes/fields_manager.php godmode/agentes/module_manager_editor_wmi.php godmode/agentes/module_manager_editor_plugin.php godmode/agentes/agent_conf_gis.php godmode/agentes/module_manager_editor_prediction.php godmode/agentes/module_manager.php godmode/agentes/modificar_agente.php godmode/agentes/configurar_agente.php godmode/agentes/configure_field.php godmode/agentes/module_manager_editor.php godmode/agentes/planned_downtime.php godmode/agentes/manage_config_remote.php godmode/agentes/agent_manager.php godmode/servers/recon_script.php godmode/servers/plugin.php godmode/servers/manage_recontask.php godmode/servers/modificar_server.php godmode/servers/manage_recontask_form.php godmode/alerts/alert_list.list.php godmode/alerts/configure_alert_compound.php godmode/alerts/alert_compounds.php godmode/alerts/alert_list.php godmode/alerts/configure_alert_template.php godmode/alerts/alert_templates.php godmode/alerts/configure_alert_action.php godmode/alerts/configure_alert_command.php godmode/alerts/alert_actions.php godmode/alerts/alert_list.builder.php godmode/alerts/alert_commands.php godmode/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.php godmode/setup/file_manager.php godmode/setup/os.list.php godmode/setup/news.php godmode/setup/gis_step_2.php godmode/setup/links.php godmode/setup/setup.php godmode/setup/os.php godmode/setup/performance.php godmode/setup/setup_auth.php godmode/setup/gis.php godmode/setup/os.builder.php godmode/setup/setup_visuals.php godmode/users/user_list.php godmode/users/configure_user.php godmode/users/configure_profile.php godmode/gis_maps/configure_gis_map.php godmode/gis_maps/index.php godmode/massive/massive_add_alerts.php godmode/massive/massive_copy_modules.php godmode/massive/massive_delete_agents.php godmode/massive/massive_enable_disable_alerts.php godmode/massive/massive_operations.php godmode/massive/massive_delete_profiles.php godmode/massive/massive_edit_agents.php godmode/massive/massive_delete_action_alerts.php godmode/massive/massive_delete_modules.php godmode/massive/massive_add_profiles.php godmode/massive/massive_delete_alerts.php godmode/massive/massive_edit_modules.php godmode/massive/massive_standby_alerts.php godmode/massive/massive_add_action_alerts.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_components_form_common.php godmode/modules/manage_network_components_form_network.php godmode/modules/manage_network_templates_form.php godmode/modules/manage_network_components_form_wmi.php godmode/modules/manage_network_components.php godmode/modules/manage_nc_groups.php godmode/modules/manage_network_components_form_plugin.php godmode/reporting/reporting_builder.list_items.php godmode/reporting/graph_builder.main.php godmode/reporting/visual_console_builder.wizard.php godmode/reporting/visual_console_builder.php godmode/reporting/reporting_builder.preview.php godmode/reporting/reporting_builder.main.php godmode/reporting/visual_console_builder.data.php godmode/reporting/visual_console_builder.elements.php godmode/reporting/graph_builder.php godmode/reporting/graph_builder.graph_editor.php godmode/reporting/reporting_builder.php godmode/reporting/visual_console_builder.editor.php godmode/reporting/reporting_builder.item_editor.php godmode/reporting/map_builder.php godmode/reporting/graphs.php godmode/reporting/graph_builder.preview.php: Now functions on functions_html.php, functions_gis.php, functions_filemanager.php, functions_exportserver.php have "html_", "gis_", "filemanager_" and "exportserver_" prefix respectively. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4281 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-27 15:43:31 +02:00
html_print_table($table);
2019-07-16 10:16:25 +02:00
$table = new StdClass;
$table->width = '100%';
$table->class = 'w16px sound_div_background text_center';
2021-04-06 19:11:37 +02:00
$table->data[0][0] = '<a href="javascript: toggleButton();">';
$table->data[0][0] .= html_print_image(
'images/play.button.png',
true,
['id' => 'button']
);
$table->data[0][0] .= '</a>';
$table->data[0][1] = '<a href="javascript: ok();">';
$table->data[0][1] .= html_print_image(
'images/ok.button.png',
true,
['style' => 'margin-left: 15px;']
);
$table->data[0][1] .= '</a>';
$table->data[0][2] = '<a href="javascript: test_sound_button();">';
$table->data[0][2] .= html_print_image(
'images/icono_test.png',
true,
[
'id' => 'button_try',
'style' => 'margin-left: 15px;',
]
);
$table->data[0][2] .= '</a>';
$table->data[0][3] = html_print_image(
'images/tick_sound_events.png',
true,
[
'id' => 'button_status',
'style' => 'margin-left: 15px;',
]
);
html_print_table($table);
?>
<script type="text/javascript">
var group = 0;
var alert_fired = true;
var critical = true;
var warning = true;
var unknown = true;
var running = false;
var id_row = 0;
var button_play_status = "play";
var test_sound = false;
function test_sound_button() {
if (!test_sound) {
$("#button_try").attr('src', '../../images/icono_test.png');
$('body').append("<audio src='../../include/sounds/Star_Trek_emergency_simulation.wav' autoplay='true' hidden='true' loop='false'>");
test_sound = true;
}
else {
$("#button_try").attr('src', '../../images/icono_test.png');
$('body audio').remove();
test_sound = false;
}
}
function changeGroup() {
group = $("#group").val();
jQuery.post ("../../ajax.php",
{"page" : "include/ajax/agent",
"get_agents_group": 1,
"id_group": group
},
function (data) {
$("#id_agents").empty();
jQuery.each (data, function (id, value) {
if (value != "") {
2021-04-06 19:11:37 +02:00
$("#id_agents")
.append(
'<option value="' + id + '">' + value + '</option>'
);
}
});
},
"json"
);
}
function changeType() {
2020-10-23 13:53:38 +02:00
alert_fired = false;
critical = false;
warning = false;
unknown = false;
if($("input[name=alert_fired]").is(':checked') ) {
alert_fired = true;
}
if($("input[name=critical]").is(':checked') ) {
critical = true;
}
if($("input[name=warning]").is(':checked') ) {
warning = true;
}
if($("input[name=unknown]").is(':checked') ) {
unknown = true;
}
}
function toggleButton() {
if (button_play_status == 'pause') {
$("#button").attr('src', '../../images/play.button.png');
stopSound();
2021-04-06 19:11:37 +02:00
button_play_status = 'play';
}
else {
$("#button").attr('src', '../../images/pause.button.png');
forgetPreviousEvents();
startSound();
2021-04-06 19:11:37 +02:00
button_play_status = 'pause';
}
}
function ok() {
$('#button_status').attr('src','../../images/tick_sound_events.png');
$('audio').remove();
$('#textarea_events_fired').val("");
}
function stopSound() {
$('audio').remove();
$('body').css('background', '#494949');
running = false;
}
function startSound() {
running = true;
}
function forgetPreviousEvents() {
var agents = $("#id_agents").val();
jQuery.post ("../../ajax.php",
2019-07-15 15:31:01 +02:00
{"page" : "include/ajax/events",
"get_events_fired": 1,
"id_group": group,
"alert_fired": alert_fired,
"critical": critical,
"warning": warning,
"unknown": unknown,
2019-07-16 10:16:25 +02:00
"id_row": id_row,
"agents[]" : agents
},
function (data) {
firedId = parseInt(data['fired']);
if (firedId != 0) {
id_row = firedId;
}
running = true;
},
"json"
);
}
function check_event() {
var agents = $("#id_agents").val();
if (running) {
jQuery.post ("../../ajax.php",
2019-07-15 15:31:01 +02:00
{"page" : "include/ajax/events",
"get_events_fired": 1,
"id_group": group,
"alert_fired": alert_fired,
"critical": critical,
"warning": warning,
"unknown": unknown,
2019-07-16 10:16:25 +02:00
"id_row": id_row,
"agents[]" : agents,
},
function (data) {
firedId = parseInt(data['fired']);
if (firedId != 0) {
id_row = firedId;
var actual_text = $('#textarea_events_fired').val();
if (actual_text == "") {
$('#textarea_events_fired').val(data['message'] + "\n");
2021-04-06 19:11:37 +02:00
} else {
$('#textarea_events_fired')
.val(actual_text + "\n" + data['message'] + "\n");
}
2021-04-06 19:11:37 +02:00
$('#button_status')
.attr(
'src','../../images/sound_events_console_alert.gif'
);
$('audio').remove();
2021-04-06 19:11:37 +02:00
if(data['sound'] == '') {
data['sound'] = 'include/sounds/Star_Trek_emergency_simulation.wav';
}
$('body')
.append("<audio src='../../" + data['sound'] + "' autoplay='true' hidden='true' loop='true'>");
}
},
"json"
);
}
}
$(document).ready (function () {
2021-04-06 19:11:37 +02:00
//10 seconds between ajax request
setInterval("check_event()", (10 * 1000));
});
</script>
<?php
echo '</body>';
2020-09-29 14:22:58 +02:00
2021-02-09 10:25:08 +01:00
while (ob_get_length() > 0) {
ob_end_flush();
2020-09-29 14:22:58 +02:00
}
echo '</html>';