151 lines
5.3 KiB
PHP
151 lines
5.3 KiB
PHP
|
<?php
|
||
|
|
||
|
// Pandora FMS - http://pandorafms.com
|
||
|
// ==================================================
|
||
|
// Copyright (c) 2005-2009 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.
|
||
|
|
||
|
// Load global vars
|
||
|
global $config;
|
||
|
|
||
|
require_once ("include/functions_agents.php");
|
||
|
|
||
|
if (! give_acl ($config['id_user'], $id_grupo, "AR")) {
|
||
|
audit_db ($config['id_user'], $_SERVER['REMOTE_ADDR'], "ACL Violation",
|
||
|
"Trying to access (read) to agent ".get_agent_name($id_agente));
|
||
|
include ("general/noaccess.php");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
require_once('include/fgraph.php');
|
||
|
|
||
|
$period = get_parameter ( "period", 3600);
|
||
|
$draw_alerts = get_parameter("draw_alerts", 0);
|
||
|
$avg_only = get_parameter ("avg_only", 0);
|
||
|
$period = get_parameter ("period", 3600);
|
||
|
$width = get_parameter ("width", 555);
|
||
|
$height = get_parameter ("height", 245);
|
||
|
$label = get_parameter ("label", "");
|
||
|
$start_date = get_parameter ("start_date", date("Y-m-d"));
|
||
|
$draw_events = get_parameter ("draw_events", 0);
|
||
|
$zoom = get_parameter ("zoom", 1);
|
||
|
$modulesChecked = get_parameter('modules', array());
|
||
|
$filter = get_parameter('filter', 0);
|
||
|
|
||
|
$modules = get_agent_modules($id_agente);
|
||
|
|
||
|
if (!$filter) {
|
||
|
foreach ($modules as $id => $module) {
|
||
|
$modulesChecked[$id] = 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
$table = null;
|
||
|
$table->width = '90%';
|
||
|
|
||
|
$table->size = array();
|
||
|
$table->size[0] = '20%';
|
||
|
$table->size[1] = '80%';
|
||
|
|
||
|
$table->style[0] = 'font-weight: bolder; text-align: right;';
|
||
|
$table->style[1] = '';
|
||
|
|
||
|
$table->data[0][0] = __('Modules');
|
||
|
$listModules = array();
|
||
|
foreach ($modules as $id => $module) {
|
||
|
$checked = false;
|
||
|
if (isset($modulesChecked[$id]))
|
||
|
$checked = (bool) $modulesChecked[$id];
|
||
|
$listModules[] = '<span style="white-space: nowrap;">' . print_checkbox('modules[' . $id . ']', 1, $checked, true) . ' ' . $module . '</span>';
|
||
|
}
|
||
|
$table->data[0][1] = implode(' ', $listModules);
|
||
|
|
||
|
$table->data[1][0] = __('Begin date');
|
||
|
$table->data[1][1] = print_input_text ("start_date", substr ($start_date, 0, 10),'', 10, 40, true);
|
||
|
$table->data[1][1] .= print_image ("images/calendar_view_day.png", true, array ("onclick" => "scwShow(scwID('text-start_date'),this);"));
|
||
|
|
||
|
$table->data[2][0] = __('Zoom factor');
|
||
|
$options = array ();
|
||
|
$options[$zoom] = 'x'.$zoom;
|
||
|
$options[1] = 'x1';
|
||
|
$options[2] = 'x2';
|
||
|
$options[3] = 'x3';
|
||
|
$options[4] = 'x4';
|
||
|
$table->data[2][1] = print_select ($options, "zoom", $zoom, '', '', 0, true);
|
||
|
|
||
|
$table->data[3][0] = __('Time range');
|
||
|
$options = array ();
|
||
|
$options[3600] = human_time_description_raw (3600);
|
||
|
$options[7200] = human_time_description_raw (7200);
|
||
|
$options[21600] = human_time_description_raw (21600);
|
||
|
$options[43200] = human_time_description_raw (43200);
|
||
|
$options[86400] = human_time_description_raw (86400);
|
||
|
$options[172800] = human_time_description_raw (172800);
|
||
|
$options[432000] = human_time_description_raw (432000);
|
||
|
$options[604800] = human_time_description_raw (604800);
|
||
|
$options[1296000] = human_time_description_raw (1296000);
|
||
|
$options[2592000] = human_time_description_raw (2592000);
|
||
|
$options[5184000] = human_time_description_raw (5184000);
|
||
|
$options[15552000] = human_time_description_raw (15552000);
|
||
|
$table->data[3][1] = print_extended_select_for_time($options, 'period', $period, '', '', 0, 7, true) . ' ' . __('secs');
|
||
|
|
||
|
$table->data[4][0] = __('Show events');
|
||
|
$table->data[4][1] = print_checkbox ("draw_events", 1, (bool) $draw_events, true);
|
||
|
$table->data[5][0] = __('Show alerts');
|
||
|
$table->data[5][1] = print_checkbox ("draw_alerts", 1, (bool) $draw_alerts, true);
|
||
|
|
||
|
$htmlForm = '<form method="post" action="index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=graphs&id_agente=' . $id_agente . '" >';
|
||
|
$htmlForm .= print_table($table, true);
|
||
|
$htmlForm .= print_input_hidden('filter', 1, true);
|
||
|
$htmlForm .= '<div class="action-buttons" style="width: '.$table->width.'">';
|
||
|
$htmlForm .= print_submit_button (__('Filter'), 'filter_button', false, 'class="sub upd"', true);
|
||
|
$htmlForm .= '</div>';
|
||
|
$htmlForm .= '</form>';
|
||
|
|
||
|
toggle($htmlForm,__('Filter graphs'), __('Toggle filter(s)'));
|
||
|
|
||
|
$utime = get_system_time ();
|
||
|
$current = date("Y-m-d", $utime);
|
||
|
|
||
|
if ($start_date != $current)
|
||
|
$date = strtotime($start_date);
|
||
|
else
|
||
|
$date = $utime;
|
||
|
|
||
|
foreach ($modulesChecked as $idModuleShowGraph => $value) {
|
||
|
echo '<div style="float: left; padding-left: 15px;">';
|
||
|
echo "<h3>" . $modules[$idModuleShowGraph] . '</h3>';
|
||
|
if ($config['flash_charts']) {
|
||
|
echo grafico_modulo_sparse ($idModuleShowGraph, $period, $draw_events, $width, $height,
|
||
|
$modules[$idModuleShowGraph], $unit_name, $draw_alerts, $avg_only, $pure, $date);
|
||
|
}
|
||
|
else {
|
||
|
$image = 'include/fgraph.php?' .
|
||
|
'tipo=sparse' .
|
||
|
'&draw_alerts=' . $draw_alerts .
|
||
|
'&draw_events=' . $draw_events .
|
||
|
'&id=' . $idModuleShowGraph .
|
||
|
'&zoom=' . $zoom .
|
||
|
'&label=' . $modules[$idModuleShowGraph] .
|
||
|
'&height=' . $height .
|
||
|
'&width=' . $width .
|
||
|
'&period=' . $period .
|
||
|
'&avg_only=' . $avg_only .
|
||
|
'&date=' . $date;
|
||
|
|
||
|
print_image ($image, false, array ("border" => 0));
|
||
|
}
|
||
|
echo '</div>';
|
||
|
}
|
||
|
|
||
|
echo "<div style='clear: both;'></div>";
|
||
|
?>
|