Merge remote-tracking branch 'origin/develop' into ent-7074-Command-Center
This commit is contained in:
commit
741ec6a144
|
@ -462,13 +462,16 @@ if (is_ajax()) {
|
|||
}
|
||||
|
||||
// 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
|
||||
tyle='display:none;'>";
|
||||
echo "<p style='text-align: center;font-weight: bold;'>".__('Command managem
|
||||
ent is limited to administrator users or user profiles with permissions over Pan
|
||||
dora FMS management').'</p>';
|
||||
echo "<p style='text-align: center;font-weight: bold; margin: 15px'>".__(
|
||||
'Command management is limited to administrator users or user profiles with permissions PM'
|
||||
).'</p>';
|
||||
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.
|
||||
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">';
|
||||
$data['action'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&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.'"
|
||||
if (check_acl($config['id_user'], 0, 'PM') || is_user_admin(
|
||||
$config['id_user
|
||||
']
|
||||
)
|
||||
) {
|
||||
$data['action'] = '<span class="inline_flex">';
|
||||
$data['action'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&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>';
|
||||
$data['action'] .= '</span>';
|
||||
$data['action'] .= '</span>';
|
||||
}
|
||||
}
|
||||
|
||||
array_push($table->data, $data);
|
||||
|
|
|
@ -885,6 +885,11 @@ function html_print_select(
|
|||
";
|
||||
}
|
||||
|
||||
$select2 = 'select2.min';
|
||||
if ($config['style'] === 'pandora_black') {
|
||||
$select2 = 'select2_dark.min';
|
||||
}
|
||||
|
||||
if ($multiple === false) {
|
||||
if (is_ajax()) {
|
||||
$output .= '<script src="';
|
||||
|
@ -898,18 +903,13 @@ function html_print_select(
|
|||
|
||||
$output .= '<link rel="stylesheet" href="';
|
||||
$output .= ui_get_full_url(
|
||||
'include/styles/select2.min.css',
|
||||
'include/styles/'.$select2.'.css',
|
||||
false,
|
||||
false,
|
||||
false
|
||||
);
|
||||
$output .= '"/>';
|
||||
} else {
|
||||
$select2 = 'select2.min';
|
||||
if ($config['style'] === 'pandora_black') {
|
||||
$select2 = 'select2_dark.min';
|
||||
}
|
||||
|
||||
ui_require_css_file($select2);
|
||||
ui_require_javascript_file('select2.min');
|
||||
}
|
||||
|
|
|
@ -130,17 +130,24 @@ function html_do_report_info($report)
|
|||
|
||||
$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>
|
||||
<tr>
|
||||
<td><b>'.__('Generated').': </b></td><td>'.$date_today.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<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)) {
|
||||
$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>';
|
||||
} 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>
|
||||
|
|
|
@ -290,7 +290,7 @@ function treeview_printModuleTable($id_module, $server_data=false, $no_head=fals
|
|||
}
|
||||
|
||||
$last_data_str .= ' ';
|
||||
$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_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) {
|
||||
$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;
|
||||
|
|
|
@ -322,7 +322,7 @@ function ui_print_message($message, $class='', $attributes='', $return=false, $t
|
|||
class="info_box '.$id.' '.$class.' textodialogo" style="'.$force_style.'">
|
||||
<tr>
|
||||
<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">';
|
||||
if (!$no_close_bool) {
|
||||
// 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
|
@ -114,7 +114,8 @@ function pandoraFlotPie(
|
|||
|
||||
// Reset styles
|
||||
function resetInteractivity() {
|
||||
legends.css("color", "#fff");
|
||||
legends.css("color", "#3F3F3D");
|
||||
legends.attr("class", "invert_filter");
|
||||
}
|
||||
|
||||
if (water_mark) {
|
||||
|
@ -293,7 +294,6 @@ function pandoraFlotPieCustom(
|
|||
function resetInteractivity() {
|
||||
legends.each(function() {
|
||||
// fix the widths so they don't jump around
|
||||
console.log($(this));
|
||||
$(this).css("color", "#3F3F3D");
|
||||
});
|
||||
}
|
||||
|
|
|
@ -683,12 +683,13 @@ function flot_vcolumn_chart(array $options)
|
|||
$options['graphId'] = $graphId;
|
||||
|
||||
// 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'][1] = 'transparent';
|
||||
$options['y']['color'] = 'transparent';
|
||||
$options['x']['color'] = 'transparent';
|
||||
}
|
||||
}*/
|
||||
|
||||
$settings = base64_encode(json_encode($options));
|
||||
|
||||
|
|
|
@ -2486,6 +2486,7 @@ function printClockAnalogic1(
|
|||
var face = svg
|
||||
.append("g")
|
||||
.attr("id", "clock-face")
|
||||
.attr("class", "invert_filter")
|
||||
.attr(
|
||||
"transform",
|
||||
"translate(" +
|
||||
|
@ -2646,6 +2647,8 @@ function printClockDigital1(
|
|||
svg = d3.selectAll("#clock_" + id_element + " svg");
|
||||
|
||||
svgUnderlay.attr("id", "underlay_" + id_element);
|
||||
svgUnderlay.attr("class", "invert_filter");
|
||||
|
||||
svgOverlay.attr("id", "overlay_" + id_element);
|
||||
|
||||
var digit = svg.selectAll(".digit"),
|
||||
|
|
|
@ -1211,43 +1211,43 @@ function add_agent_node(agents) {
|
|||
graph.nodes.push(temp_node);
|
||||
|
||||
/*jQuery.each(data['rel'], function(i, relation) {
|
||||
var temp_link = {};
|
||||
if (i == 0) {
|
||||
var found = 0;
|
||||
temp_link['source'] = graph.nodes[temp_node['id']];
|
||||
jQuery.each(graph.nodes, function(j, element) {
|
||||
if (element.id_agent == relation['id_agent_end']) {
|
||||
found = j;
|
||||
}
|
||||
});
|
||||
temp_link['target'] = graph.nodes[found];
|
||||
}
|
||||
else {
|
||||
var found = 0;
|
||||
temp_link['target'] = graph.nodes[temp_node['id']];
|
||||
jQuery.each(graph.nodes, function(j, element) {
|
||||
if (element.id_agent == relation['id_agent_start']) {
|
||||
found = j;
|
||||
}
|
||||
});
|
||||
temp_link['source'] = graph.nodes[found];
|
||||
}
|
||||
temp_link['id_db'] = String(relation['id_db']);
|
||||
temp_link['id_agent_end'] = String(relation['id_agent_end']);
|
||||
temp_link['id_agent_start'] = String(relation['id_agent_start']);
|
||||
temp_link['id_module_end'] = relation['id_module_end'];
|
||||
temp_link['id_module_start'] = relation['id_module_start'];
|
||||
temp_link['source_in_db'] = String(relation['source_in_db']);
|
||||
temp_link['target_in_db'] = String(relation['target_in_db']);
|
||||
temp_link['arrow_end'] = relation['arrow_end'];
|
||||
temp_link['arrow_start'] = relation['arrow_start'];
|
||||
temp_link['status_end'] = relation['status_end'];
|
||||
temp_link['status_start'] = relation['status_start'];
|
||||
temp_link['text_end'] = relation['text_end'];
|
||||
temp_link['text_start'] = relation['text_start'];
|
||||
|
||||
graph.links.push(temp_link);
|
||||
});*/
|
||||
var temp_link = {};
|
||||
if (i == 0) {
|
||||
var found = 0;
|
||||
temp_link['source'] = graph.nodes[temp_node['id']];
|
||||
jQuery.each(graph.nodes, function(j, element) {
|
||||
if (element.id_agent == relation['id_agent_end']) {
|
||||
found = j;
|
||||
}
|
||||
});
|
||||
temp_link['target'] = graph.nodes[found];
|
||||
}
|
||||
else {
|
||||
var found = 0;
|
||||
temp_link['target'] = graph.nodes[temp_node['id']];
|
||||
jQuery.each(graph.nodes, function(j, element) {
|
||||
if (element.id_agent == relation['id_agent_start']) {
|
||||
found = j;
|
||||
}
|
||||
});
|
||||
temp_link['source'] = graph.nodes[found];
|
||||
}
|
||||
temp_link['id_db'] = String(relation['id_db']);
|
||||
temp_link['id_agent_end'] = String(relation['id_agent_end']);
|
||||
temp_link['id_agent_start'] = String(relation['id_agent_start']);
|
||||
temp_link['id_module_end'] = relation['id_module_end'];
|
||||
temp_link['id_module_start'] = relation['id_module_start'];
|
||||
temp_link['source_in_db'] = String(relation['source_in_db']);
|
||||
temp_link['target_in_db'] = String(relation['target_in_db']);
|
||||
temp_link['arrow_end'] = relation['arrow_end'];
|
||||
temp_link['arrow_start'] = relation['arrow_start'];
|
||||
temp_link['status_end'] = relation['status_end'];
|
||||
temp_link['status_start'] = relation['status_start'];
|
||||
temp_link['text_end'] = relation['text_end'];
|
||||
temp_link['text_start'] = relation['text_start'];
|
||||
|
||||
graph.links.push(temp_link);
|
||||
});*/
|
||||
|
||||
draw_elements_graph();
|
||||
init_drag_and_drop();
|
||||
|
@ -3385,8 +3385,8 @@ function init_graph(parameter_object) {
|
|||
"stroke-opacity: 0.75; " +
|
||||
"stroke-dasharray: none; " +
|
||||
"stroke-dashoffset: 0"
|
||||
);
|
||||
|
||||
)
|
||||
.attr("class", "fill_222");
|
||||
window.layer_graph
|
||||
.append("text")
|
||||
.append("tspan")
|
||||
|
@ -3406,6 +3406,7 @@ function init_graph(parameter_object) {
|
|||
"stroke: none; " +
|
||||
"font-family: Verdana"
|
||||
)
|
||||
.attr("class", "fill_fff")
|
||||
.attr(
|
||||
"x",
|
||||
networkmap_dimensions[0] + node_radius - holding_area_dimensions[0]
|
||||
|
@ -4072,7 +4073,7 @@ function draw_elements_graph() {
|
|||
|
||||
node_temp
|
||||
.append("text")
|
||||
.attr("class", "node_text")
|
||||
.attr("class", "node_text fill_fff")
|
||||
.attr("id", "node_text_" + networkmap_id)
|
||||
.attr(
|
||||
"style",
|
||||
|
@ -4094,7 +4095,7 @@ function draw_elements_graph() {
|
|||
.text(function(d) {
|
||||
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("contextmenu", function(d) {
|
||||
show_menu("node", d);
|
||||
|
|
|
@ -490,6 +490,8 @@ class Widget
|
|||
*/
|
||||
public function getFormInputs(): array
|
||||
{
|
||||
global $config;
|
||||
|
||||
$inputs = [];
|
||||
|
||||
$values = $this->values;
|
||||
|
@ -501,6 +503,10 @@ class Widget
|
|||
|
||||
if (empty($values['background']) === true) {
|
||||
$values['background'] = '#ffffff';
|
||||
|
||||
if ($config['style'] === 'pandora_black') {
|
||||
$values['background'] = '#222222';
|
||||
}
|
||||
}
|
||||
|
||||
$inputs[] = [
|
||||
|
|
|
@ -732,7 +732,12 @@ class EventsListWidget extends Widget
|
|||
|
||||
$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']);
|
||||
$table->cellclass[$i][1] = $rowclass;
|
||||
$table->cellclass[$i][2] = $rowclass;
|
||||
|
|
|
@ -510,7 +510,7 @@ class SystemGroupStatusWidget extends Widget
|
|||
$show_link = array_key_exists($group['g'], $user_groups);
|
||||
|
||||
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 .= '?sec=estado&sec2=operation/agentes/status_monitor';
|
||||
|
|
|
@ -536,6 +536,9 @@ class TreeViewWidget extends Widget
|
|||
|
||||
// Css Files.
|
||||
\ui_require_css_file('tree', 'include/styles/', true);
|
||||
if ($config['style'] == 'pandora_black') {
|
||||
\ui_require_css_file('pandora_black', 'include/styles/', true);
|
||||
}
|
||||
|
||||
// Javascript Files.
|
||||
\ui_include_time_picker();
|
||||
|
@ -683,7 +686,7 @@ class TreeViewWidget extends Widget
|
|||
];
|
||||
|
||||
// Show the modal window of an module.
|
||||
$output .= '<div id="module_details_window" class="invisible">';
|
||||
$output .= '<div id="module_details_window" class="">';
|
||||
$output .= '</div>';
|
||||
|
||||
// Script.
|
||||
|
|
|
@ -5450,6 +5450,10 @@ table.info_table.policy_sub_table {
|
|||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.label_select_child_left > span {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.label_select_child_right {
|
||||
width: 20%;
|
||||
min-width: 140px;
|
||||
|
|
|
@ -665,6 +665,9 @@ form ul.form_flex {
|
|||
border-radius: 4px;
|
||||
}
|
||||
|
||||
text {
|
||||
color: #fff !important;
|
||||
}
|
||||
.legendLabel {
|
||||
color: #fff;
|
||||
}
|
||||
|
@ -720,8 +723,9 @@ form ul.form_flex {
|
|||
color: #900;
|
||||
}
|
||||
|
||||
.cluetip-default ul {
|
||||
text-align: left;
|
||||
.cluetip-default ul,
|
||||
.text_left {
|
||||
text-align: left !important;
|
||||
}
|
||||
.card {
|
||||
border: 1px solid #e2e2e2;
|
||||
|
@ -892,3 +896,53 @@ div.integria_details_description textarea {
|
|||
color: #fff;
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
.select2-container--default
|
||||
.select2-selection--multiple
|
||||
.select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
background-color: #222;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
|
@ -263,7 +263,7 @@
|
|||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px;
|
||||
color: #111;
|
||||
color: #fff;
|
||||
}
|
||||
.select2-container--default
|
||||
.select2-selection--multiple
|
||||
|
@ -277,7 +277,7 @@
|
|||
.select2-container--default
|
||||
.select2-selection--multiple
|
||||
.select2-selection__choice__remove:hover {
|
||||
color: #333;
|
||||
color: #82b92e;
|
||||
}
|
||||
.select2-container--default[dir="rtl"]
|
||||
.select2-selection--multiple
|
||||
|
@ -301,7 +301,7 @@
|
|||
}
|
||||
.select2-container--default.select2-container--focus
|
||||
.select2-selection--multiple {
|
||||
border: solid black 1px;
|
||||
border: solid #fff 1px;
|
||||
outline: 0;
|
||||
}
|
||||
.select2-container--default.select2-container--disabled
|
||||
|
@ -331,7 +331,7 @@
|
|||
border: 1px solid #aaa;
|
||||
}
|
||||
.select2-container--default .select2-search--inline .select2-search__field {
|
||||
background: transparent;
|
||||
background: #222;
|
||||
border: none;
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
|
|
|
@ -438,7 +438,7 @@ enterprise_hook('close_meta_frame');
|
|||
.hide()
|
||||
.prop("id", "module_details_window")
|
||||
.appendTo('body');
|
||||
|
||||
console.log("vamos a ver");
|
||||
function show_module_detail_dialog(module_id, id_agent, server_name, offset, period, module_name) {
|
||||
var params = {};
|
||||
var f = new Date();
|
||||
|
|
|
@ -73,6 +73,13 @@ if ($manageDashboards !== 0) {
|
|||
|
||||
$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) {
|
||||
$style = 'style="background-color:'.$options['background'].';"';
|
||||
|
|
Loading…
Reference in New Issue