diff --git a/pandora_console/include/class/Tree.class.php b/pandora_console/include/class/Tree.class.php
index 05804d0be5..02b719369b 100644
--- a/pandora_console/include/class/Tree.class.php
+++ b/pandora_console/include/class/Tree.class.php
@@ -46,6 +46,7 @@ class Tree {
global $config;
include_once($config['homedir']."/include/functions_servers.php");
+ include_once($config['homedir']."/include/functions_modules.php");
if (defined("METACONSOLE"))
enterprise_include_once("meta/include/functions_ui_meta.php");
@@ -1306,31 +1307,35 @@ class Tree {
$module['serverTypeHTML'] = servers_show_type($module['server_type']);
// Link to the Module graph
- $graphType = return_graphtype($module['id_module_type']);
- $winHandle = dechex(crc32($module['id'] . $module['name']));
+ $group_id = (int) modules_get_agent_group($module['id']);
+ $module["showGraphs"] = 0;
- if (!defined('METACONSOLE')) {
- $moduleGraphURL = $config['homeurl'] .
- "/operation/agentes/stat_win.php?" .
- "type=$graphType&" .
- "period=" . SECONDS_1DAY . "&" .
- "id=" . $module['id'] . "&" .
- "label=" . rawurlencode(urlencode(base64_encode($module['name']))) . "&" .
- "refresh=" . SECONDS_10MINUTES;
- }
- else if (!empty($server)) {
- $moduleGraphURL = ui_meta_get_url_console_child(
- $server, null, null, null, null,
- "operation/agentes/stat_win.php?" .
- "type=$graphType&" .
- "period=" . SECONDS_1DAY . "&" .
- "id=" . $module["id"] . "&" .
- "label=" . rawurlencode(urlencode(base64_encode($module['name']))) . "&" .
- "refresh=" . SECONDS_10MINUTES . "&" .
- "avg_only=1");
+ // ACL
+ if (!empty($group_id) {
+ $module["showGraphs"] = (int) check_acl($config['id_user'], $group_id, "RR");
}
- if (!empty($moduleGraphURL)) {
+ if ($module["showGraphs"]) {
+ $graphType = return_graphtype($module['id_module_type']);
+ $url = ui_get_full_url("operation/agentes/stat_win.php", false, false, false);
+ $winHandle = dechex(crc32($module['id'].$module['name']));
+
+ $graph_params = array(
+ "type" => $graphType,
+ "period" => SECONDS_1DAY,
+ "id" => $module['id'],
+ "label" => rawurlencode(urlencode(base64_encode($module['name']))),
+ "refresh" => SECONDS_10MINUTES
+ );
+
+ if (defined('METACONSOLE') && !empty($server)) {
+ // Set the server id
+ $graph_params["server"] = $module['serverID'];
+ }
+
+ $graph_params_str = http_build_query($graph_params);
+ $moduleGraphURL = "$url?$graph_params_str";
+
$module['moduleGraph'] = array(
'url' => $moduleGraphURL,
'handle' => $winHandle
diff --git a/pandora_console/include/functions_events.php b/pandora_console/include/functions_events.php
index df0677d324..1525233c49 100644
--- a/pandora_console/include/functions_events.php
+++ b/pandora_console/include/functions_events.php
@@ -2046,35 +2046,41 @@ function events_page_details ($event, $server = "") {
}
$table_details->data[] = $data;
- $data = array();
- $data[0] = '
'.__('Graph').'
';
- $module_module_type = -1;
- if (isset($module["module_type"])) {
- $module_module_type = $module["module_type"];
- }
- $graph_type = return_graphtype ($module_module_type);
-
- $win_handle=dechex(crc32($module["id_agente_modulo"] .
- $module["nombre"]));
-
- $module_module_name = '';
- if (isset($module["module_name"])) {
- $module_module_name = $module["module_name"];
- }
- $link ="winopeng('" . $serverstring .
- "operation/agentes/stat_win.php?type=" . $graph_type."&" .
- "period=" . SECONDS_1DAY . "&" .
- "id=" . $module["id_agente_modulo"] . "&" .
- "label=" . rawurlencode(
- urlencode(
- base64_encode($module_module_name))) . $hashstring . "&" .
- (!empty($server) ? "avg_only=1&" : "") .
- "refresh=" . SECONDS_10MINUTES . "','day_".$win_handle."')";
-
- $data[1] = '';
- $data[1] .= html_print_image('images/chart_curve.png',true);
- $data[1] .= '';
- $table_details->data[] = $data;
+ if (check_acl($config['id_user'], $agent['id_grupo'], "RR")) {
+ $data = array();
+ $data[0] = ''.__('Graph').'
';
+
+ $module_type = -1;
+ if (isset($module["module_type"])) {
+ $module_type = $module["module_type"];
+ }
+ $graph_type = return_graphtype ($module_type);
+ $url = ui_get_full_url("operation/agentes/stat_win.php", false, false, false);
+ $handle = dechex(crc32($module["id_agente_modulo"].$module["nombre"]));
+ $win_handle = "day_$handle";
+
+ $graph_params = array(
+ "type" => $graph_type,
+ "period" => SECONDS_1DAY,
+ "id" => $module["id_agente_modulo"],
+ "label" => rawurlencode(urlencode(base64_encode($module["nombre"]))),
+ "refresh" => SECONDS_10MINUTES
+ );
+
+ if (defined('METACONSOLE')) {
+ // Set the server id
+ $graph_params["server"] = $server["id"];
+ }
+
+ $graph_params_str = http_build_query($graph_params);
+
+ $link = "winopeng('$url?$graph_params_str','$win_handle')";
+
+ $data[1] = '';
+ $data[1] .= html_print_image('images/chart_curve.png',true);
+ $data[1] .= '';
+ $table_details->data[] = $data;
+ }
}
$data = array();
diff --git a/pandora_console/include/functions_graph.php b/pandora_console/include/functions_graph.php
index c6b005a2ab..9c259451ac 100755
--- a/pandora_console/include/functions_graph.php
+++ b/pandora_console/include/functions_graph.php
@@ -804,26 +804,26 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
$water_mark = array('file' =>
$config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url(false, false, false, false) . "/images/logo_vertical_water.png");
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
if ($compare === 'separated') {
return area_graph($flash_chart, $chart, $width, $height/2, $color, $legend,
- $long_index, ui_get_full_url("images/image_problem.opaque.png"), "", $unit, $homeurl,
- $water_mark, $config['fontpath'], $config['font_size'], $unit, $ttl,
+ $long_index, ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl, $water_mark, $config['fontpath'], $config['font_size'], $unit, $ttl,
$series_type, $chart_extra_data, $warning_min, $critical_min, $adapt_key, false,
$series_suffix_str, $menu, $backgroundColor).
'
'.
area_graph($flash_chart, $chart_prev, $width, $height/2, $color_prev, $legend_prev,
- $long_index_prev, ui_get_full_url("images/image_problem.opaque.png"), "", $unit, $homeurl,
- $water_mark, $config['fontpath'], $config['font_size'], $unit, $ttl,
+ $long_index_prev, ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl, $water_mark, $config['fontpath'], $config['font_size'], $unit, $ttl,
$series_type_prev, $chart_extra_data, $warning_min, $critical_min, $adapt_key, false,
$series_suffix_str, $menu, $backgroundColor);
}
else {
// Color commented not to restrict serie colors
return area_graph($flash_chart, $chart, $width, $height, $color, $legend,
- $long_index, ui_get_full_url("images/image_problem.opaque.png"), "", $unit, $homeurl,
- $water_mark, $config['fontpath'], $config['font_size'], $unit, $ttl,
+ $long_index, ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl, $water_mark, $config['fontpath'], $config['font_size'], $unit, $ttl,
$series_type, $chart_extra_data, $warning_min, $critical_min, $adapt_key, false,
$series_suffix_str, $menu, $backgroundColor);
}
@@ -1320,7 +1320,7 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
//Work around for fixed the agents name with huge size chars.
@@ -1365,8 +1365,8 @@ function graphic_combined_module ($module_list, $weight_list, $period,
case CUSTOM_GRAPH_AREA:
return area_graph($flash_charts, $graph_values, $width,
$height, $color, $module_name_list, $long_index,
- ui_get_full_url("images/image_problem.opaque.png"), "",
- "", $homeurl, $water_mark, $config['fontpath'],
+ ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", "", $homeurl, $water_mark, $config['fontpath'],
$fixed_font_size, "", $ttl, array(), array(), 0, 0, '',
false, '', true, $background_color);
break;
@@ -1374,22 +1374,22 @@ function graphic_combined_module ($module_list, $weight_list, $period,
case CUSTOM_GRAPH_STACKED_AREA:
return stacked_area_graph($flash_charts, $graph_values,
$width, $height, $color, $module_name_list, $long_index,
- ui_get_full_url("images/image_problem.opaque.png"), "",
- "", $water_mark, $config['fontpath'], $fixed_font_size,
+ ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", "", $water_mark, $config['fontpath'], $fixed_font_size,
"", $ttl, $homeurl, $background_color);
break;
case CUSTOM_GRAPH_LINE:
return line_graph($flash_charts, $graph_values, $width,
$height, $color, $module_name_list, $long_index,
- ui_get_full_url("images/image_problem.opaque.png"), "",
- "", $water_mark, $config['fontpath'], $fixed_font_size,
+ ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", "", $water_mark, $config['fontpath'], $fixed_font_size,
"", $ttl, $homeurl, $background_color);
break;
case CUSTOM_GRAPH_STACKED_LINE:
return stacked_line_graph($flash_charts, $graph_values,
$width, $height, $color, $module_name_list, $long_index,
- ui_get_full_url("images/image_problem.opaque.png"), "",
- "", $water_mark, $config['fontpath'], $fixed_font_size,
+ ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", "", $water_mark, $config['fontpath'], $fixed_font_size,
"", $ttl, $homeurl, $background_color);
break;
}
@@ -1455,15 +1455,15 @@ function graphic_agentaccess ($id_agent, $width, $height, $period = 0, $return =
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
if ($empty_data) {
$out = graph_nodata_image($width, $height);
}
else {
- $out = area_graph($config['flash_charts'], $data, $width, $height,
- null, null, null, ui_get_full_url("images/image_problem.opaque.png"), "", "", ui_get_full_url(false, false, false, false),
- $water_mark,
+ $out = area_graph($config['flash_charts'], $data, $width, $height, null, null, null,
+ ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", "", ui_get_full_url(false, false, false, false), $water_mark,
$config['fontpath'], $config['font_size'], "", 1, array(), array(), 0, 0, '', false, '', false);
}
@@ -1553,7 +1553,7 @@ function graph_agent_status ($id_agent = false, $width = 300, $height = 200, $re
array_walk($data, 'truncate_negatives');
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
$colors = array(COL_CRITICAL, COL_WARNING, COL_NORMAL, COL_UNKNOWN);
@@ -1566,8 +1566,8 @@ function graph_agent_status ($id_agent = false, $width = 300, $height = 200, $re
}
$out = pie2d_graph($config['flash_charts'], $data, $width, $height,
- __("other"),
- ui_get_full_url(false), '', $config['fontpath'], $config['font_size'], 1, "hidden", $colors);
+ __("other"), ui_get_full_url(false, false, false, false), '',
+ $config['fontpath'], $config['font_size'], 1, "hidden", $colors);
if ($return) {
return $out;
@@ -1635,11 +1635,10 @@ function graph_event_module ($width = 300, $height = 200, $id_agent) {
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
return pie3d_graph($config['flash_charts'], $data, $width, $height, __("other"),
- '', $water_mark,
- $config['fontpath'], $config['font_size'], 1, "bottom");
+ '', $water_mark, $config['fontpath'], $config['font_size'], 1, "bottom");
}
function progress_bar($progress, $width, $height, $title = '', $mode = 1, $value_text = false, $color = false, $options = false) {
@@ -1736,8 +1735,7 @@ function graph_sla_slicebar ($id, $period, $sla_min, $sla_max, $date, $daysWeek
5 => COL_NOTINIT);
return slicesbar_graph($data, $period, $width, $height, $colors,
- $config['fontpath'],
- $round_corner, $home_url, $ttl);
+ $config['fontpath'], $round_corner, $home_url, $ttl);
}
/**
@@ -1947,7 +1945,7 @@ function grafico_db_agentes_purge ($id_agent, $width = 380, $height = 300) {
$water_mark = array(
'file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png")
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false)
);
return pie3d_graph($config['flash_charts'], $data, $width, $height,
@@ -1979,11 +1977,10 @@ function grafico_db_agentes_paquetes($width = 380, $height = 300) {
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
return hbar_graph($config['flash_charts'], $data, $width, $height, array(),
- $legend, "", "", true, "",
- $water_mark,
+ $legend, "", "", true, "", $water_mark,
$config['fontpath'], $config['font_size'], false);
}
@@ -2040,8 +2037,8 @@ function graph_db_agentes_modulos($width, $height) {
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
-
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return hbar_graph($config['flash_charts'],
$data, $width, $height, array(),
array(), "", "", true, "",
@@ -2087,8 +2084,11 @@ function graphic_user_activity ($width = 350, $height = 230) {
$data[$login['id_usuario']] = $login['n_incidents'];
}
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($config['flash_charts'], $data, $width, $height,
- __('Other'), '', $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), '', $water_mark,
$config['fontpath'], $config['font_size']);
}
@@ -2122,8 +2122,11 @@ function grafico_incidente_prioridad () {
__('Very serious') => $data_tmp[4],
__('Maintenance') => $data_tmp[5]);
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($config['flash_charts'], $data, 320, 200,
- __('Other'), '', $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), '', $water_mark,
$config['fontpath'], $config['font_size']);
}
@@ -2157,8 +2160,11 @@ function graph_incidents_status () {
$data[__("Invalid")]++;
}
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($config['flash_charts'], $data, 370, 180,
- __('Other'), '', $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), '', $water_mark,
$config['fontpath'], $config['font_size']);
}
@@ -2195,8 +2201,11 @@ function graphic_incident_group () {
$data[__('All')] = $incidents_all;
}
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($config['flash_charts'], $data, 320, 200,
- __('Other'), '', $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), '', $water_mark,
$config['fontpath'], $config['font_size']);
}
@@ -2234,8 +2243,11 @@ function graphic_incident_user () {
$data[$name] = $incident['n_incidents'];
}
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($config['flash_charts'], $data, 320, 200,
- __('Other'), '', $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), '', $water_mark,
$config['fontpath'], $config['font_size']);
}
@@ -2282,8 +2294,11 @@ function graphic_incident_source($width = 320, $height = 200) {
$data[$origin['origen']] = $origin['n_incident'];
}
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($config['flash_charts'], $data, $width, $height,
- __('Other'), '', $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), '', $water_mark,
$config['fontpath'], $config['font_size']);
}
@@ -2305,7 +2320,7 @@ function graph_events_validated($width = 300, $height = 200, $url = "", $meta =
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false, false));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
echo pie3d_graph(
true, $data_graph, $width, $height, __("other"), "",
@@ -2446,7 +2461,7 @@ function grafico_eventos_grupo ($width = 300, $height = 200, $url = "", $meta =
arsort($data);
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false, false));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
return pie3d_graph($config['flash_charts'], $data, $width, $height,
__('Other'), '', $water_mark,
@@ -2518,7 +2533,7 @@ function grafico_eventos_total($filter = "", $width = 320, $height = 200) {
$water_mark = array(
'file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("/images/logo_vertical_water.png", false, false, false));
return pie3d_graph($config['flash_charts'], $data, $width, $height,
__('Other'), '', $water_mark,
@@ -2574,7 +2589,7 @@ function grafico_eventos_usuario ($width, $height) {
$water_mark = array(
'file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("/images/logo_vertical_water.png", false, false, false));
return pie3d_graph($config['flash_charts'], $data, $width, $height,
__('Other'), '', $water_mark,
@@ -2654,19 +2669,17 @@ function graph_custom_sql_graph ($id, $width, $height, $type = 'sql_graph_vbar',
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("/images/logo_vertical_water.png", false, false, false));
switch ($type) {
case 'sql_graph_vbar': // vertical bar
return vbar_graph($flash_charts, $data, $width, $height, array(),
- array(), "", "", $homeurl,
- $water_mark,
+ array(), "", "", $homeurl, $water_mark,
$config['fontpath'], $config['font_size'], false, $ttl);
break;
case 'sql_graph_hbar': // horizontal bar
return hbar_graph($flash_charts, $data, $width, $height, array(),
- array(), "", "", true, $homeurl,
- $water_mark,
+ array(), "", "", true, $homeurl, $water_mark,
$config['fontpath'], $config['font_size'], false, $ttl);
break;
case 'sql_graph_pie': // Pie
@@ -3246,25 +3259,25 @@ function grafico_modulo_boolean ($agent_module_id, $period, $show_events,
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("/images/logo_vertical_water.png", false, false, false));
if ($compare === 'separated') {
return area_graph($flash_chart, $chart, $width, $height/2, $color, $legend,
- $long_index, ui_get_full_url("images/image_problem.opaque.png"), "", $unit, $homeurl,
- $water_mark,
+ $long_index, ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl, $water_mark,
$config['fontpath'], $config['font_size'], $unit, 1, $series_type,
$chart_extra_data, 0, 0, $adapt_key, false, $series_suffix_str, $menu).
'
'.
area_graph($flash_chart, $chart_prev, $width, $height/2, $color_prev, $legend_prev,
- $long_index_prev, ui_get_full_url("images/image_problem.opaque.png"), "", $unit, $homeurl,
- $water_mark,
+ $long_index_prev, ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl, $water_mark,
$config['fontpath'], $config['font_size'], $unit, 1, $series_type_prev,
$chart_extra_data_prev, 0, 0, $adapt_key, false, $series_suffix_str, $menu);
}
else {
return area_graph($flash_chart, $chart, $width, $height, $color, $legend,
- $long_index, ui_get_full_url("images/image_problem.opaque.png"), "", $unit, $homeurl,
- $water_mark,
+ $long_index, ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl, $water_mark,
$config['fontpath'], $config['font_size'], $unit, 1, $series_type,
$chart_extra_data, 0, 0, $adapt_key, false, $series_suffix_str, $menu);
}
@@ -3337,11 +3350,12 @@ function graph_netflow_aggregate_area ($data, $period, $width, $height, $unit =
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
return area_graph($flash_chart, $chart, $width, $height, array (), $sources,
- array (), "images/image_problem.opaque.png", "", $unit, $homeurl,
+ array (), ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", $unit, $homeurl,
$config['homedir'] . "/images/logo_vertical_water.png",
$config['fontpath'], $config['font_size'], $unit, 2);
}
@@ -3415,12 +3429,12 @@ function graph_netflow_total_area ($data, $period, $width, $height, $unit = '',
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
$legend = array (__('Max.') . ' ' . format_numeric($max) . ' ' . __('Min.') . ' ' . format_numeric($min) . ' ' . __('Avg.') . ' ' . format_numeric ($avg));
return area_graph($flash_chart, $chart, $width, $height, array (), $legend,
- array (), ui_get_full_url("images/image_problem.opaque.png"), "", "", $homeurl,
- $water_mark,
+ array (), ui_get_full_url("images/image_problem.opaque.png", false, false, false),
+ "", "", $homeurl, $water_mark,
$config['fontpath'], $config['font_size'], $unit, $ttl);
}
@@ -3454,8 +3468,11 @@ function graph_netflow_aggregate_pie ($data, $aggregate, $ttl = 1, $only_image =
$flash_chart = false;
}
+ $water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
+
return pie3d_graph($flash_chart, $values, 370, 200,
- __('Other'), $config['homeurl'], $config['homedir'] . "/images/logo_vertical_water.png",
+ __('Other'), $config['homeurl'], $water_mark,
$config['fontpath'], $config['font_size'], $ttl);
}
@@ -3762,7 +3779,7 @@ function grafico_modulo_string ($agent_module_id, $period, $show_events,
}
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("/images/logo_vertical_water.png"));
+ 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
return area_graph($flash_chart, $chart, $width, $height, $color,
$legend, array(), '', "", $unit, $homeurl,
diff --git a/pandora_console/include/javascript/tree/TreeController.js b/pandora_console/include/javascript/tree/TreeController.js
index 07f869b553..6656a2b418 100644
--- a/pandora_console/include/javascript/tree/TreeController.js
+++ b/pandora_console/include/javascript/tree/TreeController.js
@@ -355,48 +355,50 @@ TreeController = {
$content.append($serverTypeImage);
}
-
- // Graph pop-up
- if (typeof element.moduleGraph != 'undefined') {
- var $graphImage = $('
');
- $graphImage
- .addClass('module-graph')
- .click(function (e) {
- e.preventDefault();
-
- try {
- winopeng(element.moduleGraph.url, element.moduleGraph.handle);
- }
- catch (error) {
- // console.log(error);
- }
- });
-
- $content.append($graphImage);
- }
- // Data pop-up
- if (typeof element.id != 'undefined' && !isNaN(element.id)) {
+ if (typeof element.showGraphs != 'undefined' && element.showGraphs != 0) {
+ // Graph pop-up
+ if (typeof element.moduleGraph != 'undefined') {
+ var $graphImage = $('
');
+ $graphImage
+ .addClass('module-graph')
+ .click(function (e) {
+ e.preventDefault();
- var $dataImage = $('
');
- $dataImage
- .addClass('module-data')
- .click(function (e) {
- e.preventDefault();
+ try {
+ winopeng(element.moduleGraph.url, element.moduleGraph.handle);
+ }
+ catch (error) {
+ // console.log(error);
+ }
+ });
- try {
- var serverName = element.serverName.length > 0 ? element.serverName : '';
- if ($("#module_details_window").length > 0)
- show_module_detail_dialog(element.id, '', serverName, 0, 86400);
- }
- catch (error) {
- // console.log(error);
- }
- });
+ $content.append($graphImage);
+ }
+
+ // Data pop-up
+ if (typeof element.id != 'undefined' && !isNaN(element.id)) {
- $content.append($dataImage);
+ var $dataImage = $('
');
+ $dataImage
+ .addClass('module-data')
+ .click(function (e) {
+ e.preventDefault();
+
+ try {
+ var serverName = element.serverName.length > 0 ? element.serverName : '';
+ if ($("#module_details_window").length > 0)
+ show_module_detail_dialog(element.id, '', serverName, 0, 86400);
+ }
+ catch (error) {
+ // console.log(error);
+ }
+ });
+
+ $content.append($dataImage);
+ }
}
// Alerts
diff --git a/pandora_console/operation/agentes/stat_win.php b/pandora_console/operation/agentes/stat_win.php
index 2cee1df4bf..2e231cf992 100644
--- a/pandora_console/operation/agentes/stat_win.php
+++ b/pandora_console/operation/agentes/stat_win.php
@@ -21,32 +21,32 @@ if (! isset($_SESSION['id_usuario'])) {
// Global & session management
require_once ('../../include/config.php');
-require_once ('../../include/auth/mysql.php');
+require_once ($config['homedir'] . '/include/auth/mysql.php');
require_once ($config['homedir'] . '/include/functions.php');
require_once ($config['homedir'] . '/include/functions_db.php');
require_once ($config['homedir'] . '/include/functions_reporting.php');
require_once ($config['homedir'] . '/include/functions_graph.php');
require_once ($config['homedir'] . '/include/functions_modules.php');
-
-// Hash login process
-if (! isset ($config['id_user']) && get_parameter("loginhash", 0)) {
- $loginhash_data = get_parameter("loginhash_data", "");
- $loginhash_user = str_rot13(get_parameter("loginhash_user", ""));
-
- if ($config["loginhash_pwd"] != ""
- && $loginhash_data == md5($loginhash_user.io_output_password($config["loginhash_pwd"]))) {
-
- db_logon ($loginhash_user, $_SERVER['REMOTE_ADDR']);
- $_SESSION['id_usuario'] = $loginhash_user;
- $config["id_user"] = $loginhash_user;
-
- $hash_connection_data = true;
- }
-
-}
+require_once ($config['homedir'] . '/include/functions_agents.php');
check_login ();
+// Metaconsole connection to the node
+$server_id = (int) get_parameter("server");
+if ($config["metaconsole"] && !empty($server_id)) {
+ $server = metaconsole_get_connection_by_id($server_id);
+
+ // Error connecting
+ if (metaconsole_connect($server) !== NOERR) {
+ echo "";
+ echo "";
+ ui_print_error_message(__('There was a problem connecting with the node'));
+ echo "";
+ echo "";
+ exit;
+ }
+}
+
$user_language = get_user_language ($config['id_user']);
if (file_exists ('../../include/languages/'.$user_language.'.mo')) {
$l10n = new gettext_reader (new CachedFileReader ('../../include/languages/'.$user_language.'.mo'));
@@ -100,15 +100,28 @@ $label = base64_decode(get_parameter('label', ''));
';
- $params['body_text'] .= html_print_input_hidden ("id", $id, true);
- $params['body_text'] .= html_print_input_hidden ("label", $label);
-
- if (isset($hash_connection_data)) {
- $params['body_text'] .=
- html_print_input_hidden("loginhash", "auto", true);
- $params['body_text'] .=
- html_print_input_hidden("loginhash_data", $loginhash_data, true);
- $params['body_text'] .=
- html_print_input_hidden("loginhash_user",
- str_rot13($loginhash_user), true);
- }
-
$params['body_text'] .= html_print_input_hidden ("id", $id, true);
$params['body_text'] .= html_print_input_hidden ("label", $label, true);
+ if (!empty($server_id))
+ $params['body_text'] .= html_print_input_hidden ("server", $server_id, true);
+
if (isset($_GET["type"])) {
$type = get_parameter_get ("type");
$params['body_text'] .= html_print_input_hidden ("type", $type, true);
diff --git a/pandora_console/operation/agentes/status_monitor.php b/pandora_console/operation/agentes/status_monitor.php
index a8fe0b621d..dae7768172 100644
--- a/pandora_console/operation/agentes/status_monitor.php
+++ b/pandora_console/operation/agentes/status_monitor.php
@@ -893,6 +893,7 @@ else {
foreach ($result_server as $result_element_key => $result_element_value) {
+ $result_server[$result_element_key]['server_id'] = $server["id"];
$result_server[$result_element_key]['server_name'] = $server["server_name"];
$result_server[$result_element_key]['server_url'] = $server["server_url"]."/";
$result_server[$result_element_key]['hashdata'] = $hashdata;
@@ -1196,39 +1197,30 @@ foreach ($result as $row) {
$data[7] = "";
- if ($row['history_data'] == 1) {
+ if ($row['history_data'] == 1 && check_acl($config['id_user'], $row['id_group'], "RR") {
$graph_type = return_graphtype ($row["module_type"]);
- $nombre_tipo_modulo = modules_get_moduletype_name ($row["module_type"]);
- $handle = "stat".$nombre_tipo_modulo."_".$row["id_agente_modulo"];
- $url = 'include/procesos.php?agente='.$row["id_agente_modulo"];
- $win_handle=dechex(crc32($row["id_agente_modulo"].$row["module_name"]));
+ $url = ui_get_full_url("operation/agentes/stat_win.php", false, false, false);
+ $handle = dechex(crc32($row["id_agente_modulo"].$row["module_name"]));
+ $win_handle = "day_$handle";
- if (defined('METACONSOLE'))
- $link ="winopeng('" .
- $row['server_url'] . "operation/agentes/stat_win.php?" .
- "type=$graph_type&" .
- "period=" . SECONDS_1DAY . "&" .
- "loginhash=auto&" .
- "loginhash_data=" . $row["hashdata"] . "&" .
- "loginhash_user=" . str_rot13($row["user"]) . "&" .
- "id=" . $row["id_agente_modulo"] . "&" .
- "label=" . rawurlencode(
- urlencode(
- base64_encode($row["module_name"]))) . "&" .
- "avg_only=1&" .
- "refresh=" . SECONDS_10MINUTES . "', 'day_".$win_handle."')";
- else
- $link ="winopeng('" .
- "operation/agentes/stat_win.php?" .
- "type=$graph_type&" .
- "period=" . SECONDS_1DAY . "&" .
- "id=".$row["id_agente_modulo"]."&" .
- "label=" . rawurlencode(
- urlencode(
- base64_encode($row["module_name"]))) . "&" .
- "refresh=" . SECONDS_10MINUTES . "', 'day_".$win_handle."')";
+ $graph_params = array(
+ "type" => $graph_type,
+ "period" => SECONDS_1DAY,
+ "id" => $row["id_agente_modulo"],
+ "label" => rawurlencode(urlencode(base64_encode($row["module_name"]))),
+ "refresh" => SECONDS_10MINUTES
+ );
+
+ if (defined('METACONSOLE') && isset($row["server_id"])) {
+ // Set the server id
+ $graph_params["server"] = $row["server_id"];
+ }
+
+ $graph_params_str = http_build_query($graph_params);
+
+ $link = "winopeng('$url?$graph_params_str','$win_handle')";
$data[7] = '' . html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . '';