pandorafms/pandora_console/godmode/reporting/graph_builder.preview.php

231 lines
6.3 KiB
PHP
Raw Normal View History

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2010 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.
global $config;
require_once ('include/functions_custom_graphs.php');
if (is_ajax ()) {
$search_agents = (bool) get_parameter ('search_agents');
if ($search_agents) {
require_once ('include/functions_agents.php');
$id_agent = (int) get_parameter ('id_agent');
$string = (string) get_parameter ('q'); /* q is what autocomplete plugin gives */
$id_group = (int) get_parameter('id_group');
$filter = array ();
$filter[] = '(nombre COLLATE utf8_general_ci LIKE "%'.$string.'%" OR direccion LIKE "%'.$string.'%" OR comentarios LIKE "%'.$string.'%")';
$filter['id_grupo'] = $id_group;
$agents = get_agents ($filter, array ('nombre', 'direccion'));
if ($agents === false)
return;
foreach ($agents as $agent) {
echo $agent['nombre']."|".$agent['direccion']."\n";
}
return;
}
return;
}
if ($config['flash_charts']) {
require_once ('include/fgraph.php');
}
check_login ();
2011-02-27 Miguel de Dios <miguel.dedios@artica.es> * extensions/users_connected.php: fixed the double negation in the check_acl. * include/functions_events.php, include/functions_modules.php, include/functions_reporting.php, include/functions_filemanager.php, include/functions_config.php, include/ajax/reporting.ajax.php, include/ajax/visual_console_builder.ajax.php, include/ajax/alert_list.ajax.php, include/help/es/modu_group_list.php, include/fgraph.php, include/functions.php, include/functions_db.php, include/functions_alerts.php, include/functions_reports.php, extensions/insert_data.php, extensions/system_info.php, extensions/pandora_logs.php, extensions/agents_modules.php, extensions/dbmanager.php, extensions/resource_registration.php, extensions/update_manager/settings.php, extensions/update_manager/main.php, extensions/plugin_registration.php, operation/incidents/incident.php, operation/incidents/incident_detail.php, operation/incidents/incident_statistics.php, operation/extensions.php, operation/visual_console/render_view.php, operation/visual_console/index.php, operation/agentes/status_monitor.php, operation/agentes/export_csv.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/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/agent_fields.php, operation/agentes/group_view.php, operation/agentes/networkmap.php, operation/servers/view_server.php, operation/servers/view_server_detail.php, operation/menu.php, operation/snmpconsole/snmp_view.php, operation/users/user_edit.php, operation/events/event_statistics.php, operation/events/export_csv.php, operation/events/sound_events.php, operation/events/events_validate.php, operation/events/events_list.php, operation/events/events_marquee.php, operation/events/events.php, operation/search_reports.php, operation/reporting/reporting_xml.php, operation/reporting/reporting_viewer.php, operation/reporting/graph_viewer.php, operation/search_maps.php, mobile/operation/agents/monitor_status.php, mobile/operation/agents/view_agents.php, mobile/index.php, general/ui/agents_list.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_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/agentes/fields_manager.php, godmode/agentes/module_manager.php, godmode/agentes/modificar_agente.php, godmode/agentes/configurar_agente.php, godmode/agentes/configure_field.php, godmode/agentes/planned_downtime.php, godmode/agentes/manage_config_remote.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/menu.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_operations.php, godmode/massive/massive_edit_agents.php, godmode/massive/massive_delete_action_alerts.php, godmode/massive/massive_delete_modules.php, godmode/massive/massive_delete_alerts.php, godmode/massive/massive_edit_modules.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/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/visual_console_builder.preview.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: replaced obsolete "give_acl" to "check_acl" and erased the "give_acl". git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4025 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-02-28 13:02:08 +01:00
if (! check_acl ($config['id_user'], 0, "IW")) {
2010-10-27 Miguel de Dios <miguel.dedios@artica.es> * godmode/admin_access_logs.php: added hooks to enterprise code, and added new filter with more options. * include/functions_db.php: erase the deprecated function "audit_db", and added in function "pandora_audit" two new parameters $user_id, $ip for pass this values when it are differents to the default values. Finally replaced the depecrated "audit_db" for "pandora_audit". * include/functions_events.php, include/functions_filemanager.php, include/ajax/reporting.ajax.php, include/ajax/visual_console_builder.ajax.php, include/ajax/alert_list.ajax.php, include/help/es/modu_group_list.php, include/functions_incidents.php, index.php, extensions/agents_modules.php, extensions/insert_data.php, extensions/system_info.php, extensions/dbmanager.php, extensions/update_manager/settings.php, extensions/pandora_logs.php, extensions/plugin_registration.php, operation/incidents/incident.php, operation/incidents/incident_detail.php, operation/incidents/incident_statistics.php, operation/extensions.php, operation/visual_console/render_view.php, operation/agentes/status_monitor.php, operation/agentes/export_csv.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/networkmap.groups.php, operation/agentes/sla_view.php, operation/agentes/gis_view.php, operation/agentes/estado_monitores.php, operation/agentes/ver_agente.php, operation/agentes/graphs.php, operation/agentes/agent_fields.php, operation/agentes/tactical.php, operation/agentes/group_view.php, operation/agentes/networkmap.php, operation/servers/view_server.php,operation/servers/view_server_detail.php, operation/snmpconsole/snmp_view.php, operation/users/user_edit.php, operation/gis_maps/render_view.php, operation/events/event_statistics.php, operation/events/sound_events.php, operation/events/events_validate.php, operation/events/events_list.php, operation/events/events_marquee.php, operation/events/events.php, operation/reporting/reporting_xml.php, operation/reporting/reporting_viewer.php, operation/reporting/graph_viewer.php, mobile/operation/agents/view_agents.php, mobile/index.php, godmode/groups/modu_group_list.php, godmode/groups/configure_group.php, godmode/groups/configure_modu_group.php, godmode/groups/group_list.php, godmode/extensions.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/agentes/fields_manager.php, godmode/agentes/module_manager.php, godmode/agentes/modificar_agente.php, godmode/agentes/configurar_agente.php, godmode/agentes/configure_field.php, godmode/agentes/planned_downtime.php, godmode/agentes/manage_config_remote.php, godmode/agentes/agent_manager.php, godmode/servers/manage_export.php, godmode/servers/recon_script.php, godmode/servers/manage_export_form.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/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/map_builder_wizard.php, godmode/reporting/visual_console_builder.elements.php, godmode/reporting/graph_builder.php, godmode/reporting/visual_console_builder.preview.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/graphs.php, godmode/reporting/graph_builder.preview.php: Replaced the depecrated "audit_db" for "pandora_audit". git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2010-10-27 12:47:07 +02:00
pandora_audit("ACL Violation",
"Trying to access graph builder");
include ("general/noaccess.php");
exit;
}
$id = (integer) get_parameter('id');
$sql="SELECT * FROM tgraph_source WHERE id_graph = $id_graph";
$sources = get_db_all_rows_sql($sql);
$sql="SELECT * FROM tgraph WHERE id_graph = $id_graph";
$graph = get_db_row_sql($sql);
$id_user = $graph["id_user"];
$private = $graph["private"];
$width = $graph["width"];
$height = $graph["height"] + count($sources) * 10;
$zoom = (int) get_parameter ('zoom', 0);
//Increase the height to fix the leyend rise
if ($zoom > 0) {
switch ($zoom) {
case 1:
$width = 500;
$height = 200 + count($sources) * 15;
break;
case 2:
$width = 650;
$height = 300 + count($sources) * 10;
break;
case 3:
$width = 770;
$height = 400 + count($sources) * 5;
break;
}
}
// Get different date to search the report.
$date = (string) get_parameter ('date', date ('Y-m-j'));
$time = (string) get_parameter ('time', date ('h:iA'));
$unixdate = strtotime ($date.' '.$time);
$period = (int) get_parameter ('period');
if (! $period)
$period = $graph["period"];
else
$period = 3600 * $period;
$events = $graph["events"];
$description = $graph["description"];
$stacked = (int) get_parameter ('stacked', -1);
if ($stacked == -1)
$stacked = $graph["stacked"];
$name = $graph["name"];
$graphRows = get_db_all_rows_sql("SELECT t1.*,
(SELECT t3.nombre
FROM tagente AS t3
WHERE t3.id_agente =
(SELECT t2.id_agente
FROM tagente_modulo AS t2
WHERE t2.id_agente_modulo = t1.id_agent_module))
AS agent_name
FROM tgraph_source AS t1
WHERE t1.id_graph = " . $id);
$module_array = array();
$weight_array = array();
$agent_array = array();
if($graphRows === false) {
$graphRows = array();
}
foreach ($graphRows as $graphRow) {
$module_array[] = $graphRow['id_agent_module'];
$weight_array[] = $graphRow['weight'];
$agent_array[] = $graphRow['agent_name'];
}
$modules = implode(',', $module_array);
$weights = implode(',', $weight_array);
echo "<table class='databox_frame' cellpadding='0' cellspacing='0'>";
echo "<tr><td>";
if(!empty($modules)) {
if ($config['flash_charts']) {
echo graphic_combined_module (explode (',', $modules), explode (',', $weights), $period, $width, $height,
'Combined%20Sample%20Graph', '', $events, 0, 0, $stacked, $unixdate);
} else {
echo "<img src='include/fgraph.php?tipo=combined&id=$modules&weight_l=$weights&label=" . base64_encode ("Combined%20Sample%20Graph") . "&height=$height&width=$width&stacked=$stacked&period=$period&date=$unixdate' border=1 alt=''>";
}
}
else {
echo "<div class='nf'>".__('Empty graph')."</div>";
}
echo "</td></tr></table>";
echo "<form method = 'POST' action='index.php?sec=greporting&sec2=godmode/reporting/graph_builder&tab=preview&edit_graph=1&id=$id_graph'>";
echo "<table class='databox_frame' cellpadding='4' cellspacing='4'>";
echo "<tr>";
echo "<td>";
echo "<b>".__('Date')."</b>"." ";
echo "</td>";
echo "<td>";
echo print_input_text ('date', $date, '', 12, 10, true). ' ';
echo "</td>";
echo "<td>";
echo print_input_text ('time', $time, '', 7, 7, true). ' ';
echo "</td>";
echo "<td class='datos'>";
echo "<b>".__('Period')."</b>";
echo "</td>";
echo "<td class='datos'>";
print_select (get_custom_graph_periods (), 'period', intval ($period / 3600),
'', '', 0, false, false, false);
echo "</td>";
echo "<td class='datos'>";
$stackeds = array ();
$stackeds[0] = __('Graph defined');
$stackeds[0] = __('Area');
$stackeds[1] = __('Stacked area');
$stackeds[2] = __('Line');
$stackeds[3] = __('Stacked line');
print_select ($stackeds, 'stacked', $stacked , '', '', -1, false, false);
echo "</td>";
echo "<td class='datos'>";
$zooms = array();
$zooms[0] = __('Graph defined');
$zooms[1] = __('Zoom x1');
$zooms[2] = __('Zoom x2');
$zooms[3] = __('Zoom x3');
print_select ($zooms, 'zoom', $zoom , '', '', 0);
echo "</td>";
echo "<td class='datos'>";
echo "<input type=submit value='".__('Update')."' class='sub upd'>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
/* We must add javascript here. Otherwise, the date picker won't
work if the date is not correct because php is returning. */
require_css_file ('datepicker');
require_jquery_file ('ui.core');
require_jquery_file ('ui.datepicker');
require_jquery_file ('timeentry');
?>
<script language="javascript" type="text/javascript">
$(document).ready (function () {
$("#loading").slideUp ();
$("#text-time").timeEntry ({spinnerImage: 'images/time-entry.png', spinnerSize: [20, 20, 0]});
$("#text-date").datepicker ();
$.datepicker.regional["<?php echo $config['language']; ?>"];
});
</script>
<?php
$datetime = strtotime ($date.' '.$time);
$report["datetime"] = $datetime;
if ($datetime === false || $datetime == -1) {
echo '<h3 class="error">'.__('Invalid date selected').'</h3>';
return;
}
?>