Merge remote-tracking branch 'origin/develop' into ent-7074-Command-Center

This commit is contained in:
Daniel Barbero Martin 2021-04-15 17:41:56 +02:00
commit 741ec6a144
20 changed files with 697 additions and 594 deletions

View File

@ -462,13 +462,16 @@ if (is_ajax()) {
} }
// This check should be after ajax. Because, ajax will be called from configure_alert_action. // This check should be after ajax. Because, ajax will be called from configure_alert_action.
if (!check_acl($config['id_user'], 0, 'PM') && !is_user_admin($config['id_user if (!check_acl($config['id_user'], 0, 'PM') && !is_user_admin(
'])) { $config['id_user
']
)
) {
echo "<div id='message_permissions' title='".__('Permissions warning')."' s echo "<div id='message_permissions' title='".__('Permissions warning')."' s
tyle='display:none;'>"; tyle='display:none;'>";
echo "<p style='text-align: center;font-weight: bold;'>".__('Command managem echo "<p style='text-align: center;font-weight: bold; margin: 15px'>".__(
ent is limited to administrator users or user profiles with permissions over Pan 'Command management is limited to administrator users or user profiles with permissions PM'
dora FMS management').'</p>'; ).'</p>';
echo '</div>'; echo '</div>';
} }
@ -680,12 +683,19 @@ foreach ($commands as $command) {
// (IMPORTANT, DO NOT CHANGE!) only users with permissions over "All" group have access to edition of commands belonging to "All" group. // (IMPORTANT, DO NOT CHANGE!) only users with permissions over "All" group have access to edition of commands belonging to "All" group.
if ($is_central_policies_on_node === false && !$command['internal'] && check_acl_restricted_all($config['id_user'], $command['id_group'], 'LM')) { if ($is_central_policies_on_node === false && !$command['internal'] && check_acl_restricted_all($config['id_user'], $command['id_group'], 'LM')) {
$data['action'] = '<span class="inline_flex">'; if (check_acl($config['id_user'], 0, 'PM') || is_user_admin(
$data['action'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&amp;copy_command=1&id='.$command['id'].'&pure='.$pure.'" $config['id_user
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/copy.png', true, ['class' => 'invert_filter']).'</a>'; ']
$data['action'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&delete_command=1&id='.$command['id'].'&pure='.$pure.'" )
) {
$data['action'] = '<span class="inline_flex">';
$data['action'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&amp;copy_command=1&id='.$command['id'].'&pure='.$pure.'"
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/copy.png', true, ['class' => 'invert_filter']).'</a>';
$data['action'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&delete_command=1&id='.$command['id'].'&pure='.$pure.'"
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/cross.png', true, ['class' => 'invert_filter']).'</a>'; onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/cross.png', true, ['class' => 'invert_filter']).'</a>';
$data['action'] .= '</span>'; $data['action'] .= '</span>';
}
} }
array_push($table->data, $data); array_push($table->data, $data);

View File

@ -885,6 +885,11 @@ function html_print_select(
"; ";
} }
$select2 = 'select2.min';
if ($config['style'] === 'pandora_black') {
$select2 = 'select2_dark.min';
}
if ($multiple === false) { if ($multiple === false) {
if (is_ajax()) { if (is_ajax()) {
$output .= '<script src="'; $output .= '<script src="';
@ -898,18 +903,13 @@ function html_print_select(
$output .= '<link rel="stylesheet" href="'; $output .= '<link rel="stylesheet" href="';
$output .= ui_get_full_url( $output .= ui_get_full_url(
'include/styles/select2.min.css', 'include/styles/'.$select2.'.css',
false, false,
false, false,
false false
); );
$output .= '"/>'; $output .= '"/>';
} else { } else {
$select2 = 'select2.min';
if ($config['style'] === 'pandora_black') {
$select2 = 'select2_dark.min';
}
ui_require_css_file($select2); ui_require_css_file($select2);
ui_require_javascript_file('select2.min'); ui_require_javascript_file('select2.min');
} }

View File

@ -130,17 +130,24 @@ function html_do_report_info($report)
$date_today = date($config['date_format']); $date_today = date($config['date_format']);
$date_today = preg_split('/[\s,]+/', io_safe_output($date_today));
$date_today = __($date_today[0]).' '.$date_today[1].' '.$date_today[2].' '.$date_today[3].' '.$date_today[4];
$html = '<div class="report_info" style="background: '.$background_color.'"><table> $html = '<div class="report_info" style="background: '.$background_color.'"><table>
<tr> <tr>
<td><b>'.__('Generated').': </b></td><td>'.$date_today.'</td> <td><b>'.__('Generated').': </b></td><td>'.$date_today.'</td>
</tr> </tr>
<tr> <tr>
<td><b>'.__('Report date').': </b></td>'; <td><b>'.__('Report date').': </b></td>';
$date_before = date($config['date_format'], $report['datetime']);
$date_before = preg_split('/[\s,]+/', io_safe_output($date_before));
$date_before = __($date_before[0]).' '.$date_before[1].' '.$date_before[2].' '.$date_before[3].' '.$date_before[4];
if (is_numeric($report['datetime']) && is_numeric($report['period']) && ($report['period'] != 0)) { if (is_numeric($report['datetime']) && is_numeric($report['period']) && ($report['period'] != 0)) {
$html .= '<td>'.__('From').' <b>'.date($config['date_format'], ($report['datetime'] - $report['period'])).'</b></td>'; $html .= '<td>'.__('From').' <b>'.date($config['date_format'], ($report['datetime'] - $report['period'])).'</b></td>';
$html .= '<td>'.__('to').' <b>'.date($config['date_format'], $report['datetime']).'</b></td>'; $html .= '<td>'.__('to').' <b>'.date($config['date_format'], $report['datetime']).'</b></td>';
} else { } else {
$html .= '<td>'.__('Items period before').' <b>'.date($config['date_format'], $report['datetime']).'</b></td>'; $html .= '<td>'.__('Items period before').' <b>'.$date_before.'</b></td>';
} }
$html .= '</tr> $html .= '</tr>

View File

@ -290,7 +290,7 @@ function treeview_printModuleTable($id_module, $server_data=false, $no_head=fals
} }
$last_data_str .= '&nbsp;'; $last_data_str .= '&nbsp;';
$last_data_str .= html_print_image('images/clock2.png', true, ['title' => $last_data['timestamp'], 'width' => '18px']); $last_data_str .= html_print_image('images/clock2.png', true, ['title' => $last_data['timestamp'], 'width' => '18px', 'class' => 'invert_filter']);
$is_snapshot = is_snapshot_data($last_data['datos']); $is_snapshot = is_snapshot_data($last_data['datos']);
$is_large_image = is_text_to_black_string($last_data['datos']); $is_large_image = is_text_to_black_string($last_data['datos']);
@ -307,7 +307,7 @@ function treeview_printModuleTable($id_module, $server_data=false, $no_head=fals
} }
if ($salida !== null) { if ($salida !== null) {
$last_data_str = html_print_image('images/clock2.png', true, ['title' => $last_data['timestamp'], 'width' => '18px']); $last_data_str = html_print_image('images/clock2.png', true, ['title' => $last_data['timestamp'], 'width' => '18px', 'class' => 'invert_filter']);
} }
$last_data_str .= $salida; $last_data_str .= $salida;

View File

@ -322,7 +322,7 @@ function ui_print_message($message, $class='', $attributes='', $return=false, $t
class="info_box '.$id.' '.$class.' textodialogo" style="'.$force_style.'"> class="info_box '.$id.' '.$class.' textodialogo" style="'.$force_style.'">
<tr> <tr>
<td class="icon icon_ui" rowspan="2" >'.html_print_image($icon_image, true, false, false, false, false).'</td> <td class="icon icon_ui" rowspan="2" >'.html_print_image($icon_image, true, false, false, false, false).'</td>
<td class="title pandora_upper pdd_t_10px"><b>'.$text_title.'</b></td> <td class="title pandora_upper pdd_t_10px text_left"><b>'.$text_title.'</b></td>
<td class="icon right pdd_r_3px">'; <td class="icon right pdd_r_3px">';
if (!$no_close_bool) { if (!$no_close_bool) {
// Use the no_meta parameter because this image is only in // Use the no_meta parameter because this image is only in

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -114,7 +114,8 @@ function pandoraFlotPie(
// Reset styles // Reset styles
function resetInteractivity() { function resetInteractivity() {
legends.css("color", "#fff"); legends.css("color", "#3F3F3D");
legends.attr("class", "invert_filter");
} }
if (water_mark) { if (water_mark) {
@ -293,7 +294,6 @@ function pandoraFlotPieCustom(
function resetInteractivity() { function resetInteractivity() {
legends.each(function() { legends.each(function() {
// fix the widths so they don't jump around // fix the widths so they don't jump around
console.log($(this));
$(this).css("color", "#3F3F3D"); $(this).css("color", "#3F3F3D");
}); });
} }

View File

@ -683,12 +683,13 @@ function flot_vcolumn_chart(array $options)
$options['graphId'] = $graphId; $options['graphId'] = $graphId;
// If pandora_black theme its enabled then change grid colors. // If pandora_black theme its enabled then change grid colors.
if ($config['style'] === 'pandora_black') { /*
if ($config['style'] === 'pandora_black') {
$options['grid']['backgroundColor']['colors'][0] = 'transparent'; $options['grid']['backgroundColor']['colors'][0] = 'transparent';
$options['grid']['backgroundColor']['colors'][1] = 'transparent'; $options['grid']['backgroundColor']['colors'][1] = 'transparent';
$options['y']['color'] = 'transparent'; $options['y']['color'] = 'transparent';
$options['x']['color'] = 'transparent'; $options['x']['color'] = 'transparent';
} }*/
$settings = base64_encode(json_encode($options)); $settings = base64_encode(json_encode($options));

View File

@ -2486,6 +2486,7 @@ function printClockAnalogic1(
var face = svg var face = svg
.append("g") .append("g")
.attr("id", "clock-face") .attr("id", "clock-face")
.attr("class", "invert_filter")
.attr( .attr(
"transform", "transform",
"translate(" + "translate(" +
@ -2646,6 +2647,8 @@ function printClockDigital1(
svg = d3.selectAll("#clock_" + id_element + " svg"); svg = d3.selectAll("#clock_" + id_element + " svg");
svgUnderlay.attr("id", "underlay_" + id_element); svgUnderlay.attr("id", "underlay_" + id_element);
svgUnderlay.attr("class", "invert_filter");
svgOverlay.attr("id", "overlay_" + id_element); svgOverlay.attr("id", "overlay_" + id_element);
var digit = svg.selectAll(".digit"), var digit = svg.selectAll(".digit"),

View File

@ -1211,43 +1211,43 @@ function add_agent_node(agents) {
graph.nodes.push(temp_node); graph.nodes.push(temp_node);
/*jQuery.each(data['rel'], function(i, relation) { /*jQuery.each(data['rel'], function(i, relation) {
var temp_link = {}; var temp_link = {};
if (i == 0) { if (i == 0) {
var found = 0; var found = 0;
temp_link['source'] = graph.nodes[temp_node['id']]; temp_link['source'] = graph.nodes[temp_node['id']];
jQuery.each(graph.nodes, function(j, element) { jQuery.each(graph.nodes, function(j, element) {
if (element.id_agent == relation['id_agent_end']) { if (element.id_agent == relation['id_agent_end']) {
found = j; found = j;
} }
}); });
temp_link['target'] = graph.nodes[found]; temp_link['target'] = graph.nodes[found];
} }
else { else {
var found = 0; var found = 0;
temp_link['target'] = graph.nodes[temp_node['id']]; temp_link['target'] = graph.nodes[temp_node['id']];
jQuery.each(graph.nodes, function(j, element) { jQuery.each(graph.nodes, function(j, element) {
if (element.id_agent == relation['id_agent_start']) { if (element.id_agent == relation['id_agent_start']) {
found = j; found = j;
} }
}); });
temp_link['source'] = graph.nodes[found]; temp_link['source'] = graph.nodes[found];
} }
temp_link['id_db'] = String(relation['id_db']); temp_link['id_db'] = String(relation['id_db']);
temp_link['id_agent_end'] = String(relation['id_agent_end']); temp_link['id_agent_end'] = String(relation['id_agent_end']);
temp_link['id_agent_start'] = String(relation['id_agent_start']); temp_link['id_agent_start'] = String(relation['id_agent_start']);
temp_link['id_module_end'] = relation['id_module_end']; temp_link['id_module_end'] = relation['id_module_end'];
temp_link['id_module_start'] = relation['id_module_start']; temp_link['id_module_start'] = relation['id_module_start'];
temp_link['source_in_db'] = String(relation['source_in_db']); temp_link['source_in_db'] = String(relation['source_in_db']);
temp_link['target_in_db'] = String(relation['target_in_db']); temp_link['target_in_db'] = String(relation['target_in_db']);
temp_link['arrow_end'] = relation['arrow_end']; temp_link['arrow_end'] = relation['arrow_end'];
temp_link['arrow_start'] = relation['arrow_start']; temp_link['arrow_start'] = relation['arrow_start'];
temp_link['status_end'] = relation['status_end']; temp_link['status_end'] = relation['status_end'];
temp_link['status_start'] = relation['status_start']; temp_link['status_start'] = relation['status_start'];
temp_link['text_end'] = relation['text_end']; temp_link['text_end'] = relation['text_end'];
temp_link['text_start'] = relation['text_start']; temp_link['text_start'] = relation['text_start'];
graph.links.push(temp_link); graph.links.push(temp_link);
});*/ });*/
draw_elements_graph(); draw_elements_graph();
init_drag_and_drop(); init_drag_and_drop();
@ -3385,8 +3385,8 @@ function init_graph(parameter_object) {
"stroke-opacity: 0.75; " + "stroke-opacity: 0.75; " +
"stroke-dasharray: none; " + "stroke-dasharray: none; " +
"stroke-dashoffset: 0" "stroke-dashoffset: 0"
); )
.attr("class", "fill_222");
window.layer_graph window.layer_graph
.append("text") .append("text")
.append("tspan") .append("tspan")
@ -3406,6 +3406,7 @@ function init_graph(parameter_object) {
"stroke: none; " + "stroke: none; " +
"font-family: Verdana" "font-family: Verdana"
) )
.attr("class", "fill_fff")
.attr( .attr(
"x", "x",
networkmap_dimensions[0] + node_radius - holding_area_dimensions[0] networkmap_dimensions[0] + node_radius - holding_area_dimensions[0]
@ -4072,7 +4073,7 @@ function draw_elements_graph() {
node_temp node_temp
.append("text") .append("text")
.attr("class", "node_text") .attr("class", "node_text fill_fff")
.attr("id", "node_text_" + networkmap_id) .attr("id", "node_text_" + networkmap_id)
.attr( .attr(
"style", "style",
@ -4094,7 +4095,7 @@ function draw_elements_graph() {
.text(function(d) { .text(function(d) {
return ellipsize(get_node_name_ov(d), 30); return ellipsize(get_node_name_ov(d), 30);
}) })
.classed("dragable_node", true) //own dragable .classed("dragable_node fill_fff", true) //own dragable
.on("click", selected_node) .on("click", selected_node)
.on("contextmenu", function(d) { .on("contextmenu", function(d) {
show_menu("node", d); show_menu("node", d);

View File

@ -490,6 +490,8 @@ class Widget
*/ */
public function getFormInputs(): array public function getFormInputs(): array
{ {
global $config;
$inputs = []; $inputs = [];
$values = $this->values; $values = $this->values;
@ -501,6 +503,10 @@ class Widget
if (empty($values['background']) === true) { if (empty($values['background']) === true) {
$values['background'] = '#ffffff'; $values['background'] = '#ffffff';
if ($config['style'] === 'pandora_black') {
$values['background'] = '#222222';
}
} }
$inputs[] = [ $inputs[] = [

View File

@ -732,7 +732,12 @@ class EventsListWidget extends Widget
$table->data[$i] = $data; $table->data[$i] = $data;
$table->cellstyle[$i][0] = 'background: #E8E8E8;'; $bg_color = 'background: #E8E8E8;';
if ($config['style'] === 'pandora_black') {
$bg_color = 'background: #222;';
}
$table->cellstyle[$i][0] = $bg_color;
$rowclass = \events_get_criticity_class($event['criticity']); $rowclass = \events_get_criticity_class($event['criticity']);
$table->cellclass[$i][1] = $rowclass; $table->cellclass[$i][1] = $rowclass;
$table->cellclass[$i][2] = $rowclass; $table->cellclass[$i][2] = $rowclass;

View File

@ -510,7 +510,7 @@ class SystemGroupStatusWidget extends Widget
$show_link = array_key_exists($group['g'], $user_groups); $show_link = array_key_exists($group['g'], $user_groups);
if ((in_array($group['g'], $this->values['groupId'])) === true) { if ((in_array($group['g'], $this->values['groupId'])) === true) {
$table->data[$i][] = '<span>'.$group['name'].'</span>'; $table->data[$i][] = '<span class="legendLabel">'.$group['name'].'</span>';
$url = $config['homeurl'].'index.php'; $url = $config['homeurl'].'index.php';
$url .= '?sec=estado&sec2=operation/agentes/status_monitor'; $url .= '?sec=estado&sec2=operation/agentes/status_monitor';

View File

@ -536,6 +536,9 @@ class TreeViewWidget extends Widget
// Css Files. // Css Files.
\ui_require_css_file('tree', 'include/styles/', true); \ui_require_css_file('tree', 'include/styles/', true);
if ($config['style'] == 'pandora_black') {
\ui_require_css_file('pandora_black', 'include/styles/', true);
}
// Javascript Files. // Javascript Files.
\ui_include_time_picker(); \ui_include_time_picker();
@ -683,7 +686,7 @@ class TreeViewWidget extends Widget
]; ];
// Show the modal window of an module. // Show the modal window of an module.
$output .= '<div id="module_details_window" class="invisible">'; $output .= '<div id="module_details_window" class="">';
$output .= '</div>'; $output .= '</div>';
// Script. // Script.

View File

@ -5450,6 +5450,10 @@ table.info_table.policy_sub_table {
min-width: 100px; min-width: 100px;
} }
div.label_select_child_left > span {
width: 100% !important;
}
.label_select_child_right { .label_select_child_right {
width: 20%; width: 20%;
min-width: 140px; min-width: 140px;

View File

@ -665,6 +665,9 @@ form ul.form_flex {
border-radius: 4px; border-radius: 4px;
} }
text {
color: #fff !important;
}
.legendLabel { .legendLabel {
color: #fff; color: #fff;
} }
@ -720,8 +723,9 @@ form ul.form_flex {
color: #900; color: #900;
} }
.cluetip-default ul { .cluetip-default ul,
text-align: left; .text_left {
text-align: left !important;
} }
.card { .card {
border: 1px solid #e2e2e2; border: 1px solid #e2e2e2;
@ -892,3 +896,53 @@ div.integria_details_description textarea {
color: #fff; color: #fff;
resize: vertical; resize: vertical;
} }
.grid-stack-item-content {
color: #fff !important;
}
.widget-groups-status h1 a {
font-size: 1.1em;
font-weight: bold;
line-height: 20px;
color: #fff;
font-family: "lato-lighter", "Open Sans", sans-serif;
letter-spacing: 0.03pt;
text-decoration: none;
text-transform: capitalize;
}
.widget_groups_status {
background-color: #222;
}
.flot-text {
color: #fff !important;
}
.table.group_modules_status_box tr td {
font-family: "lato-lighter", "Open Sans", sans-serif;
letter-spacing: 0.03pt;
font-size: 11pt;
text-decoration: none;
color: #fff !important;
font-weight: bolder;
text-align: justify;
border-bottom: 0px;
}
.bg_222_important {
background-color: #222 !important;
}
.networkconsole {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
background-color: #111;
}
.fill_222 {
fill: #222 !important;
}
.fill_fff {
fill: #fff !important;
}

View File

@ -255,7 +255,7 @@
.select2-container--default .select2-container--default
.select2-selection--multiple .select2-selection--multiple
.select2-selection__choice { .select2-selection__choice {
background-color: #e4e4e4; background-color: #222;
border: 1px solid #aaa; border: 1px solid #aaa;
border-radius: 4px; border-radius: 4px;
cursor: default; cursor: default;
@ -263,7 +263,7 @@
margin-right: 5px; margin-right: 5px;
margin-top: 5px; margin-top: 5px;
padding: 0 5px; padding: 0 5px;
color: #111; color: #fff;
} }
.select2-container--default .select2-container--default
.select2-selection--multiple .select2-selection--multiple
@ -277,7 +277,7 @@
.select2-container--default .select2-container--default
.select2-selection--multiple .select2-selection--multiple
.select2-selection__choice__remove:hover { .select2-selection__choice__remove:hover {
color: #333; color: #82b92e;
} }
.select2-container--default[dir="rtl"] .select2-container--default[dir="rtl"]
.select2-selection--multiple .select2-selection--multiple
@ -301,7 +301,7 @@
} }
.select2-container--default.select2-container--focus .select2-container--default.select2-container--focus
.select2-selection--multiple { .select2-selection--multiple {
border: solid black 1px; border: solid #fff 1px;
outline: 0; outline: 0;
} }
.select2-container--default.select2-container--disabled .select2-container--default.select2-container--disabled
@ -331,7 +331,7 @@
border: 1px solid #aaa; border: 1px solid #aaa;
} }
.select2-container--default .select2-search--inline .select2-search__field { .select2-container--default .select2-search--inline .select2-search__field {
background: transparent; background: #222;
border: none; border: none;
outline: 0; outline: 0;
box-shadow: none; box-shadow: none;

View File

@ -438,7 +438,7 @@ enterprise_hook('close_meta_frame');
.hide() .hide()
.prop("id", "module_details_window") .prop("id", "module_details_window")
.appendTo('body'); .appendTo('body');
console.log("vamos a ver");
function show_module_detail_dialog(module_id, id_agent, server_name, offset, period, module_name) { function show_module_detail_dialog(module_id, id_agent, server_name, offset, period, module_name) {
var params = {}; var params = {};
var f = new Date(); var f = new Date();

View File

@ -73,6 +73,13 @@ if ($manageDashboards !== 0) {
$output .= '</div>'; $output .= '</div>';
$output .= '</div>'; $output .= '</div>';
if ($config['style'] === 'pandora') {
$options['background'] = '#fff';
}
if ($config['style'] === 'pandora_black') {
$options['background'] = '#222';
}
if ((int) $cellData['id_widget'] !== 0) { if ((int) $cellData['id_widget'] !== 0) {
$style = 'style="background-color:'.$options['background'].';"'; $style = 'style="background-color:'.$options['background'].';"';