From 85b00c080cbb604fc2d2296839200e13695ab9a0 Mon Sep 17 00:00:00 2001 From: m-lopez-f Date: Mon, 13 Apr 2015 15:50:49 +0200 Subject: [PATCH] Draw pie with filter results and changed label, tiquet: #2076 --- pandora_console/include/functions_graph.php | 4 +- .../operation/events/events_list.php | 53 ++++++++++++++++++- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/pandora_console/include/functions_graph.php b/pandora_console/include/functions_graph.php index 3fe50bede8..c07af3b298 100755 --- a/pandora_console/include/functions_graph.php +++ b/pandora_console/include/functions_graph.php @@ -2473,7 +2473,7 @@ function grafico_eventos_agente ($width = 300, $height = 200, $result = false, $ global $graphic_type; //It was urlencoded, so we urldecode it - $url = html_entity_decode (rawurldecode ($url), ENT_QUOTES); + //$url = html_entity_decode (rawurldecode ($url), ENT_QUOTES); $data = array (); $loop = 0; @@ -2525,7 +2525,7 @@ function grafico_eventos_agente ($width = 300, $height = 200, $result = 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, + __('Others'), '', $water_mark, $config['fontpath'], $config['font_size'], 1, 'bottom'); } diff --git a/pandora_console/operation/events/events_list.php b/pandora_console/operation/events/events_list.php index 0ca4564a16..cf2bf6efea 100644 --- a/pandora_console/operation/events/events_list.php +++ b/pandora_console/operation/events/events_list.php @@ -732,10 +732,61 @@ else { } if (!empty($result)) { + if ($group_rep == 0) { + $sql = "SELECT COUNT(id_evento) + FROM $event_table + WHERE 1=1 " . $sql_post; + } + else { + + $sql = "SELECT COUNT(1) + FROM (SELECT 1 + FROM $event_table + WHERE 1=1 " . $sql_post . " + GROUP BY evento, id_agentmodule) AS t"; + } + $limit = (int) db_get_sql ($sql); + if ($group_rep == 0) { + switch ($config["dbtype"]) { + case "mysql": + $sql = "SELECT *, 1 event_rep + FROM $event_table + WHERE 1=1 " . $sql_post . " + ORDER BY utimestamp DESC LIMIT 0,".$limit; + break; + case "postgresql": + $sql = "SELECT *, 1 event_rep + FROM $event_table + WHERE 1=1 " . $sql_post . " + ORDER BY utimestamp DESC LIMIT ".$limit." OFFSET 0"; + break; + case "oracle": + $set = array(); + $set['limit'] = $pagination; + $set['offset'] = $offset; + $sql = "SELECT *, 1 event_rep + FROM $event_table + WHERE 1=1 " . $sql_post . " + ORDER BY utimestamp DESC"; + $sql = oracle_recode_query ($sql, $set); + break; + } + + //Extract the events by filter (or not) from db + $results_graph = db_get_all_rows_sql ($sql); + } + else { + $results_graph = events_get_events_grouped($sql_post, + 0, + $limit, + $meta, + $history); + } + $graph = '
' . grafico_eventos_agente(350, 185, - $result, $meta, $history, $tags_acls_condition,$pagination) . + $results_graph, $meta, $history, $tags_acls_condition,$limit) . '
'; html_print_div(array('id' => 'events_graph', 'hidden' => true, 'content' => $graph));