Table fixes

This commit is contained in:
Jose Gonzalez 2023-01-10 10:18:37 +01:00
parent f94dc47b64
commit 60685cdccc
52 changed files with 396 additions and 1069 deletions

View File

@ -124,8 +124,14 @@ foreach ($stats as $stat) {
}
$status .= '</table>';
$table->rowclass = [];
$table->rowclass[0] = 'w100p';
$table->rowclass[1] = 'w100p';
$table->rowclass[2] = 'w100p';
$table->rowclass[3] = 'w100p';
$table->rowclass[4] = 'w100p';
$table->rowclass[5] = 'w100p';
$table->data[0][0] = $status;
$table->rowclass[] = '';
$table->data[] = $tdata;

View File

@ -985,7 +985,7 @@ foreach ($modules as $module) {
true,
true,
'[&hellip;]',
'font-size: 7.2pt'
''
).$dt_disabled_icon.'</em>';
} else {
$data[0] .= ui_print_truncate_text(
@ -995,7 +995,7 @@ foreach ($modules as $module) {
true,
true,
'[&hellip;]',
'font-size: 7.2pt'
''
);
}

View File

@ -611,7 +611,7 @@ foreach ($simple_alerts as $alert) {
'[&hellip;]',
''
);
$data[2] .= ' <a class="template_details"
$data[2] .= ' <a class="template_details patatas"
href="'.ui_get_full_url(false, false, false, false).'ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$alert['id_alert_template'].'">';
$data[2] .= html_print_image(
'images/zoom.png',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 937 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -331,11 +331,11 @@ if ($get_agent_alerts_agent_view) {
$rowPair = true;
$iterator = 0;
foreach ($alerts['alerts_simple'] as $alert) {
$row = ui_format_alert_row($alert, false, $url, 'font-size: 7pt;');
$row = ui_format_alert_row($alert, false, $url, 'font-size: 9pt;');
$table->data[] = $row;
}
if (!empty($table->data)) {
if (empty($table->data) === false) {
html_print_table($table);
} else {
ui_print_info_message(['no_close' => true, 'message' => __('No alerts found') ]);
@ -663,9 +663,9 @@ if ($get_agent_alerts_datatable === true) {
include_once $config['homedir'].'/operation/agentes/alerts_status.functions.php';
include_once $config['homedir'].'/include/functions_users.php';
$agent_a = check_acl($config['id_user'], 0, 'AR');
$agent_w = check_acl($config['id_user'], 0, 'AW');
$access = ($agent_a == true) ? 'AR' : (($agent_w == true) ? 'AW' : 'AR');
$agent_a = (bool) check_acl($config['id_user'], 0, 'AR');
$agent_w = (bool) check_acl($config['id_user'], 0, 'AW');
$access = ($agent_a === true) ? 'AR' : (($agent_w === true) ? 'AW' : 'AR');
$all_groups = get_parameter('all_groups');
$idAgent = (int) get_parameter('id_agent');
@ -861,7 +861,7 @@ if ($get_agent_alerts_datatable === true) {
if (is_metaconsole() === true) {
include_once $config['homedir'].'/enterprise/meta/include/functions_alerts_meta.php';
if ($idAgent != 0) {
if ($idAgent !== 0) {
$alerts['alerts_simple'] = alerts_meta_get_alerts($agents, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, false, $strict_user, $tag_filter, $action_filter);
$countAlertsSimple = alerts_meta_get_alerts($agents, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user, $tag_filter, $action_filter);
@ -875,7 +875,7 @@ if ($get_agent_alerts_datatable === true) {
$countAlertsSimple = alerts_meta_get_group_alerts($id_groups, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user, $tag_filter, $action_filter);
}
} else {
if ($idAgent != 0) {
if ($idAgent !== 0) {
$alerts['alerts_simple'] = agents_get_alerts_simple($idAgent, $filter_alert, $options_simple, $whereAlertSimple, false, false, $idGroup, false, $strict_user, $tag_filter);
$countAlertsSimple = agents_get_alerts_simple($idAgent, $filter_alert, false, $whereAlertSimple, false, false, $idGroup, true, $strict_user, $tag_filter);
@ -926,7 +926,7 @@ if ($get_agent_alerts_datatable === true) {
// Standby.
$tmp->policy = $row[0];
$tmp->standby = $row[1];
$tmp->force = $row[2];
$tmp->actions = $row[2];
$tmp->agent_name = $row[3];
$tmp->agent_module_name = $row[4];
$tmp->template_name = $row[5];

View File

@ -958,10 +958,10 @@ if (check_login()) {
$table = new stdClass();
$table->width = '100%';
$table->styleTable = 'display:flex;border: 0;border-radius: 0;vertical-align: baseline;';
$table->styleTable = 'display:flex;border: 0;border-radius: 0;vertical-align: baseline;flex-direction: column;';
$table->cellpadding = 0;
$table->cellspacing = 0;
$table->class = 'info_table';
$table->class = 'tactical_table info_table';
$table->align = [];
$table->style = [];
$table->head = [];
@ -979,35 +979,41 @@ if (check_login()) {
$table->align[8] = 'left';
$table->align[9] = 'right';
// Cell styles.
$table->style[0] = 'max-width: 45px;vertical-align: baseline';
$table->style[1] = 'min-width: 80px;vertical-align: baseline';
$table->style[2] = 'width: 8%;vertical-align: baseline';
$table->style[3] = 'width: 22%;vertical-align: baseline';
$table->style[4] = 'min-width: 80px;vertical-align: baseline';
$table->style[5] = 'width: 10%;vertical-align: baseline';
$table->style[0] = 'width: 5%;vertical-align: baseline';
$table->style[1] = 'width: 5%;vertical-align: baseline';
$table->style[2] = 'width: 20%;vertical-align: baseline';
$table->style[3] = 'width: 20%;vertical-align: baseline';
$table->style[4] = 'width: 5%;vertical-align: baseline';
$table->style[5] = 'width: 15%;vertical-align: baseline';
$table->style[6] = 'width: 10%;vertical-align: baseline;font-size: 9pt';
$table->style[7] = 'width: 10%;vertical-align: baseline';
$table->style[8] = 'min-width: 110px;vertical-align: baseline;font-size: 9pt';
$table->style[8] = 'width: 10%;vertical-align: baseline;font-size: 9pt';
$table->style[9] = 'width: 10%;vertical-align: baseline';
// Row class.
$table->rowclass[0] = 'header_row';
$data = [];
$data[0] = ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) ? '<span title="'.__('Policy').'">'.__('P').'</span>' : '';
$data[1] = '<span>'.__('Type').'</span>'.ui_get_sorting_arrows($url_up_type, $url_down_type, $selectTypeUp, $selectTypeDown);
$data[2] = '<span>'.__('Module name').'</span>'.ui_get_sorting_arrows($url_up_name, $url_down_name, $selectNameUp, $selectNameDown);
$data[3] = '<span>'.__('Description').'</span>';
$data[4] = '<span>'.__('Status').'</span>'.ui_get_sorting_arrows($url_up_status, $url_down_status, $selectStatusUp, $selectStatusDown);
$data[5] = '<span>'.__('Thresholds').'</span>';
$data[6] = '<span>'.__('Data').'</span>';
$data[7] = '<span>'.__('Graphs').'</span>';
$data[8] = '<span>'.__('Last contact').'</span>'.ui_get_sorting_arrows($url_up_last, $url_down_last, $selectLastContactUp, $selectLastContactDown);
$data[9] = '<span>'.__('Actions').'</span>';
array_push($table->data, $data);
// $table->headclass[] = 'header_row';
$table->head[0] = ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) ? '<span title="'.__('Policy').'">'.__('P').'</span>' : '';
$table->headstyle[0] = 'width: 5%;text-align: center;';
$table->head[1] = '<span>'.__('Type').'</span>'.ui_get_sorting_arrows($url_up_type, $url_down_type, $selectTypeUp, $selectTypeDown);
$table->headstyle[1] = 'width: 5%;text-align: left;';
$table->head[2] = '<span>'.__('Module name').'</span>'.ui_get_sorting_arrows($url_up_name, $url_down_name, $selectNameUp, $selectNameDown);
$table->headstyle[2] = 'width: 20%;text-align: left;';
$table->head[3] = '<span>'.__('Description').'</span>';
$table->headstyle[3] = 'width: 20%;text-align: left;';
$table->head[4] = '<span>'.__('Status').'</span>'.ui_get_sorting_arrows($url_up_status, $url_down_status, $selectStatusUp, $selectStatusDown);
$table->headstyle[4] = 'width: 5%;text-align: center;';
$table->head[5] = '<span>'.__('Thresholds').'</span>';
$table->headstyle[5] = 'width: 15%;text-align: left;';
$table->head[6] = '<span>'.__('Data').'</span>';
$table->headstyle[6] = 'width: 10%;text-align: left;';
$table->head[7] = '<span>'.__('Last contact').'</span>'.ui_get_sorting_arrows($url_up_last, $url_down_last, $selectLastContactUp, $selectLastContactDown);
$table->headstyle[7] = 'width: 10%;';
$table->head[8] = '<span>'.__('Graphs').'</span>';
$table->headstyle[8] = 'width: 10%;';
$table->head[9] = '<span>'.__('Actions').'</span>';
$table->headstyle[8] = 'width: 10%;';
$last_modulegroup = 0;
$rowIndex = 1;
$rowIndex = 0;
$id_type_web_content_string = db_get_value(
'id_tipo',
@ -1017,8 +1023,7 @@ if (check_login()) {
);
$show_context_help_first_time = false;
$hierachy_mode = (string) get_parameter('hierachy_mode', false);
$hierachy_mode = (string) get_parameter('hierachy_mode');
if ($hierachy_mode === 'true') {
$modules_hierachy = [];
@ -1031,7 +1036,7 @@ if (check_login()) {
foreach ($modules as $module) {
$idAgenteModulo = $module['id_agente_modulo'];
if ($hierachy_mode !== 'true') {
if ($hierachy_mode === 'false') {
// The code add the row of 1 cell with title of group for to be more organice the list.
if ($module['id_module_group'] != $last_modulegroup) {
$table->colspan[$rowIndex][0] = count($table->style);
@ -1049,6 +1054,7 @@ if (check_login()) {
$data = [];
// Module policy.
// $table->cellstyle[$rowIndex][0] = 'width: 1%;';
$data[0] = '';
if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
if ((int) $module['id_policy_module'] !== 0) {
@ -1063,7 +1069,7 @@ if (check_login()) {
$img = 'images/policies_brick.png';
$title = '('.__('Adopted').') '.$name_policy;
} else {
$img = 'images/policies_mc.png';
$img = 'images/policy@svg.svg';
$title = $name_policy;
}
} else {
@ -1079,7 +1085,15 @@ if (check_login()) {
$data[0] .= html_print_anchor(
[
'href' => ui_get_full_url('?sec=gmodules&amp;sec2=enterprise/godmode/policies/policies&amp;id='.$id_policy),
'content' => html_print_image($img, true, ['title' => $title]),
'content' => html_print_image(
$img,
true,
[
'title' => $title,
'style' => 'margin: 0 5px;',
'class' => 'main_menu_icon',
]
),
],
true
);
@ -1087,10 +1101,12 @@ if (check_login()) {
}
// Module server type.
// $table->cellstyle[$rowIndex][1] = 'width: 1%;';
$data[1] = '';
$data[1] .= ui_print_servertype_icon((int) $module['id_modulo']);
// Module name.
// $table->cellstyle[$rowIndex][2] = 'width: 1%;';
$data[2] = '';
if (isset($module['deep']) === true && ((int) $module['deep'] !== 0)) {
$data[2] .= str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $module['deep']);
@ -1129,6 +1145,7 @@ if (check_login()) {
$data[3] .= ui_print_string_substr($module['descripcion'], 60, true, 9);
// Module status.
// $table->cellstyle[$rowIndex][4] = 'width: 5%;';
$data[4] = '';
if ($module['datos'] !== strip_tags($module['datos'])) {
$module_value = io_safe_input($module['datos']);
@ -1157,6 +1174,7 @@ if (check_login()) {
}
// Module thresholds.
// $table->cellstyle[$rowIndex][5] = 'width: 10%;';
$data[5] = '';
if ((int) $module['id_tipo_modulo'] !== 25) {
$data[5] = ui_print_module_warn_value($module['max_warning'], $module['min_warning'], $module['str_warning'], $module['max_critical'], $module['min_critical'], $module['str_critical'], $module['warning_inverse'], $module['critical_inverse'], 'class="font_9pt"');
@ -1165,11 +1183,24 @@ if (check_login()) {
}
// Module last value.
// $table->cellstyle[$rowIndex][6] = 'width: 10%;';
$data[6] = '';
$data[6] .= '<span class="inherited_text_data_for_humans">'.modules_get_agentmodule_data_for_humans($module).'</span>';
// Graph buttons.
// Last contact.
// $table->cellstyle[$rowIndex][7] = 'width: 10%;';
$data[7] = '';
if ((int) $module['estado'] === 3) {
$timestampClass = 'redb font_9pt';
} else {
$timestampClass = 'font_9pt';
}
$data[7] .= ui_print_timestamp($module['utimestamp'], true, ['class' => $timestampClass ]);
// Graph buttons.
// $table->cellstyle[$rowIndex][8] = 'width: 100px;';
$data[8] = '';
if ((int) $module['history_data'] === 1) {
if (empty((float) $module['min_warning']) === true
&& empty((float) $module['max_warning']) === true
@ -1244,7 +1275,7 @@ if (check_login()) {
true
);
$data[7] = html_print_div(
$data[8] = html_print_div(
[
'class' => 'table_action_buttons',
'content' => implode('', $graphButtons),
@ -1253,15 +1284,6 @@ if (check_login()) {
);
}
// Last contact.
$data[8] = '';
if ((int) $module['estado'] === 3) {
$timestampClass = 'redb font_9pt';
} else {
$timestampClass = 'font_9pt';
}
$data[8] .= ui_print_timestamp($module['utimestamp'], true, ['class' => $timestampClass ]);
// Actions.
$data[9] = '';
$moduleActionButtons = [];

View File

@ -2463,13 +2463,9 @@ function events_print_event_table(
ui_require_css_file('events');
if ($agent_id == 0) {
$agent_condition = '';
} else {
$agent_condition = ' id_agente = '.$agent_id.' AND ';
}
$agent_condition = ($agent_id === 0) ? '' : ' id_agente = '.$agent_id.' AND ';
if ($filter == '') {
if (empty($filter) === true) {
$filter = '1 = 1';
}
@ -2489,7 +2485,7 @@ function events_print_event_table(
$result = db_get_all_rows_sql($sql);
if ($result === false) {
if ($return) {
if ($return === true) {
$returned = ui_print_info_message(__('No events'), '', true);
return $returned;
} else {
@ -2501,8 +2497,8 @@ function events_print_event_table(
$table->cellpadding = 0;
$table->cellspacing = 0;
$table->width = $width;
$table->class = 'info_table no-td-padding';
if (!$tactical_view) {
$table->class = 'tactical_table info_table no-td-padding';
if ($tactical_view === false) {
$table->title = __('Latest events');
}
@ -2517,31 +2513,28 @@ function events_print_event_table(
$table->style = [];
$i = 0;
$table->head[$i] = "<span title='".__('Severity')."'>".__('S.').'</span>';
$table->headstyle[$i] = 'width: 1%;text-align: center;';
$table->style[$i++] = 'text-align: center;';
$table->head[$i] = __('Type');
$table->head[$i] = '<span>'.__('Type').'</span>';
$table->headstyle[$i] = 'width: 3%;text-align: center;';
$table->style[$i++] = 'text-align: center;';
$table->head[$i] = __('Event name');
$table->head[$i] = '<span>'.__('Event name').'</span>';
$table->headstyle[$i] = '';
$table->style[$i++] = 'word-break: break-word;';
$table->style[$i++] = 'padding: 0 5px;word-break: break-word';
if ($agent_id == 0) {
$table->head[$i] = __('Agent name');
if ($agent_id === 0) {
$table->head[$i] = '<span>'.__('Agent name').'</span>';
$table->headstyle[$i] = '';
$table->style[$i++] = 'word-break: break-all;';
}
$table->head[$i] = __('Timestamp');
$table->head[$i] = '<span>'.__('Timestamp').'</span>';
$table->headstyle[$i] = 'width: 150px;';
$table->style[$i++] = 'word-break: break-word;';
$table->style[$i++] = 'padding: 0 5px;word-break: break-word;';
$table->head[$i] = __('Status');
$table->head[$i] = '<span>'.__('Status').'</span>';
$table->headstyle[$i] = 'width: 150px;text-align: center;';
$table->style[$i++] = 'text-align: center;';
$table->style[$i++] = 'padding: 0 5px;text-align: center;';
$table->head[$i] = "<span title='".__('Validated')."'>".__('V.').'</span>';
$table->headstyle[$i] = 'width: 1%;text-align: center;';
@ -2556,7 +2549,7 @@ function events_print_event_table(
// Copy all groups of the agent and append the event group.
$check_events = $all_groups;
$check_events[] = $event['id_grupo'];
if (! check_acl_one_of_groups($config['id_user'], $check_events, 'ER')) {
if ((bool) check_acl_one_of_groups($config['id_user'], $check_events, 'ER') === false) {
continue;
}
@ -2564,30 +2557,24 @@ function events_print_event_table(
// Colored box.
switch ($event['estado']) {
case 0:
$img = 'images/star.png';
case EVENT_STATUS_NEW:
default:
$img = 'images/star@svg.svg';
$title = __('New event');
break;
case 1:
$img = 'images/tick.png';
case EVENT_STATUS_VALIDATED:
$img = 'images/validate.svg';
$title = __('Event validated');
break;
case 2:
$img = 'images/hourglass.png';
case EVENT_STATUS_INPROCESS:
$img = 'images/clock.svg';
$title = __('Event in process');
break;
default:
// Ignore.
break;
}
$i = 0;
// Criticity.
$data[$i++] = ui_print_event_priority($event['criticity'], true, true);
// Event type.
$data[$i++] = events_print_type_img($event['event_type'], true);
@ -2596,14 +2583,19 @@ function events_print_event_table(
strip_tags(io_safe_output($event['evento'])),
75,
true,
'7.5'
);
if ($agent_id == 0) {
if ($agent_id === 0) {
if ($event['id_agente'] > 0) {
// Agent name.
// Get class name, for the link color, etc.
$data[$i] = "<a href='index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=".$event['id_agente']."'>".agents_get_alias($event['id_agente']).'</A>';
$data[$i] = html_print_anchor(
[
'href' => 'index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$event['id_agente'],
'content' => agents_get_alias($event['id_agente']),
],
true
);
// For System or SNMP generated alerts.
} else if ($event['event_type'] === 'system') {
$data[$i] = __('System');
@ -2615,10 +2607,10 @@ function events_print_event_table(
}
// Timestamp.
$data[$i++] = ui_print_timestamp($event['timestamp'], true, ['style' => 'font-size: 7.5pt; letter-spacing: 0.3pt;']);
$data[$i++] = ui_print_timestamp($event['timestamp'], true, ['style' => 'letter-spacing: 0.3pt;']);
// Status.
$data[$i++] = ui_print_event_type($event['event_type'], true);
$data[$i++] = ui_print_event_type($event['event_type'], true, true);
$data[$i++] = html_print_image(
$img,
@ -2634,7 +2626,7 @@ function events_print_event_table(
$events_table = html_print_table($table, true);
$out = $events_table;
if (!$tactical_view) {
if ($tactical_view === false) {
$out .= '<table width="100%"><tr><td class="w90p align-top pdd_t_0px">';
if ($agent_id != 0) {
$out .= '</td><td class="w200px align-top">';

View File

@ -11606,7 +11606,7 @@ function reporting_get_stats_indicators($data, $width=280, $height=20, $html=tru
$table_ind->data[] = $tdata;
$tdata[0] = '<fieldset class="databox tactical_set">
<legend>'.__('Module sanity').ui_print_help_tip(sprintf(__('%d Not inited monitors'), (int) $data['monitor_not_init']), true).'</legend>'.progress_bar($data['module_sanity'], $width, $height, $data['module_sanity'].'% '.__('of total modules inited'), 0).'</fieldset>';
<legend>'.__('Module sanityX').ui_print_help_tip(sprintf(__('%d Not inited monitors'), (int) $data['monitor_not_init']), true).'</legend>'.progress_bar($data['module_sanity'], $width, $height, $data['module_sanity'].'% '.__('of total modules inited'), 0).'</fieldset>';
$table_ind->rowclass[] = '';
$table_ind->data[] = $tdata;
@ -11628,7 +11628,7 @@ function reporting_get_stats_indicators($data, $width=280, $height=20, $html=tru
'graph' => progress_bar($data['monitor_health'], $width, $height, $data['monitor_health'].'% '.__('of monitors up'), 0),
];
$return['module_sanity'] = [
'title' => __('Module sanity'),
'title' => __('Module sanityY'),
'graph' => progress_bar($data['module_sanity'], $width, $height, $data['module_sanity'].'% '.__('of total modules inited'), 0),
];
$return['alert_level'] = [

View File

@ -1152,15 +1152,60 @@ function ui_format_alert_row(
if (is_metaconsole() === false) {
// Force alert execution.
if (check_acl($config['id_user'], $id_group, 'AW') || check_acl($config['id_user'], $id_group, 'LM')) {
if ($alert['force_execution'] == 0) {
$data[$index['force_execution']] = '<a href="'.$url.'&amp;id_alert='.$alert['id'].'&amp;force_execution=1&refr=60">'.html_print_image('images/target.png', true, ['border' => '0', 'title' => __('Force'), 'class' => 'invert_filter']).'</a>';
if ((bool) check_acl($config['id_user'], $id_group, 'AW') === true || (bool) check_acl($config['id_user'], $id_group, 'LM') === true) {
if ((int) $alert['force_execution'] === 0) {
$forceTitle = __('Force check');
$additionUrl = '&amp;force_execution=1';
} else {
$data[$index['force_execution']] = '<a href="'.$url.'&amp;id_alert='.$alert['id'].'&amp;refr=60">'.html_print_image('images/refresh.png', true, ['class' => 'invert_filter']).'</a>';
$forceTitle = __('Refresh');
$additionUrl = '';
}
$forceExecButtons[] = html_print_button(
$forceTitle,
'force_execution_'.$alert['id'],
false,
'window.location.assign(\''.$url.'&amp;id_alert='.$alert['id'].'&amp;refr=60'.$additionUrl.'\');',
[ 'mode' => 'link' ],
true
);
}
$forceExecButtons[] = html_print_button(
__('View'),
'view_template_'.$alert['id'],
false,
'',
[
'mode' => 'link',
'class' => 'template_details',
'href' => 'ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$template['id'],
],
true
);
} else {
$forceExecButtons[] = html_print_button(
__('View'),
'view_template_'.$alert['id'],
false,
'',
[
'mode' => 'link',
'class' => 'template_details',
'href' => ui_get_full_url('/', false, false, false).'/ajax.php?page=enterprise/meta/include/ajax/tree_view.ajax&action=get_template_tooltip&id_template='.$template['id'].'&server_name='.$alert['server_data']['server_name'],
],
true
);
}
$data[$index['force_execution']] = html_print_div(
[
'class' => 'table_action_buttons flex',
'content' => implode('', $forceExecButtons),
],
true
);
$data[$index['agent_name']] = $disabledHtmlStart;
if ($agent == 0) {
$data[$index['module_name']] .= ui_print_truncate_text(isset($alert['agent_module_name']) ? $alert['agent_module_name'] : modules_get_agentmodule_name($alert['id_agent_module']), 'module_small', false, true, true, '[&hellip;]', '');
@ -1177,16 +1222,24 @@ function ui_format_alert_row(
// Do not show link if user cannot access node
if ((bool) can_user_access_node() === true) {
$url = $server['server_url'].'/index.php?'.'sec=estado&'.'sec2=operation/agentes/ver_agente&'.'id_agente='.$agente['id_agente'];
$data[$index['agent_name']] .= '<a href="'.$url.'">'.'<b><span class="bolder" title="'.$agente['nombre'].'">'.$agente['alias'].'</span></b></a>';
$data[$index['agent_name']] .= html_print_anchor(
[
'href' => $url,
'content' => '<span class="bolder" title="'.$agente['nombre'].'">'.$agente['alias'].'</span>',
],
true
);
} else {
$data[$index['agent_name']] .= '<b><span class="bolder" title="'.$agente['nombre'].'">'.$agente['alias'].'</span></b>';
$data[$index['agent_name']] .= '<span class="bolder" title="'.$agente['nombre'].'">'.$agente['alias'].'</span>';
}
} else {
if ($agent_style !== false) {
$data[$index['agent_name']] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'"> <span class="bolder" title ="'.$agente['nombre'].'">'.$agente['alias'].'</span></a>';
} else {
$data[$index['agent_name']] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'"> <span class="bolder" title ="'.$agente['nombre'].'">'.$agente['alias'].'</span></a>';
}
$data[$index['agent_name']] .= html_print_anchor(
[
'href' => 'index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent,
'content' => '<span class="bolder" title="'.$agente['nombre'].'">'.$agente['alias'].'</span>',
],
true
);
}
$data[$index['module_name']] = ui_print_truncate_text(isset($alert['agent_module_name']) ? $alert['agent_module_name'] : modules_get_agentmodule_name($alert['id_agent_module']), 'module_small', false, true, true, '[&hellip;]', '');
@ -1196,14 +1249,6 @@ function ui_format_alert_row(
$data[$index['description']] = '';
if (is_metaconsole() === true) {
$data[$index['template']] .= '<a class="template_details" href="'.ui_get_full_url('/', false, false, false).'/ajax.php?page=enterprise/meta/include/ajax/tree_view.ajax&action=get_template_tooltip&id_template='.$template['id'].'&server_name='.$alert['server_data']['server_name'].'">';
} else {
$data[$index['template']] .= '<a class="template_details" href="ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$template['id'].'">';
}
$data[$index['template']] .= html_print_image('images/zoom.png', true, ['class' => 'invert_filter']);
$data[$index['template']] .= '</a> ';
$actionDefault = db_get_value_sql(
'SELECT id_alert_action
FROM talert_templates WHERE id = '.$alert['id_alert_template']
@ -2782,14 +2827,10 @@ function ui_print_module_status(
function get_shape_status_set($type)
{
switch ($type) {
// Small rectangles.
// Rounded rectangles.
case STATUS_ALERT_NOT_FIRED:
case STATUS_ALERT_FIRED:
case STATUS_ALERT_DISABLED:
$return = ['class' => 'status_small_rectangles'];
break;
// Rounded rectangles.
case STATUS_MODULE_OK:
case STATUS_AGENT_OK:
case STATUS_MODULE_NO_DATA:
@ -3483,6 +3524,7 @@ function ui_print_datatable(array $parameters)
}
foreach ($names as $column) {
hd($column, true);
if (is_array($column)) {
$table .= '<th id="'.$column['id'].'" class="'.$column['class'].'" ';
if (isset($column['title']) === true) {
@ -3492,6 +3534,7 @@ function ui_print_datatable(array $parameters)
$table .= ' style="'.$column['style'].'">'.__($column['text']);
$table .= $column['extra'];
$table .= '</th>';
hd($table, true);
} else {
$table .= '<th>'.__($column).'</th>';
}
@ -3885,10 +3928,16 @@ function ui_print_event_type(
break;
}
if ($mini === false) {
$output = '<div class="criticity" style="background: '.$color.'">';
$output .= $text;
$output .= '</div>';
if ($mini === true) {
$output = html_print_div(
[
'class' => 'status_rounded_rectangles',
'style' => sprintf('display: inline-block; background: %s', $color),
'content' => '',
'title' => $text,
],
true
);
} else {
$output = '<div data-title="';
$output .= $text;
@ -3898,7 +3947,11 @@ function ui_print_event_type(
$output .= '</div>';
}
return $output;
if ($return === true) {
return $output;
} else {
echo $output;
}
}
@ -3963,7 +4016,7 @@ function ui_print_event_priority(
break;
}
if ($mini === false) {
if ($mini === true) {
$output = '<div class="criticity" style="background: '.$color.'">';
$output .= $criticity;
$output .= '</div>';

View File

@ -19,7 +19,7 @@ div.agent_details_agent_caption {
}
#div_all_events_24h {
border-bottom: 1px solid #ebebeb;
/*border-bottom: 1px solid #ebebeb;*/
padding-bottom: 3em;
}

View File

@ -992,6 +992,7 @@ select:-internal-list-box {
.box-shadow {
box-shadow: 0 3px 6px 0 rgb(0 0 0 / 13%);
border: 1px solid #e2e2e2;
}
.align-top td {
@ -3661,6 +3662,28 @@ table#policy_modules td * {
margin: 5px;
}
.tactical_table {
}
.tactical_table tr {
justify-content: space-between;
}
.tactical_table > thead > tr {
border: 0 !important;
}
.info_table thead th .sort_arrow,
.tactical_table thead th .sort_arrow {
vertical-align: top;
visibility: hidden;
}
.info_table thead th:hover .sort_arrow,
.tactical_table thead th:hover .sort_arrow {
visibility: visible;
}
#sumary {
color: #fff;
margin: 2px;
@ -5855,7 +5878,7 @@ div#bullets_modules div {
}
/* First row in agent view */
.agent_details_first_row {
.agent_details_line {
display: flex;
margin: 20px 0 0;
width: 100%;
@ -5878,7 +5901,7 @@ div#bullets_modules div {
}*/
.agent_details_col {
background-color: #fff;
border: 1px solid #e2e2e2;
/*border: 1px solid #e2e2e2;*/
border-radius: 5px;
flex: 1 1 50%;
}
@ -5895,6 +5918,11 @@ div#bullets_modules div {
}
*/
.agent_details_toggle {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.agent_access_rate_events {
display: flex;
flex-direction: row;
@ -6110,7 +6138,7 @@ div#status_pie {
height: 100%;
background-color: #fff;
box-sizing: border-box;
border: 1px solid #e2e2e2;
/*border: 1px solid #e2e2e2;*/
display: flex;
align-items: center;
flex-wrap: wrap;
@ -6169,8 +6197,10 @@ div#status_pie {
.white-box-content form {
width: 100%;
padding: 0 10px;
/*
margin-bottom: 2em;
padding: 2em;
padding: 2em;*/
min-width: fit-content;
}
@ -10549,6 +10579,7 @@ tr.bring_next_field {
.dataTables_wrapper {
overflow: auto;
width: 100%;
}
.dataTables_wrapper .dataTables_processing {

View File

@ -103,12 +103,24 @@
background-color: #f6f7fb;
}
/*.info_table tr > td,
.info_table tr > th,
.filter_table tr > td,
.filter_table tr > th {
border-bottom: 1px solid #C0CCDC;
}*/
.info_table > tbody > tr > th,
.info_table > thead > tr > th {
border-top: 1px solid #c0ccdc;
}
.info_table tr > td:first-child,
.info_table tr > th:first-child,
.filter_table tr > td:first-child,
.filter_table tr > th:first-child {
/*padding-left: 5px;*/
padding-left: 10px;
border-left: 1px solid #c0ccdc;
}
.info_table tr > td:last-child,
.info_table tr > th:last-child,
@ -116,6 +128,7 @@
.filter_table tr > th:last-child {
/*padding-right: 5px;*/
padding-right: 10px;
border-right: 1px solid #c0ccdc;
}
.info_table tr:first-child > th {
@ -134,32 +147,41 @@
}
.info_table tr th {
border-bottom: 1px solid #e2e2e2;
/*border-bottom: 1px solid #e2e2e2;*/
}
.info_table > thead > tr {
height: 3em;
vertical-align: top;
border: 1px solid #c0ccdc;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
}
.info_table > thead > tr * {
font-size: 10pt;
font-family: "Pandora-Regular";
}
/* Radius top */
.info_table > thead > tr:first-child > th:first-child {
border-top-left-radius: 4px;
/*border-top-left-radius: 4px;*/
}
.info_table > thead > tr:first-child > th:last-child {
border-top-right-radius: 4px;
/*border-top-right-radius: 4px;*/
}
/* Radius bottom */
.info_table > tbody > tr:last-child > td:first-child {
border-top-left-radius: 4px;
.info_table > tbody > tr:last-child {
/*border-top-left-radius: 4px;*/
/*border-bottom-left-radius: 4px;*/
}
.info_table > tbody > tr:last-child > td:last-child {
border-top-right-radius: 4px;
/*border-top-right-radius: 4px;*/
}
.info_table > tbody > tr > th,
.info_table > thead > tr > th,
/*.info_table > tbody > tr > th,
.info_table > thead > tr > th,*/
.info_table > thead > tr > th a,
.info_table > thead > tr > th > span {
padding: 0.1em;
@ -170,13 +192,19 @@
.info_table > tbody > tr {
/*border-bottom: 1px solid #e2e2e2;*/
border-top: 0;
border-bottom: 1px solid #c0ccdc;
border-left: 1px solid #c0ccdc;
border-right: 1px solid #c0ccdc;
}
.info_table > tbody > tr > th,
.info_table > thead > tr > th,
.info_table > tbody > tr > td {
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
border: none;
/*border: none;*/
border-bottom: 1px solid #c0ccdc;
padding: 7px 3px;
/*
padding-left: 0px;
@ -289,6 +317,12 @@ table.dataTable.info_table.no-footer {
border-bottom: none;
}
table.dataTable thead th,
table.dataTable tfoot th {
font-size: 11pt;
font-weight: inherit !important;
}
/* Datatables pagination */
.dataTables_paginate.paging_simple_numbers {
margin: 2em 0;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

View File

@ -1,853 +0,0 @@
#visual-console-container {
margin: 0px auto;
position: relative;
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center;
margin-top: 5px;
}
.is-maintenance {
background-image: url(maintenanceMode.png) !important;
}
.is-maintenance :nth-child(1) {
display: none;
}
.visual-console-item {
position: absolute;
display: flex;
flex-direction: initial;
justify-items: center;
align-items: center;
user-select: text;
z-index: 1;
}
.visual-console-item.is-on-top {
z-index: 2;
}
.visual-console-item * {
overflow: visible;
font-family: inherit;
}
.visual-console-item.is-editing {
border: 2px dashed #b2b2b2;
transform: translateX(-2px) translateY(-2px);
user-select: none;
}
.visual-console-item.is-editing:hover {
border-color: #82b92e;
}
.visual-console-item.is-editing.is-selected {
border: 2px dashed #2b2b2b;
cursor: move;
z-index: 10;
}
.visual-console-item.is-editing > .resize-draggable {
float: right;
position: absolute;
right: 0;
bottom: 0;
width: 15px;
height: 15px;
background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIAoJeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAKCXhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE1cHgiIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDE1IDE1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNSAxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cgk8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNCMkIyQjIiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSIwLjU2MiIgeTE9IjM2LjMxNyIgeDI9IjE0LjIzMSIgeTI9IjIyLjY0OCIvPgoJPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQjJCMkIyIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iNC45NzEiIHkxPSIzNi41OTUiIHgyPSIxNC40MDkiIHkyPSIyNy4xNTUiLz4KCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0IyQjJCMiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjEwLjAxNyIgeTE9IjM2LjQzMyIgeDI9IjE0LjIzMSIgeTI9IjMyLjIxOCIvPgoJPGcgaWQ9ImpHRWVLbl8xXyI+CgoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjM3IiBpZD0iakdFZUtuIiB4bGluazpocmVmPSJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBZ0VBU0FCSUFBRC83QUFSUkhWamEza0FBUUFFQUFBQUhnQUEvKzRBSVVGa2IySmxBR1RBQUFBQUFRTUEKRUFNQ0F3WUFBQUdSQUFBQnN3QUFBZ0wvMndDRUFCQUxDd3NNQ3hBTURCQVhEdzBQRnhzVUVCQVVHeDhYRnhjWEZ4OGVGeG9hR2hvWApIaDRqSlNjbEl4NHZMek16THk5QVFFQkFRRUJBUUVCQVFFQkFRRUFCRVE4UEVSTVJGUklTRlJRUkZCRVVHaFFXRmhRYUpob2FIQm9hCkpqQWpIaDRlSGlNd0t5NG5KeWN1S3pVMU1EQTFOVUJBUDBCQVFFQkFRRUJBUUVCQVFQL0NBQkVJQUNZQUx3TUJJZ0FDRVFFREVRSC8KeEFCNUFBRUJBUUVCQUFBQUFBQUFBQUFBQUFBQUFRUUNCZ0VCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQVFRREFBQUFBQUFBQUFBQQpBQUFBQVFBeEFnTVFNQklSQUFFQkJnVUZBUUFBQUFBQUFBQUFBQUVDQUJFaFFXRURFQ0J4a1JJd01ZRXlFd1FTQVFBQUFBQUFBQUFBCkFBQUFBQUFBQURELzJnQU1Bd0VBQWhFREVRQUFBUGZBUzV6VFpUa0dQclVMWlFBQUQvL2FBQWdCQWdBQkJRRFQvOW9BQ0FFREFBRUYKQU5QLzJnQUlBUUVBQVFVQXpKZzJTUUJDMmQwdzJiWlN2Vk5jNW9NdUF1UXVBdVJwLzlvQUNBRUNBZ1kvQUIvLzJnQUlBUU1DQmo4QQpILy9hQUFnQkFRRUdQd0RFNlpYbUFZcXR3c0pCSEk5MUdsTXFudlQrZTM3UUwxa1MwYjdYQndBRHJWb1FDUlhHZTVhZTVhZTVhZms5CkgvL1oiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgLTQ2Ljg3NSAtOS44OTA2KSI+CgkJPC9pbWFnZT4KCTwvZz4KCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0IyQjJCMiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjEzLjQ4MyIgeTE9IjAuNjQ0IiB4Mj0iMC44MjgiIHkyPSIxMy4zMDEiLz4KCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0IyQjJCMiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjEzLjczNCIgeTE9IjUuMTQxIiB4Mj0iNS4zMjUiIHkyPSIxMy41NDkiLz4KCTxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0IyQjJCMiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjE0LjIzMSIgeTE9IjkuMzg4IiB4Mj0iOS44MDYiIHkyPSIxMy44MTMiLz4KPC9zdmc+Cg==);
cursor: se-resize;
z-index: 10;
}
.visual-console-item.is-editing :first-child {
pointer-events: none;
}
@keyframes spinner-loading {
0% {
transform: rotate(0deg);
}
to {
transform: rotate(1turn);
}
}
.visual-console-spinner {
background-color: transparent;
margin: 0px auto;
border-top: 5px solid rgb(82, 85, 87);
border-right: 5px solid rgb(82, 85, 87);
border-bottom: 5px solid rgb(82, 85, 87);
border-left: 5px solid rgba(82, 85, 87, 0.2);
animation-name: spinner-loading;
animation-duration: 0.8s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
.visual-console-spinner,
.visual-console-spinner :after {
display: block;
width: 32px;
height: 32px;
border-radius: 50%;
}
.visual-console-spinner.small,
.visual-console-spinner.small :after {
width: 12px;
height: 12px;
}
.div-visual-console-spinner {
position: absolute;
width: 100%;
height: 100%;
display: flex;
align-items: center;
opacity: 0.7;
background: rgb(212, 215, 218);
z-index: 10;
}
.show-elements {
display: inline-block;
}
.hide-elements {
display: none;
}
/*Forms*/
.div-input-group label {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
font-size: 12pt;
font-weight: 600;
color: #343434;
margin-right: 10px;
}
.div-input-group label img {
margin-left: 4px;
}
.div-input-group input[type="text"],
.div-input-group input[type="number"] {
height: 25px;
font-size: 10pt;
background-color: transparent;
border: none;
border-radius: 0;
border-bottom: 1px solid #ccc;
font-weight: lighter;
padding: 0px 0px 2px 0px;
box-sizing: border-box;
margin-right: 10px;
padding-left: 2px;
}
.div-input-group input[type="radio"] {
margin-right: 10px;
width: 17px;
height: 17px;
}
.div-input-group select {
font-weight: lighter;
font-size: 10pt;
}
.input-groups {
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
.input-group {
width: 100%;
margin-bottom: 25px;
padding-left: 20px;
}
.div-ranges-input-group {
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
}
.div-ranges-input-group > div {
padding-left: 20px;
margin-top: 10px;
}
.div-input-group,
.div-input-group div div {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
}
.div-input-group h3 {
text-transform: initial;
text-align: center;
font-style: italic;
text-decoration: underline;
margin: 0 auto;
}
.div-input-group div div a {
margin-left: 10px;
}
.div-input-group-autocomplete-agent {
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
height: 70px;
}
.div-input-group-inside {
padding-left: 20px;
}
.input-group-link-console {
height: 70px;
}
.show-elements > div.div-input-group-autocomplete-agent {
margin-left: 20px;
}
.img-vc-elements {
margin-left: 10px;
}
input.error-input-validate[type="number"],
input.error-input-validate[type="text"],
select.error-input-validate {
border: 1px solid #c00;
}
select.error-input-validate:focus {
outline-color: #c00;
}
p.error-p-validate {
width: 100%;
color: #c00;
}
/* Styles for the solid icons */
.fa {
display: inline-block;
margin: 0;
}
.fa,
.fa > svg,
.fa.medium,
.fa.medium > svg {
width: 28px;
height: 28px;
}
.fa.fa-small,
.fa.fa-small > svg {
width: 14px;
height: 14px;
}
.fa.fa-large,
.fa.fa-large > svg {
width: 44px;
height: 44px;
}
.fa-spin {
animation: fa-spin 2s infinite linear;
}
.fa-pulse {
animation: fa-spin 1s infinite steps(8);
}
@keyframes fa-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.autocomplete {
/*the container must be positioned relative:*/
position: relative;
display: inline-block;
}
.autocomplete input {
/*background: pink;*/
}
.autocomplete-items {
border: 1px solid #d4d4d4;
border-bottom: none;
border-top: none;
/*position the autocomplete items to be the same width as the container:*/
position: absolute;
z-index: 1;
overflow: auto;
max-height: 150px;
max-width: 250px;
}
.autocomplete-items div {
width: 100%;
padding: 10px;
cursor: pointer;
background-color: #fff;
border-bottom: 1px solid #d4d4d4;
border-top: 1px solid #d4d4d4;
}
.autocomplete-items div:hover {
width: 100%;
background-color: #e9e9e9;
}
.autocomplete-active {
/*when navigating through the items using the arrow keys:*/
background-color: DodgerBlue !important;
color: #ffffff;
}
/* Digital clock */
.visual-console-item .digital-clock {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
flex-direction: column;
justify-content: center;
justify-items: center;
align-content: center;
align-items: center;
}
.visual-console-item .digital-clock > span {
/* To improve legibility */
text-rendering: optimizeLegibility;
text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}
.visual-console-item .digital-clock > span.time {
font-size: 50px;
}
.visual-console-item .digital-clock > span.date {
font-size: 25px;
}
.visual-console-item .digital-clock > span.timezone {
font-size: 25px;
}
/* Analog clock */
.visual-console-item .analogic-clock {
text-align: center;
}
.visual-console-item .analogic-clock .hour-hand {
animation: rotate-hour 43200s infinite linear;
}
.visual-console-item .analogic-clock .minute-hand {
animation: rotate-minute 3600s infinite linear;
}
.visual-console-item .analogic-clock .second-hand {
animation: rotate-second 60s infinite linear;
}
#html-tabs .ui-widget-header {
background-color: #ffffff;
border: 0px;
}
#html-tabs .ui-tabs-anchor {
float: none;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
#html-tabs .ui-tabs-anchor img {
margin-right: 10px;
}
#html-tabs .ui-tabs-nav li {
border-radius: 5px 5px 0px 0px;
}
li.interval-color-ranges > label,
li#li-default-ranges > label {
margin-right: 15px;
}
li.interval-color-ranges > input[type="number"],
li#li-default-ranges > input[type="number"] {
width: 80px;
}
li.interval-color-ranges > label:not(:first-child),
li#li-default-ranges > label:not(:first-child),
li#li-size-item > label:not(:first-child),
li#li-position-item > label:not(:first-child) {
width: initial;
margin-left: 15px;
}
li#li-image-item label {
display: flex;
flex-direction: row;
justify-content: flex-end;
}
li#li-image-item label img {
flex: initial;
}
.discovery.modal * {
font-weight: normal;
color: #343434;
}
.discovery.modal select {
width: 100px;
}
.discovery.modal div#period_manual select,
.discovery.modal div#period_manual input,
.discovery.modal div#period_default select,
.discovery.modal div#cacheExpiration_manual select,
.discovery.modal div#cacheExpiration_manual input,
.discovery.modal div#cacheExpiration_default select {
font-size: inherit !important;
}
.discovery.modal div#period_default select#period_select,
.discovery.modal div#cacheExpiration_default select#cacheExpiration_select {
max-width: 230px;
width: inherit;
}
li#li-timeZone-item > label:not(:first-child),
.discovery.modal li#div-textarea-label > label {
flex: inherit;
}
li#li-timeZone-item > select:not(:first-child) {
margin-left: 10px;
}
.discovery.modal li#div-textarea-label table tbody td.mceIframeContainer {
background-color: #ededed;
}
/*style item group show statistic*/
.group-container {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.group-container .group-item-title {
width: 100%;
height: 30%;
background-color: #9d9ea0;
color: black;
font-weight: bold;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.group-container .group-item-info {
width: 100%;
height: 70%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding: 2%;
align-items: center;
}
.group-container .group-item-info .group-item-info-container {
flex: 1 1 20%;
display: flex;
flex-direction: row;
border-radius: 2px;
max-height: 50px;
min-height: 35px;
margin: 1%;
}
.group-container .group-item-info .group-item-info-container .value-style {
flex: 1;
color: #fff;
font-size: 100%;
padding: 0%;
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.group-container .group-item-info .group-item-info-container .name-style {
flex: 1;
background-color: white;
color: black;
font-size: 100%;
padding: 0%;
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
div.label,
div.simple-value {
min-width: fit-content;
min-height: fit-content;
display: flex;
flex-direction: column;
justify-content: center;
}
div.simple-value > div {
max-height: -webkit-fill-available;
}
div.module-graph .parent_graph p table tr {
height: 25px;
}
div.module-graph {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
div.basic-chart {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-end;
justify-content: center;
}
.basic-chart-header {
height: 40%;
width: 100%;
display: flex;
}
.basic-chart-header-name {
margin: 0;
padding: 0;
height: 100%;
width: 80%;
display: flex;
align-items: center;
font-size: 2.5vmin;
margin-left: 3%;
}
.basic-chart-header-value {
margin: 0;
padding: 0;
height: 100%;
width: 20%;
display: flex;
align-items: center;
justify-content: center;
font-size: 2.5vmin;
}
div.module-graph .gauge_d3_class {
flex: 1 1 100px;
float: none !important;
overflow: inherit !important;
text-align: center;
}
.textDecorationNone:hover {
text-decoration: none;
}
.vc-item-nl-label {
border-radius: 5px;
background-color: #fff;
padding: 5px;
padding-left: 1em;
font-size: 14px;
}
.odometer {
overflow: hidden !important;
}
.odometer-container {
width: 100%;
height: 100%;
overflow: hidden;
text-align: center;
display: flex;
align-items: flex-end;
}
.odometer-a {
z-index: 5;
position: absolute;
width: 65%;
height: 65%;
left: calc(17.5%);
border-radius: 1000px 1000px 0px 0px;
display: flex;
align-items: center;
justify-content: flex-end;
flex-direction: column;
line-height: 0px;
}
.odometer-b {
z-index: 4;
position: relative;
width: 95%;
height: 95%;
border-radius: 0px 0px 1000px 1000px;
transform-origin: center top;
transition: all 1.3s ease-in-out;
top: calc(95%);
left: calc(2.5%);
}
.odometer-c {
z-index: 3;
position: absolute;
width: 96%;
height: 96%;
left: calc(2%);
background-color: #202226;
margin-left: auto;
margin-right: auto;
border-radius: 1000px 1000px 0px 0px;
transform-origin: center top;
transition: all 1.3s ease-in-out;
}
.odometer-d {
z-index: 0;
position: absolute;
width: 100%;
height: 100%;
background-color: #82b92e;
margin-left: auto;
margin-right: auto;
border-radius: 1000px 1000px 0px 0px;
transform-origin: center top;
transition: all 1.3s ease-in-out;
}
.gauge-data {
z-index: 4;
color: #fff;
font-size: 1.5em;
width: 100%;
height: 100%;
transition: all 1s ease-out;
position: absolute;
display: flex;
justify-content: center;
align-items: flex-end;
}
.svg_warning {
fill: #f3b200;
}
.svg_warning_hide {
fill: #fff !important;
}
.gauge-data #percent {
color: #000;
}
.orange_background {
background: #ffa631;
}
.red_background {
background: #e63c52;
}
.yellow_background {
background: #f3b200;
}
.grey_background {
background: #b2b2b2;
}
.blue_background {
background: #4a83f3;
}
.green_background {
background: #82b92e;
}
/* Styles for the solid icons */
.fa {
display: inline-block;
margin: 0;
}
.fa,
.fa > svg,
.fa.medium,
.fa.medium > svg {
width: 28px;
height: 28px;
}
.fa.fa-small,
.fa.fa-small > svg {
width: 14px;
height: 14px;
}
.fa.fa-large,
.fa.fa-large > svg {
width: 44px;
height: 44px;
}
.fa-spin {
animation: fa-spin 2s infinite linear;
}
.fa-pulse {
animation: fa-spin 1s infinite steps(8);
}
@keyframes fa-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.autocomplete {
/*the container must be positioned relative:*/
position: relative;
display: inline-block;
}
.autocomplete input {
/*background: pink;*/
}
.autocomplete-items {
border: 1px solid #d4d4d4;
border-bottom: none;
border-top: none;
/*position the autocomplete items to be the same width as the container:*/
position: absolute;
z-index: 1;
overflow: auto;
max-height: 150px;
max-width: 250px;
}
.autocomplete-items div {
width: 100%;
padding: 10px;
cursor: pointer;
background-color: #fff;
border-bottom: 1px solid #d4d4d4;
border-top: 1px solid #d4d4d4;
}
.autocomplete-items div:hover {
width: 100%;
background-color: #e9e9e9;
}
.autocomplete-active {
/*when navigating through the items using the arrow keys:*/
background-color: DodgerBlue !important;
color: #ffffff;
}
/* Digital clock */
.visual-console-item .digital-clock {
display: flex;
flex-direction: column;
justify-content: space-evenly;
justify-items: center;
align-content: center;
align-items: center;
}
.visual-console-item .digital-clock > span {
/* To improve legibility */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}
.visual-console-item .digital-clock > span.time {
font-size: 50px;
}
.visual-console-item .digital-clock > span.date {
font-size: 25px;
}
.visual-console-item .digital-clock > span.timezone {
font-size: 25px;
}
/* Analog clock */
.visual-console-item .analogic-clock {
text-align: center;
}
.visual-console-item .analogic-clock .hour-hand {
animation: rotate-hour 43200s infinite linear;
}
.visual-console-item .analogic-clock .minute-hand {
animation: rotate-minute 3600s infinite linear;
}
.visual-console-item .analogic-clock .second-hand {
animation: rotate-second 60s infinite linear;
}
/*# sourceMappingURL=vc.main.css.map*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -233,8 +233,9 @@ if ($free_search != '') {
$column_names = [
[
'title' => 'Standby',
'text' => 'S.',
'title' => __('Standby'),
'text' => __('Standby'),
'style' => 'max-width: 5%;',
],
];
@ -242,8 +243,9 @@ if ($free_search != '') {
array_unshift(
$column_names,
[
'title' => 'Policy',
'text' => 'P.',
'title' => __('Policy'),
'text' => __('Policy'),
'style' => 'max-width: 5%;vertical-align: baseline;',
]
);
@ -253,39 +255,6 @@ if ($free_search != '') {
);
}
if (is_metaconsole() === false) {
if (check_acl($config['id_user'], $id_group, 'LW') || check_acl($config['id_user'], $id_group, 'LM')) {
array_unshift(
$column_names,
[
'title' => 'Validate',
'text' => html_print_checkbox('all_validate', 0, false, true, false),
'class' => 'dt-left',
]
);
$columns = array_merge(
['validate'],
$columns
);
}
if (check_acl($config['id_user'], $id_group, 'AW') || check_acl($config['id_user'], $id_group, 'LM')) {
array_push(
$column_names,
[
'title' => 'Force execution',
'text' => 'F.',
]
);
$columns = array_merge(
$columns,
['force']
);
}
}
if ($print_agent === true) {
array_push(
$column_names,
@ -300,23 +269,71 @@ if ($free_search != '') {
array_push(
$column_names,
['text' => 'Module'],
['text' => 'Template'],
['text' => 'Action'],
['text' => 'Last fired'],
['text' => 'Status']
[
'text' => 'Module',
'style' => 'min-width: 15%;vertical-align: baseline;',
],
[
'text' => 'Template',
'style' => 'min-width: 10%;vertical-align: baseline;',
],
[
'text' => 'Operation',
'style' => 'min-width: 15%;vertical-align: baseline;',
],
[
'text' => 'Last fired',
'style' => 'min-width: 15%;',
],
[
'text' => 'Status',
'style' => 'width: 5%;',
]
);
$columns = array_merge(
$columns,
['agent_module_name'],
['template_name'],
['action'],
['operation'],
['last_fired'],
['status']
);
if (is_metaconsole() === false) {
if ((bool) check_acl($config['id_user'], $id_group, 'LW') === true || (bool) check_acl($config['id_user'], $id_group, 'LM') === true) {
array_unshift(
$column_names,
[
'title' => __('Validate'),
'text' => html_print_checkbox('all_validate', 0, false, true, false),
'class' => 'dt-left',
'style' => 'max-width: 5%;',
]
);
$columns = array_merge(
['validate'],
$columns
);
}
if ((bool) check_acl($config['id_user'], $id_group, 'AW') === true || (bool) check_acl($config['id_user'], $id_group, 'LM') === true) {
array_push(
$column_names,
[
'title' => __('Actions'),
'text' => __('Actions'),
'style' => 'min-width: 15%;',
]
);
$columns = array_merge(
$columns,
['actions']
);
}
}
if (is_metaconsole() === true) {
$no_sortable_columns = [
@ -426,18 +443,34 @@ if ($free_search != '') {
}
if ((is_metaconsole() === false) && ((bool) check_acl($config['id_user'], $id_group, 'AW') === true || (bool) check_acl($config['id_user'], $id_group, 'LM') === true)) {
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
if ($agent_view_page === true) {
html_print_div(
[
'class' => 'action-buttons pdd_b_10px pdd_r_5px w100p',
'content' => html_print_submit_button(
__('Validate'),
'alert_validate',
false,
[
'icon' => 'wand',
'mode' => 'mini',
],
true
),
]
);
} else {
html_print_action_buttons(
html_print_submit_button(
__('Validate'),
'alert_validate',
false,
[ 'icon' => 'wand' ],
true
),
]
);
['type' => 'form_action']
);
}
}
$html_content = ob_get_clean();
@ -446,7 +479,7 @@ if ($free_search != '') {
// Create controlled toggle content.
html_print_div(
[
'class' => 'agent_details_first_row agent_details_line',
'class' => 'agent_details_line',
'content' => ui_toggle(
$html_content,
'<span class="subsection_header_title">'.__('Full list of alerts').'</span>',
@ -483,11 +516,12 @@ if ($free_search != '') {
function alerts_table_controls() {
$("a.template_details").cluetip ({
$("button.template_details").cluetip ({
arrows: true,
attribute: 'href',
cluetipClass: 'default'
}).click (function () {
console.log('click aqui');
return false;
});

View File

@ -555,7 +555,7 @@ $data_opcional->style[1] = 'height: 46px; width: 75%; padding-left: 5px; font-fa
$agentAdditionalContent = '';
// Position Information.
if ((bool) $config['activate_gis'] === true) {
$data_opcional->data['agent_position'][0] = '<span>'.__('Position (Long, Lat)').'</span>';
$data_opcional->data['agent_position'][0] = __('Position (Long, Lat)');
$dataPositionAgent = gis_get_data_last_position_agent(
$agent['id_agente']
);
@ -581,7 +581,7 @@ if ((bool) $config['activate_gis'] === true) {
// If the url description is set.
if (empty($agent['url_address']) === false) {
$data_opcional->data['url_address'][0] = '<span>'.__('Url address').'</span>';
$data_opcional->data['url_address'][0] = __('Url address');
$data_opcional->data['url_address'][1] = html_print_anchor(
[
'href' => $agent['url_address'],
@ -594,7 +594,7 @@ if (empty($agent['url_address']) === false) {
// Other IP address and timezone offset.
if (empty($addresses) === false) {
$data_opcional->data['other_ip_address'][0] = '<span>'.__('Other IP addresses').'</span>';
$data_opcional->data['other_ip_address'][0] = __('Other IP addresses');
$data_opcional->data['other_ip_address'][1] = html_print_div(
[
'class' => 'overflow-y mx_height50px',
@ -606,7 +606,7 @@ if (empty($addresses) === false) {
// Timezone Offset.
if ((int) $agent['timezone_offset'] !== 0) {
$data_opcional->data['timezone_offset'][0] = '<span>'.__('Timezone Offset').'</span>';
$data_opcional->data['timezone_offset'][0] = __('Timezone Offset');
$data_opcional->data['timezone_offset'][1] = $agent['timezone_offset'];
}
@ -1099,7 +1099,7 @@ if (empty($data_opcional) === true) {
false,
false,
true,
'box-shadow agent_details_col w100p',
'box-shadow agent_details_col agent_details_toggle agent_details_first_row w100p',
'mrgn_lft_20px mrgn_right_20px',
'mrgn_lft_20px mrgn_right_20px w100p'
);
@ -1123,7 +1123,7 @@ html_print_div(
html_print_div(
[
'class' => 'agent_details_first_row agent_details_line',
'class' => 'agent_details_line',
'content' => $agentEvents.$agentAccessRate,
]
);
@ -1131,7 +1131,7 @@ html_print_div(
if (empty($agentAdditionalInfo) === false) {
html_print_div(
[
'class' => 'agent_details_first_row agent_details_line',
'class' => 'agent_details_line',
'content' => $agentAdditionalInfo,
]
);
@ -1140,7 +1140,7 @@ if (empty($agentAdditionalInfo) === false) {
if (empty($agentIncidents) === false) {
html_print_div(
[
'class' => 'agent_details_first_row agent_details_line',
'class' => 'agent_details_line',
'content' => $agentIncidents,
]
);

View File

@ -184,7 +184,7 @@ $html_toggle = ob_get_clean();
html_print_div(
[
'class' => 'agent_details_first_row agent_details_line',
'class' => 'agent_details_line',
'content' => ui_toggle(
$html_toggle,
'<span class="subsection_header_title">'.__('List of modules').'</span>'.$help_not_init.ui_print_help_tip(

View File

@ -24,7 +24,7 @@ ui_require_css_file('events');
html_print_div(
[
'class' => 'agent_details_first_row agent_details_line',
'class' => 'agent_details_line',
'content' => ui_toggle(
'<div class=\'w100p\' id=\'event_list\'>'.html_print_image('images/spinner.gif', true).'</div>',
'<span class="subsection_header_title">'.__('Latest events for this agent').'</span>',

View File

@ -162,14 +162,30 @@ $table->data = [];
$table->style = [$bg_color];
$stats = reporting_get_stats_indicators($data, 120, 10, false);
$status = '<table class="status_tactical bg_white">';
foreach ($stats as $stat) {
$status .= '<tr><td><b>'.$stat['title'].'</b>'.'</td><td>'.$stat['graph'].'</td></tr>';
$statusTacticalTable = new stdClass();
$statusTacticalTable->width = '100%';
$statusTacticalTable->id = 'statusTacticalTable';
$statusTacticalTable->class = 'status_tactical tactical_table bg_white';
$statusTacticalTable->data = [];
foreach ($stats as $key => $stat) {
$statusTacticalTable->cellstyle['line_'.$key][0] = 'width: 40%;';
$statusTacticalTable->style['line_'.$key][1] = 'width: 60%;';
$statusTacticalTable->data['line_'.$key][0] = '<span>'.$stat['title'].'</span>';
$statusTacticalTable->data['line_'.$key][1] = $stat['graph'];
}
$status .= '</table>';
$status = html_print_table($statusTacticalTable, true);
$table->rowclass = [];
$table->rowclass[0] = 'w100p';
$table->rowclass[1] = 'w100p';
$table->rowclass[2] = 'w100p';
$table->rowclass[3] = 'w100p';
$table->rowclass[4] = 'w100p';
$table->data[0][0] = $status;
$table->rowclass[] = '';
// ---------------------------------------------------------------------
// Monitor checks
@ -183,6 +199,7 @@ $data_agents = [
];
$table->data[1][0] = reporting_get_stats_alerts($data);
$table->rowclass[1] = 'w100p';
$table->data[2][0] = reporting_get_stats_modules_status($data, 180, 100, false, $data_agents);
$table->data[3][0] = reporting_get_stats_agents_monitors($data);