fixed reports events

This commit is contained in:
daniel 2017-01-13 14:09:56 +01:00
parent 993bad314d
commit 99aa41b32a
9 changed files with 372 additions and 227 deletions

View File

@ -102,7 +102,8 @@ function sc_get_critical_events () {
$own_groups = array_keys(users_get_groups($config['id_user'], "IR", false));
// Get events in the last 8 hours
$shortcut_events_update = events_get_group_events($own_groups, 28800, time());
$shortcut_events_update = events_get_agent (false, 28800, time(), false, false, false, false,
false, false, $own_groups, true);
if ($shortcut_events_update == false)
$shortcut_events_update = array();

View File

@ -400,11 +400,13 @@ switch ($action) {
break;
case 'event_report_agent':
case 'event_report_group':
case 'event_report_module':
$description = $item['description'];
$period = $item['period'];
$group = $item['id_group'];
$idAgent = $item['id_agent'];
$idAgentModule = $item['id_agent_module'];
//Added for events items
$show_summary_group = $style['show_summary_group'];
$filter_event_severity = json_decode($style['filter_event_severity'], true);
@ -418,14 +420,6 @@ switch ($action) {
$filter_search = $style['event_filter_search'];
break;
case 'event_report_module':
$description = $item['description'];
$idAgentModule = $item['id_agent_module'];
$idAgent = db_get_value_filter('id_agente',
'tagente_modulo',
array('id_agente_modulo' => $idAgentModule));
$period = $item['period'];
break;
case 'general':
$description = $item['description'];
$group_by_agent = $item['group_by_agent'];
@ -981,10 +975,12 @@ You can of course remove the warnings, that's why we include the source and do n
if ((empty($agents)) || $agents == -1) $agents = array();
$agents_select = array();
foreach ($id_agents as $id) {
foreach ($agents as $key => $a) {
if ($key == (int)$id) {
$agents_select[$key] = $key;
if (is_array($id_agents) || is_object($id_agents)){
foreach ($id_agents as $id) {
foreach ($agents as $key => $a) {
if ($key == (int)$id) {
$agents_select[$key] = $key;
}
}
}
}
@ -1336,8 +1332,8 @@ You can of course remove the warnings, that's why we include the source and do n
<?php
$valuesSeverity = get_priorities ();
html_print_select ($valuesSeverity, 'filter_event_severity[]',
$filter_event_severity, '', __('All'), 'all', false, true,
false, '', false, false, false, false, false, '');
$filter_event_severity, '', __('All'), '-1', false, true,
false, '', false, false, false, false, false, '');
?>
</td>
</tr>
@ -1346,10 +1342,10 @@ You can of course remove the warnings, that's why we include the source and do n
<td style="font-weight:bold;"><?php echo __('Event type'); ?></td>
<td>
<?php
$event_types_select = get_event_types();
html_print_select ($event_types_select, 'filter_event_type[]',
$filter_event_type, '', __('All'), 'all', false, true,
false, '', false, false, false, false, false, '');
$event_types_select = get_event_types();
html_print_select ($event_types_select, 'filter_event_type[]',
$filter_event_type, '', __('All'), 'all', false, true,
false, '', false, false, false, false, false, '');
?>
</td>
</tr>
@ -1358,10 +1354,10 @@ You can of course remove the warnings, that's why we include the source and do n
<td style="font-weight:bold;"><?php echo __('Event Status'); ?></td>
<td>
<?php
$fields = events_get_all_status(true);
html_print_select ($fields, 'filter_event_status[]',
$filter_event_status, '', '', '', false, true,
false, '', false, false, false, false, false, '');
$fields = events_get_all_status(true);
html_print_select ($fields, 'filter_event_status[]',
$filter_event_status, '', '', '', false, true,
false, '', false, false, false, false, false, '');
?>
</td>
</tr>
@ -1427,9 +1423,7 @@ You can of course remove the warnings, that's why we include the source and do n
?>
</td>
</tr>
<tr id="row_filter_search" style="" class="datos">
<td style="font-weight:bold;"><?php echo __('Free search');?></td>
<td>
@ -1983,7 +1977,7 @@ $(document).ready (function () {
switch (data) {
case 'boolean':
case 'sparse':
$("#row_percentil").show();
//$("#row_percentil").show();
break;
default:
$("#row_percentil").hide();
@ -1993,6 +1987,47 @@ $(document).ready (function () {
});
});
$("#submit-create_item").click(function () {
var type = $('#type').val();
switch (type){
case 'alert_report_module': case 'alert_report_agent': case 'alert_report_group':
case 'event_report_agent': case 'event_report_module': case 'event_report_group':
case 'simple_graph': case 'simple_baseline_graph': case 'TTRT': case 'TTO':
case 'MTBF': case 'MTTR': case 'prediction_date': case 'projection_graph':
case 'avg_value': case 'max_value': case 'min_value': case 'monitor_report':
case 'database_serialized': case 'sumatory': case 'historical_data':
case 'agent_configuration':
if ($("#hidden-id_agent").val() == 0) {
alert( <?php echo "'" . __('Please select Agent'). "'"; ?> );
return false;
}
break;
default:
break;
}
});
$("#submit-edit_item").click(function () {
var type = $('#type').val();
switch (type){
case 'alert_report_module': case 'alert_report_agent': case 'alert_report_group':
case 'event_report_agent': case 'event_report_module': case 'event_report_group':
case 'simple_graph': case 'simple_baseline_graph': case 'TTRT': case 'TTO':
case 'MTBF': case 'MTTR': case 'prediction_date': case 'projection_graph':
case 'avg_value': case 'max_value': case 'min_value': case 'monitor_report':
case 'database_serialized': case 'sumatory': case 'historical_data':
case 'agent_configuration':
if ($("#hidden-id_agent").val() == 0) {
alert( <?php echo "'" . __('Please select Agent'). "'"; ?> );
return false;
}
break;
default:
break;
}
});
});
@ -2770,13 +2805,10 @@ function chooseType() {
$("#row_period").show();
$("#row_servers").show();
$("#row_group").show();
$("#row_show_in_two_columns").show();
$("#row_event_severity").show();
$("#row_event_status").show();
$("#row_show_summary_group").show();
$("#row_event_graphs").show();
$("#row_event_graph_by_agent").show();
$("#row_event_graph_by_user").show();
$("#row_event_graph_by_criticity").show();
@ -2791,16 +2823,17 @@ function chooseType() {
$("#row_description").show();
$("#row_agent").show();
$("#row_period").show();
$("#row_show_in_two_columns").show();
$("#row_event_severity").show();
$("#row_event_status").show();
$("#row_show_summary_group").show();
$("#row_event_graphs").show();
$("#row_event_type").show();
$("#row_event_graph_by_user").show();
$("#row_event_graph_by_criticity").show();
$("#row_event_graph_by_validated").show();
$("#row_event_type").show();
$('#agent_autocomplete').hide();
$('#agent_autocomplete_events').show();
@ -2812,15 +2845,19 @@ function chooseType() {
$("#row_agent").show();
$("#row_module").show();
$("#row_period").show();
$("#row_show_in_two_columns").show();
$("#row_event_graph_by_agent").show();
$("#row_event_severity").show();
$("#row_event_status").show();
$("#row_show_summary_group").show();
$("#row_event_graphs").show();
$("#row_event_type").show();
$("#row_event_graph_by_user").show();
$("#row_event_graph_by_criticity").show();
$("#row_event_graph_by_validated").show();
$('#agent_autocomplete').hide();
$('#agent_autocomplete_events').show();
$("#row_filter_search").show();
break;
case 'general':

View File

@ -1134,6 +1134,7 @@ switch ($action) {
switch ($values['type']) {
case 'event_report_agent':
case 'event_report_group':
case 'event_report_module':
//Added for events items
$style['show_summary_group'] = $show_summary_group;
$style['filter_event_severity'] = json_encode($filter_event_severity);
@ -1167,7 +1168,6 @@ switch ($action) {
$style['label'] = '';
break;
case 'agent_configuration':
case 'event_report_module':
case 'alert_report_agent':
case 'alert_report_module':
case 'historical_data':
@ -1446,7 +1446,8 @@ switch ($action) {
switch ($values['type']) {
case 'event_report_agent':
case 'event_report_group':
case 'event_report_group':
case 'event_report_module':
$show_summary_group = get_parameter('show_summary_group', 0);
$filter_event_severity = get_parameter('filter_event_severity', '');
$filter_event_type = get_parameter('filter_event_type', '');
@ -1494,7 +1495,6 @@ switch ($action) {
$style['label'] = '';
break;
case 'agent_configuration':
case 'event_report_module':
case 'alert_report_agent':
case 'alert_report_module':
case 'historical_data':

View File

@ -75,7 +75,7 @@ if (!defined('METACONSOLE')) {
echo '<div id="frame_view" style="width: 100%; height: 500px; overflow: scroll; margin: 0 auto;">';
}
else {
echo '<div id="frame_view" style="width: 919px; height: 500px; overflow: scroll; margin: 0 auto;">';
echo '<div id="frame_view" style="overflow: auto; margin: 0px auto; padding: 5px; ">';
}
echo '<div id="background" class="" style="
margin: 0px auto;border: 2px black solid; width: ' . $widthBackground . 'px; height: ' . $heightBackground . 'px;">';

View File

@ -1261,7 +1261,7 @@ function events_get_group_events_steps ($begin, &$result, $id_group, $period, $d
function events_get_agent ($id_agent, $period, $date = 0,
$history = false, $show_summary_group = false, $filter_event_severity = false,
$filter_event_type = false, $filter_event_status = false, $filter_event_filter_search=false,
$id_group = false, $events_group = false) {
$id_group = false, $events_group = false, $id_agent_module = false, $events_module = false) {
global $config;
if (!is_numeric ($date)) {
@ -1350,15 +1350,19 @@ function events_get_agent ($id_agent, $period, $date = 0,
' OR id_evento LIKE "%' . io_safe_input($filter_event_filter_search) . '%")';
}
if(!$events_group){
$sql_where .= sprintf(' AND id_agente = %d AND utimestamp > %d
AND utimestamp <= %d ', $id_agent, $datelimit, $date);
}
else{
if($events_group){
$sql_where .= sprintf(' AND id_grupo IN (%s) AND utimestamp > %d
AND utimestamp <= %d ', implode (",", $id_group), $datelimit, $date);
}
elseif($events_module){
$sql_where .= sprintf(' AND id_agentmodule = %d AND utimestamp > %d
AND utimestamp <= %d ', $id_agent_module, $datelimit, $date);
}
else{
$sql_where .= sprintf(' AND id_agente = %d AND utimestamp > %d
AND utimestamp <= %d ', $id_agent, $datelimit, $date);
}
if($show_summary_group){
return events_get_events_grouped($sql_where, 0, 1000,
is_metaconsole(), false, false, $history);
@ -1369,43 +1373,6 @@ function events_get_agent ($id_agent, $period, $date = 0,
}
}
/**
* Get all the events happened in an Agent during a period of time.
*
* The returned events will be in the time interval ($date - $period, $date]
*
* @param int $id_agent_module Module id to get events.
* @param int $period Period of time in seconds to get events.
* @param int $date Beginning date to get events.
*
* @return array An array with all the events happened.
*/
function events_get_module ($id_agent_module, $period, $date = 0, $history = false, $show_summary_group = false) {
global $config;
if (!is_numeric ($date)) {
$date = strtotime ($date);
}
if (empty ($date)) {
$date = get_system_time ();
}
$datelimit = $date - $period;
$sql_where = sprintf(' AND id_agentmodule = %d AND utimestamp > %d
AND utimestamp <= %d ', $id_agent_module, $datelimit, $date);
return events_get_events_grouped($sql_where, 0, 1000, false,
false, false, $history);
$sql = sprintf ('SELECT evento, event_type, criticity, count(*) as count_rep, max(timestamp) AS time2
FROM tevento
WHERE id_agentmodule = %d AND utimestamp > %d AND utimestamp <= %d
GROUP BY id_agentmodule, evento ORDER BY time2 DESC', $id_agent_module, $datelimit, $date);
return db_get_all_rows_sql ($sql);
}
/**
* Decode a numeric type into type description.
*
@ -2757,7 +2724,6 @@ function events_get_count_events_by_agent ($id_group, $period, $date,
function events_get_count_events_validated_by_user ($filter, $period, $date,
$filter_event_severity = false, $filter_event_type = false,
$filter_event_status = false, $filter_event_filter_search = false) {
global $config;
//group
$sql_filter = ' AND 1=1 ';
@ -2772,11 +2738,17 @@ function events_get_count_events_validated_by_user ($filter, $period, $date,
$sql_filter .=
sprintf(' AND id_grupo IN (%s) ', implode (",", $id_group));
}
if (!empty($filter['id_agent'])) {
$sql_filter .=
sprintf(' AND id_agente = %d ', $filter['id_agent']);
}
if(!empty($filter['id_agentmodule'])){
$sql_filter .=
sprintf(' AND id_agentmodule = %d ', $filter['id_agentmodule']);
}
//date
if (!is_numeric ($date)) {
$date = strtotime ($date);
@ -2865,7 +2837,6 @@ function events_get_count_events_validated_by_user ($filter, $period, $date,
%s %s
GROUP BY id_usuario',
$datelimit, $date, $sql_filter, $sql_where);
$rows = db_get_all_rows_sql ($sql);
if ($rows == false)
@ -2879,7 +2850,6 @@ function events_get_count_events_validated_by_user ($filter, $period, $date,
}
$return[$user_name] = $row['count'];
}
return $return;
}
@ -2912,11 +2882,17 @@ function events_get_count_events_by_criticity ($filter, $period, $date,
$sql_filter .=
sprintf(' AND id_grupo IN (%s) ', implode (",", $id_group));
}
if (!empty($filter['id_agent'])) {
$sql_filter .=
sprintf(' AND id_agente = %d ', $filter['id_agent']);
}
if(!empty($filter['id_agentmodule'])){
$sql_filter .=
sprintf(' AND id_agentmodule = %d ', $filter['id_agentmodule']);
}
if (!is_numeric ($date)) {
$date = strtotime ($date);
}
@ -3045,10 +3021,16 @@ function events_get_count_events_validated ($filter, $period = null, $date = nul
$sql_filter .=
sprintf(" AND id_grupo IN (%s) ", implode (",", $id_group));
}
//agent
if (!empty($filter['id_agent'])) {
$sql_filter .=
sprintf(" AND id_agente = %d ", $filter['id_agent']);
}
//module
if(!empty($filter['id_agentmodule'])){
$sql_filter .=
sprintf(' AND id_agentmodule = %d ', $filter['id_agentmodule']);
}
//date
if (!is_numeric ($date)) {

View File

@ -447,7 +447,10 @@ function reporting_make_reporting_data($report = null, $id_report,
case 'event_report_module':
$report['contents'][] = reporting_event_report_module(
$report,
$content);
$content,
$type,
$force_width_chart,
$force_height_chart);
break;
case 'event_report_group':
$report['contents'][] = reporting_event_report_group(
@ -1413,15 +1416,25 @@ function reporting_event_report_group($report, $content,
metaconsole_restore_db();
}
$return['total_events'] = count($return['data']);
//total_events
if(isset($return['data'])){
$return['total_events'] = count($return['data']);
}
else{
$return['total_events'] = 0;
}
return reporting_check_structure_content($return);
}
function reporting_event_report_module($report, $content) {
function reporting_event_report_module($report, $content,
$type = 'dinamic', $force_width_chart = null,
$force_height_chart = null) {
global $config;
$ttl = 1;
$return['type'] = 'event_report_module';
if (empty($content['name'])) {
@ -1445,23 +1458,39 @@ function reporting_event_report_module($report, $content) {
$return["date"] = reporting_get_date_text($report, $content);
$return['label'] = (isset($content['style']['label'])) ? $content['style']['label'] : '';
$data = reporting_get_module_detailed_event(
$content['id_agent_module'], $content['period'],
$report["datetime"], true, false, true);
$event_filter = $content['style'];
$return['show_summary_group'] = $event_filter['show_summary_group'];
//filter
$show_summary_group = $event_filter['show_summary_group'];
$filter_event_severity = json_decode($event_filter['filter_event_severity'],true);
$filter_event_type = json_decode($event_filter['filter_event_type'],true);
$filter_event_status = json_decode($event_filter['filter_event_status'],true);
$filter_event_filter_search = $event_filter['event_filter_search'];
//graphs
$event_graph_by_user_validator = $event_filter['event_graph_by_user_validator'];
$event_graph_by_criticity = $event_filter['event_graph_by_criticity'];
$event_graph_validated_vs_unvalidated = $event_filter['event_graph_validated_vs_unvalidated'];
//data events
$data = reporting_get_module_detailed_event (
$content['id_agent_module'], $content['period'], $report["datetime"],
$show_summary_group, $filter_event_severity, $filter_event_type,
$filter_event_status, $filter_event_filter_search, $force_width_chart,
$event_graph_by_user_validator, $event_graph_by_criticity,
$event_graph_validated_vs_unvalidated, $ttl);
if (empty($data)) {
$return['failed'] = __('No events');
}
else {
$return['data'] = array_reverse($data);
}
}
if ($config['metaconsole']) {
metaconsole_restore_db();
}
$return['total_events'] = count($return['data']);
return reporting_check_structure_content($return);
}
@ -2268,8 +2297,14 @@ function reporting_event_report_agent($report, $content,
metaconsole_restore_db();
}
$return['total_events'] = count($return['data']);
//total_events
if(isset($return['data'])){
$return['total_events'] = count($return['data']);
}
else{
$return['total_events'] = 0;
}
return reporting_check_structure_content($return);
}
@ -5987,13 +6022,6 @@ function reporting_set_conf_charts(&$width, &$height, &$only_image, $type,
}
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
@ -6017,7 +6045,11 @@ function reporting_set_conf_charts(&$width, &$height, &$only_image, $type,
* @return mixed A table object (XHTML) or object table is false the html.
*/
function reporting_get_module_detailed_event ($id_modules, $period = 0,
$date = 0, $return = false, $html = true, $only_data = false) {
$date = 0, $show_summary_group = false, $filter_event_severity = false,
$filter_event_type = false, $filter_event_status = false,
$filter_event_filter_search = false, $force_width_chart = false,
$event_graph_by_user_validator = false, $event_graph_by_criticity = false,
$event_graph_validated_vs_unvalidated = false, $ttl = 1) {
global $config;
@ -6037,72 +6069,93 @@ function reporting_get_module_detailed_event ($id_modules, $period = 0,
$events = array ();
foreach ($id_modules as $id_module) {
$event = events_get_module ($id_module, (int) $period, (int) $date, $history, $show_summary_group);
$event['data'] = events_get_agent (false, (int) $period, (int) $date,
$history, $show_summary_group, $filter_event_severity,
$filter_event_type, $filter_event_status, $filter_event_filter_search,
false, false, $id_module, true);
//total_events
if(isset($event['data'])){
$event['total_events'] = count($event['data']);
}
else{
$event['total_events'] = 0;
}
//graphs
if (!empty($force_width_chart)) {
$width = $force_width_chart;
}
if (!empty($force_height_chart)) {
$height = $force_height_chart;
}
if ($event_graph_by_user_validator) {
$data_graph = events_get_count_events_validated_by_user(
array('id_agentmodule' => $id_module), $period, $date, $filter_event_severity,
$filter_event_type, $filter_event_status, $filter_event_filter_search);
$event['chart']['by_user_validator'] = pie3d_graph(
false,
$data_graph,
500,
150,
__("other"),
ui_get_full_url(false, false, false, false),
ui_get_full_url(false, false, false, false) . "/images/logo_vertical_water.png",
$config['fontpath'],
$config['font_size'],
$ttl);
}
if ($event_graph_by_criticity) {
$data_graph = events_get_count_events_by_criticity(
array('id_agentmodule' => $id_module), $period, $date, $filter_event_severity,
$filter_event_type, $filter_event_status, $filter_event_filter_search);
$colors = get_criticity_pie_colors($data_graph);
$event['chart']['by_criticity'] = pie3d_graph(
false,
$data_graph,
500,
150,
__("other"),
ui_get_full_url(false, false, false, false),
ui_get_full_url(false, false, false, false) . "/images/logo_vertical_water.png",
$config['fontpath'],
$config['font_size'],
$ttl,
false,
$colors);
}
if ($event_graph_validated_vs_unvalidated) {
$data_graph = events_get_count_events_validated(
array('id_agentmodule' => $id_module), $period, $date, $filter_event_severity,
$filter_event_type, $filter_event_status, $filter_event_filter_search);
$event['chart']['validated_vs_unvalidated'] = pie3d_graph(
false,
$data_graph,
500,
150,
__("other"),
ui_get_full_url(false, false, false, false),
ui_get_full_url(false, false, false, false) . "/images/logo_vertical_water.png",
$config['fontpath'],
$config['font_size'],
$ttl);
}
if (!empty ($event)) {
array_push ($events, $event);
}
}
if ($only_data) {
return $event;
}
if ($events) {
$note = '';
if (count($events) >= 1000) {
$note .= '* ' . __('Maximum of events shown') . ' (1000)<br>';
}
foreach ($events as $eventRow) {
foreach ($eventRow as $k => $event) {
//$k = count($table->data);
$table->cellclass[$k][1] = $table->cellclass[$k][2] =
$table->cellclass[$k][3] = $table->cellclass[$k][4] =
$table->cellclass[$k][5] = get_priority_class ($event["criticity"]);
$data = array ();
// Colored box
switch ($event['estado']) {
case 0:
$img_st = "images/star.png";
$title_st = __('New event');
break;
case 1:
$img_st = "images/tick.png";
$title_st = __('Event validated');
break;
case 2:
$img_st = "images/hourglass.png";
$title_st = __('Event in process');
break;
}
$data[0] = html_print_image ($img_st, true,
array ("class" => "image_status",
"width" => 16,
"title" => $title_st,
"id" => 'status_img_' . $event["id_evento"]));
$data[1] = io_safe_output($event['evento']);
$data[2] = $event['event_type'];
$data[3] = get_priority_name ($event['criticity']);
$data[4] = $event['event_rep'];
$data[5] = date($config['date_format'], $event['timestamp_rep']);
array_push ($table->data, $data);
}
}
if ($html) {
return html_print_table ($table, $return) . $note;
}
else {
return $table;
}
}
else {
return false;
}
}
return $events;
}
/**
* Get a detailed report of summarized events per agent

View File

@ -130,17 +130,13 @@ function reporting_html_print_report($report, $mini = false) {
$table->data['description_row']['description'] = $item['description'];
if($item['type']=='event_report_agent' || $item['type']=='event_report_module' || $item['type']=='event_report_group'){
if($item['type']=='event_report_agent' || $item['type']=='event_report_group'){
if($item['description'] != '' && $item['description'] != null){
$table->data['description_row']['description'] .= " - ";
}
$table->data['description_row']['description'] .= "Total events: ".$item["total_events"];
}
$table->colspan['description_row']['description'] = 3;
@ -916,69 +912,139 @@ function reporting_html_event_report_group($table, $item) {
}
function reporting_html_event_report_module($table, $item) {
global $config;
$show_summary_group = $item['show_summary_group'];
if (!empty($item['failed'])) {
$table->colspan['events']['cell'] = 3;
$table->data['events']['cell'] = $item['failed'];
}
else {
$table1 = new stdClass();
$table1->width = '99%';
$table1->data = array ();
$table1->head = array ();
$table1->head[0] = __('Status');
$table1->head[1] = __('Event name');
$table1->head[2] = __('Event type');
$table1->head[3] = __('Severity');
$table1->head[4] = __('Count');
$table1->head[5] = __('Timestamp');
$table1->style[0] = 'text-align: center;';
$table1->style[4] = 'text-align: center;';
foreach ($item['data'] as $i => $event) {
$data = array();
$table1->cellclass[$i][1] =
$table1->cellclass[$i][2] =
$table1->cellclass[$i][3] =
$table1->cellclass[$i][4] =
$table1->cellclass[$i][5] = get_priority_class($event["criticity"]);
// Colored box
switch ($event['estado']) {
case 0:
$img_st = "images/star.png";
$title_st = __('New event');
break;
case 1:
$img_st = "images/tick.png";
$title_st = __('Event validated');
break;
case 2:
$img_st = "images/hourglass.png";
$title_st = __('Event in process');
break;
foreach ($item['data'] as $item) {
$table1 = new stdClass();
$table1->width = '99%';
$table1->data = array ();
$table1->head = array ();
if($show_summary_group){
$table1->head[0] = __('Status');
$table1->head[1] = __('Event name');
$table1->head[2] = __('Event type');
$table1->head[3] = __('Severity');
$table1->head[4] = __('Count');
$table1->head[5] = __('Timestamp');
$table1->style[0] = 'text-align: center;';
}
else{
$table1->head[0] = __('Status');
$table1->head[1] = __('Event name');
$table1->head[2] = __('Event type');
$table1->head[3] = __('Severity');
$table1->head[4] = __('Timestamp');
$table1->style[0] = 'text-align: center;';
}
$table->data['tatal_events']['cell'] = "Total events: ".$item["total_events"];
if (is_array($item['data']) || is_object($item['data'])){
$item_data = array_reverse($item['data']);
}
$data[0] = html_print_image ($img_st, true,
array ("class" => "image_status",
"width" => 16,
"title" => $title_st,
"id" => 'status_img_' . $event["id_evento"]));
$data[1] = io_safe_output($event['evento']);
$data[2] = $event['event_type'];
$data[3] = get_priority_name ($event['criticity']);
$data[4] = $event['event_rep'];
$data[5] = date($config['date_format'], $event['timestamp_rep']);
if (is_array($item_data) || is_object($item_data)){
foreach ($item_data as $i => $event) {
$data = array();
if($show_summary_group){
$table1->cellclass[$i][1] = $table1->cellclass[$i][2] =
$table1->cellclass[$i][3] = $table1->cellclass[$i][4] =
$table1->cellclass[$i][5] = get_priority_class($event["criticity"]);
}
else{
$table1->cellclass[$i][1] = $table1->cellclass[$i][2] =
$table1->cellclass[$i][3] =
$table1->cellclass[$i][4] = get_priority_class($event["criticity"]);
}
// Colored box
switch ($event['estado']) {
case 0:
$img_st = "images/star.png";
$title_st = __('New event');
break;
case 1:
$img_st = "images/tick.png";
$title_st = __('Event validated');
break;
case 2:
$img_st = "images/hourglass.png";
$title_st = __('Event in process');
break;
}
$data[0] = html_print_image ($img_st, true,
array ("class" => "image_status",
"width" => 16,
"title" => $title_st,
"id" => 'status_img_' . $event["id_evento"]));
$data[1] = io_safe_output($event['evento']);
$data[2] = $event['event_type'];
$data[3] = get_priority_name ($event['criticity']);
if($show_summary_group){
$data[4] = $event['event_rep'];
$data[5] = date($config['date_format'], $event['timestamp_rep']);
}
else{
$data[4] = date($config['date_format'], strtotime($event['timestamp']));
}
$table1->data[] = $data;
}
}
$table->colspan['events']['cell'] = 3;
$table->data['events']['cell'] = html_print_table($table1, true);
if (!empty($item['chart']['by_agent'])) {
$table1 = new stdClass();
$table1->width = '99%';
$table1->head = array ();
$table1->head[0] = __('Events by agent');
$table1->data[0][0] = $item['chart']['by_agent'];
$table->colspan['chart_by_agent']['cell'] = 3;
$table->cellstyle['chart_by_agent']['cell'] = 'text-align: center;';
$table->data['chart_by_agent']['cell'] = html_print_table($table1, true);
}
$table1->data[] = $data;
if (!empty($item['chart']['by_user_validator'])) {
$table1 = new stdClass();
$table1->width = '99%';
$table1->head = array ();
$table1->head[0] = __('Events by user validator');
$table1->data[0][0] = $item['chart']['by_user_validator'];
$table->colspan['chart_by_user_validator']['cell'] = 3;
$table->cellstyle['chart_by_user_validator']['cell'] = 'text-align: center;';
$table->data['chart_by_user_validator']['cell'] = html_print_table($table1, true);
}
if (!empty($item['chart']['by_criticity'])) {
$table1 = new stdClass();
$table1->width = '99%';
$table1->head = array ();
$table1->head[0] = __('Events by Severity');
$table1->data[0][0] = $item['chart']['by_criticity'];
$table->colspan['chart_by_criticity']['cell'] = 3;
$table->cellstyle['chart_by_criticity']['cell'] = 'text-align: center;';
$table->data['chart_by_criticity']['cell'] = html_print_table($table1, true);
}
if (!empty($item['chart']['validated_vs_unvalidated'])) {
$table1 = new stdClass();
$table1->width = '99%';
$table1->head = array ();
$table1->head[0] = __('Events validated vs unvalidated');
$table1->data[0][0] = $item['chart']['validated_vs_unvalidated'];
$table->colspan['chart_validated_vs_unvalidated']['cell'] = 3;
$table->cellstyle['chart_validated_vs_unvalidated']['cell'] = 'text-align: center;';
$table->data['chart_validated_vs_unvalidated']['cell'] = html_print_table($table1, true);
}
}
$table->colspan['events']['cell'] = 3;
$table->data['events']['cell'] = html_print_table($table1, true);
}
}

View File

@ -2137,7 +2137,7 @@ function visual_map_print_visual_map ($id_layout, $show_links = true,
}
if (defined('METACONSOLE')) {
echo "<div style='width: 920px; overflow:auto; margin: 0 auto;'>";
echo "<div style='width: 100%; overflow:auto; margin: 0 auto; padding:5px;'>";
}
echo '<div style="background-color:'.$layout["background_color"].';"><div id="background_'.$id_layout.'"

View File

@ -3607,4 +3607,10 @@ color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px;
.input_error {
border: 1px solid red;
}
#filter_event_status,
#filter_event_severity,
#filter_event_type {
width:50%;
}