mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 08:14:38 +02:00
Merge branch 'develop' into feature/NewView
This commit is contained in:
commit
44128e3570
@ -18,17 +18,14 @@ if ((! file_exists("include/config.php")) || (! is_readable("include/config.php"
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Real start
|
||||||
|
session_start();
|
||||||
|
|
||||||
require_once ('include/config.php');
|
require_once ('include/config.php');
|
||||||
require_once ('include/functions.php');
|
require_once ('include/functions.php');
|
||||||
require_once ('include/functions_db.php');
|
require_once ('include/functions_db.php');
|
||||||
require_once ('include/auth/mysql.php');
|
require_once ('include/auth/mysql.php');
|
||||||
|
|
||||||
// Real start
|
|
||||||
|
|
||||||
if (session_id() == '') {
|
|
||||||
session_start();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hash login process
|
// Hash login process
|
||||||
if (isset ($_GET["loginhash"])) {
|
if (isset ($_GET["loginhash"])) {
|
||||||
|
|
||||||
|
@ -29,6 +29,8 @@ $id = (int) get_parameter ('id');
|
|||||||
$update = (string)get_parameter('update', 0);
|
$update = (string)get_parameter('update', 0);
|
||||||
$create = (string)get_parameter('create', 0);
|
$create = (string)get_parameter('create', 0);
|
||||||
|
|
||||||
|
$strict_user = db_get_value('strict_acl', 'tusuario', 'id_user', $config['id_user']);
|
||||||
|
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$permission = events_check_event_filter_group ($id);
|
$permission = events_check_event_filter_group ($id);
|
||||||
if (!$permission) { // User doesn't have permissions to see this filter
|
if (!$permission) { // User doesn't have permissions to see this filter
|
||||||
@ -179,15 +181,12 @@ $table->data = array ();
|
|||||||
$table->data[0][0] = '<b>'.__('Filter name').'</b>';
|
$table->data[0][0] = '<b>'.__('Filter name').'</b>';
|
||||||
$table->data[0][1] = html_print_input_text ('id_name', $id_name, false, 20, 80, true);
|
$table->data[0][1] = html_print_input_text ('id_name', $id_name, false, 20, 80, true);
|
||||||
|
|
||||||
$table->data[1][0] = '<b>'.__('Filter group').'</b>' . ui_print_help_tip(__('This group will be use to restrict the visibility of this filter with ACLs'), true);
|
$table->data[1][0] = '<b>'.__('Save in group').'</b>' . ui_print_help_tip(__('This group will be use to restrict the visibility of this filter with ACLs'), true);
|
||||||
$table->data[1][1] = html_print_select_groups($config['id_user'], "EW",
|
$table->data[1][1] = html_print_select_groups($config['id_user'], "ER", users_can_manage_group_all(), "id_group_filter", $id_group_filter, '', '', -1, true, false, false, '', false, '', false, false, 'id_group_filter', $strict_user);
|
||||||
$own_info['is_admin'], 'id_group_filter', $id_group_filter, '', '', -1, true,
|
|
||||||
false, false);
|
|
||||||
|
|
||||||
$table->data[2][0] = '<b>'.__('Group').'</b>';
|
$table->data[2][0] = '<b>'.__('Group').'</b>';
|
||||||
$table->data[2][1] = html_print_select_groups($config['id_user'], "EW",
|
$table->data[2][1] = html_print_select_groups($config["id_user"], "ER", true,
|
||||||
users_can_manage_group_all(), 'id_group', $id_group, '', '', -1, true,
|
'id_group', $id_group, '', '', -1, true, false, false, '', false, false, false, false, 'id_group', $strict_user);
|
||||||
false, false);
|
|
||||||
|
|
||||||
$types = get_event_types ();
|
$types = get_event_types ();
|
||||||
// Expand standard array to add not_normal (not exist in the array, used only for searches)
|
// Expand standard array to add not_normal (not exist in the array, used only for searches)
|
||||||
@ -236,8 +235,11 @@ $table->data[9][1] = html_print_input_text ('event_view_hr', $event_view_hr, '',
|
|||||||
|
|
||||||
$table->data[10][0] = '<b>' . __('User ack.') . '</b>'. ' ' . ui_print_help_tip (__('Choose between the users who have validated an event. '), true);
|
$table->data[10][0] = '<b>' . __('User ack.') . '</b>'. ' ' . ui_print_help_tip (__('Choose between the users who have validated an event. '), true);
|
||||||
|
|
||||||
# Fix : Only admin user can see all users
|
if ($strict_user) {
|
||||||
|
$users = array($config['id_user']=>$config['id_user']);
|
||||||
|
} else {
|
||||||
$users = users_get_user_users($config['id_user'], "ER", users_can_manage_group_all(0));
|
$users = users_get_user_users($config['id_user'], "ER", users_can_manage_group_all(0));
|
||||||
|
}
|
||||||
|
|
||||||
$table->data[10][1] = html_print_select($users, "id_user_ack", $id_user_ack, '', __('Any'), 0, true);
|
$table->data[10][1] = html_print_select($users, "id_user_ack", $id_user_ack, '', __('Any'), 0, true);
|
||||||
|
|
||||||
@ -279,6 +281,7 @@ foreach ($tags as $id_tag => $tag) {
|
|||||||
$tag_without_temp[$id_tag] = $tag;
|
$tag_without_temp[$id_tag] = $tag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$add_with_tag_disabled = empty($tags_select_with);
|
$add_with_tag_disabled = empty($tags_select_with);
|
||||||
$remove_with_tag_disabled = empty($tag_with_temp);
|
$remove_with_tag_disabled = empty($tag_with_temp);
|
||||||
$add_without_tag_disabled = empty($tags_select_without);
|
$add_without_tag_disabled = empty($tags_select_without);
|
||||||
|
@ -101,7 +101,7 @@ if(defined("METACONSOLE"))
|
|||||||
$table->width = '100%';
|
$table->width = '100%';
|
||||||
$table->head = array ();
|
$table->head = array ();
|
||||||
$table->head[0] = __('Name');
|
$table->head[0] = __('Name');
|
||||||
$table->head[1] = __('Filter group');
|
$table->head[1] = __('Group');
|
||||||
$table->head[2] = __('Event type');
|
$table->head[2] = __('Event type');
|
||||||
$table->head[3] = __('Event status');
|
$table->head[3] = __('Event status');
|
||||||
$table->head[4] = __('Severity');
|
$table->head[4] = __('Severity');
|
||||||
|
@ -38,7 +38,7 @@ $buttons['view'] = array('active' => false,
|
|||||||
|
|
||||||
$buttons['filter'] = array('active' => false,
|
$buttons['filter'] = array('active' => false,
|
||||||
'text' => '<a href="index.php?sec=eventos&sec2=godmode/events/events&section=filter&pure='.$config['pure'].'">' .
|
'text' => '<a href="index.php?sec=eventos&sec2=godmode/events/events&section=filter&pure='.$config['pure'].'">' .
|
||||||
html_print_image("images/filter_mc.png", true, array ("title" => __('Create filter'))) . '</a>');
|
html_print_image("images/filter_mc.png", true, array ("title" => __('Filter list'))) . '</a>');
|
||||||
|
|
||||||
if (check_acl ($config["id_user"], 0, "PM")) {
|
if (check_acl ($config["id_user"], 0, "PM")) {
|
||||||
$buttons['responses'] = array('active' => false,
|
$buttons['responses'] = array('active' => false,
|
||||||
|
@ -1555,10 +1555,14 @@ function graph_agent_status ($id_agent = false, $width = 300, $height = 200, $re
|
|||||||
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
|
$water_mark = array('file' => $config['homedir'] . "/images/logo_vertical_water.png",
|
||||||
'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
|
'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
|
||||||
|
|
||||||
$colors = array(COL_CRITICAL, COL_WARNING, COL_NORMAL, COL_UNKNOWN);
|
//$colors = array(COL_CRITICAL, COL_WARNING, COL_NORMAL, COL_UNKNOWN);
|
||||||
|
$colors[__('Critical')] = COL_CRITICAL;
|
||||||
|
$colors[__('Warning')] = COL_WARNING;
|
||||||
|
$colors[__('Normal')] = COL_NORMAL;
|
||||||
|
$colors[__('Unknown')] = COL_UNKNOWN;
|
||||||
|
|
||||||
if ($show_not_init) {
|
if ($show_not_init) {
|
||||||
$colors[] = COL_NOTINIT;
|
$colors[__('Not init')] = COL_NOTINIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (array_sum($data) == 0) {
|
if (array_sum($data) == 0) {
|
||||||
|
@ -1645,6 +1645,23 @@ function modules_get_agentmodule_data ($id_agent_module, $period,
|
|||||||
$values[$key]["agent_name"] = $agent_name;
|
$values[$key]["agent_name"] = $agent_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($search_in_history_db) {
|
||||||
|
$datos = array();
|
||||||
|
foreach ($values as $key => $value) {
|
||||||
|
$utimestamp[$key] = $value['utimestamp'];
|
||||||
|
}
|
||||||
|
|
||||||
|
array_multisort($utimestamp, SORT_DESC, $values);
|
||||||
|
foreach ($utimestamp as $key => $utimes) {
|
||||||
|
$datos[$key] = array('utimestamp'=>$utimes,
|
||||||
|
'data'=>$values[$key]["data"],
|
||||||
|
'module_name'=>$values[$key]["module_name"],
|
||||||
|
'agent_id'=>$values[$key]["agent_id"],
|
||||||
|
'agent_name'=>$values[$key]["agent_name"]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$values = $datos;
|
||||||
|
}
|
||||||
return $values;
|
return $values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1103,6 +1103,12 @@ function netflow_draw_item ($start_date, $end_date, $interval_length, $type, $fi
|
|||||||
$aggregate = $filter['aggregate'];
|
$aggregate = $filter['aggregate'];
|
||||||
$unit = $filter['output'];
|
$unit = $filter['output'];
|
||||||
$interval = $end_date - $start_date;
|
$interval = $end_date - $start_date;
|
||||||
|
if (defined ('METACONSOLE')) {
|
||||||
|
$width = 950;
|
||||||
|
} else {
|
||||||
|
$width = 850;
|
||||||
|
}
|
||||||
|
$height = 320;
|
||||||
|
|
||||||
// Process item
|
// Process item
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
@ -1119,7 +1125,8 @@ function netflow_draw_item ($start_date, $end_date, $interval_length, $type, $fi
|
|||||||
if ($interval_length != 0) {
|
if ($interval_length != 0) {
|
||||||
$html .= " <b>" . _('Resolution') . ":</b> $interval_length " . __('seconds');
|
$html .= " <b>" . _('Resolution') . ":</b> $interval_length " . __('seconds');
|
||||||
}
|
}
|
||||||
$html .= graph_netflow_aggregate_area ($data, $interval, 850, 320, netflow_format_unit ($unit));
|
|
||||||
|
$html .= graph_netflow_aggregate_area ($data, $interval, $width, $height, netflow_format_unit ($unit));
|
||||||
return $html;
|
return $html;
|
||||||
}
|
}
|
||||||
else if ($output == 'PDF') {
|
else if ($output == 'PDF') {
|
||||||
@ -1128,7 +1135,7 @@ function netflow_draw_item ($start_date, $end_date, $interval_length, $type, $fi
|
|||||||
if ($interval_length != 0) {
|
if ($interval_length != 0) {
|
||||||
$html .= " <b>" . _('Resolution') . ":</b> $interval_length " . __('seconds');
|
$html .= " <b>" . _('Resolution') . ":</b> $interval_length " . __('seconds');
|
||||||
}
|
}
|
||||||
$html .= graph_netflow_aggregate_area ($data, $interval, 850, 320, netflow_format_unit ($unit), 2, true);
|
$html .= graph_netflow_aggregate_area ($data, $interval, $width, $height, netflow_format_unit ($unit), 2, true);
|
||||||
return $html;
|
return $html;
|
||||||
}
|
}
|
||||||
else if ($output == 'XML') {
|
else if ($output == 'XML') {
|
||||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -234,7 +234,7 @@ if (check_acl ($config["id_user"], 0, "EW") || check_acl ($config["id_user"], 0,
|
|||||||
$data[0] = __('Filter name') . $jump;
|
$data[0] = __('Filter name') . $jump;
|
||||||
$data[0] .= html_print_input_text ('id_name', '', '', 15, 255, true);
|
$data[0] .= html_print_input_text ('id_name', '', '', 15, 255, true);
|
||||||
if(defined('METACONSOLE'))
|
if(defined('METACONSOLE'))
|
||||||
$data[1] = __('Group') . $jump;
|
$data[1] = __('Save in Group') . $jump;
|
||||||
else
|
else
|
||||||
$data[1] = __('Filter group') . $jump;
|
$data[1] = __('Filter group') . $jump;
|
||||||
# Fix : Only admin users can see group ALL
|
# Fix : Only admin users can see group ALL
|
||||||
|
@ -90,6 +90,7 @@ $time = get_parameter_post ('time', date (TIME_FORMAT, get_system_time ()));
|
|||||||
$connection_name = get_parameter('connection_name', '');
|
$connection_name = get_parameter('connection_name', '');
|
||||||
$interval_length = (int) get_parameter('interval_length', 300);
|
$interval_length = (int) get_parameter('interval_length', 300);
|
||||||
$address_resolution = (int) get_parameter('address_resolution', $config['netflow_get_ip_hostname']);
|
$address_resolution = (int) get_parameter('address_resolution', $config['netflow_get_ip_hostname']);
|
||||||
|
$filter_selected = (int) get_parameter('filter_selected', 0);
|
||||||
|
|
||||||
// Read buttons
|
// Read buttons
|
||||||
$draw = get_parameter('draw_button', '');
|
$draw = get_parameter('draw_button', '');
|
||||||
@ -317,8 +318,9 @@ echo '<form method="post" action="' . $config['homeurl'] . 'index.php?sec=netf&s
|
|||||||
$sql = "SELECT *
|
$sql = "SELECT *
|
||||||
FROM tnetflow_filter
|
FROM tnetflow_filter
|
||||||
WHERE id_group IN (".implode(',', array_keys ($user_groups)).")";
|
WHERE id_group IN (".implode(',', array_keys ($user_groups)).")";
|
||||||
echo "<td colspan='3'>" . html_print_select_from_sql ($sql, 'filter_id', $filter_id, '', __('none'), 0, true) . "</td>";
|
echo "<td colspan='3'>" . html_print_select_from_sql ($sql, 'filter_id', $filter_id, '', __('Select a filter'), 0, true);
|
||||||
|
html_print_input_hidden("filter_selected", $filter_selected, false);
|
||||||
|
echo "</td>";
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
|
|
||||||
|
|
||||||
@ -367,8 +369,13 @@ echo '<form method="post" action="' . $config['homeurl'] . 'index.php?sec=netf&s
|
|||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
echo "<tr class='filter_advance' style='display: none;'>";
|
echo "<tr class='filter_advance' style='display: none;'>";
|
||||||
|
|
||||||
|
if ($netflow_disable_custom_lvfilters) {
|
||||||
|
echo "<td></td>";
|
||||||
|
echo "<td></td>";
|
||||||
|
} else {
|
||||||
echo "<td>" . ui_print_help_icon ('pcap_filter', true, ui_get_full_url(false, false, false, false)) . "</td>";
|
echo "<td>" . ui_print_help_icon ('pcap_filter', true, ui_get_full_url(false, false, false, false)) . "</td>";
|
||||||
echo "<td colspan='5'>" . html_print_textarea ('advanced_filter', 4, 40, $filter['advanced_filter'], "style='min-height: 0px; width: 90%;'", true) . "</td>";
|
echo "<td colspan='5'>" . html_print_textarea ('advanced_filter', 4, 40, $filter['advanced_filter'], "style='min-height: 0px; width: 90%;'", true) . "</td>";
|
||||||
|
}
|
||||||
|
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
echo "<tr>";
|
echo "<tr>";
|
||||||
@ -411,10 +418,18 @@ echo'</form>';
|
|||||||
if ($draw != '') {
|
if ($draw != '') {
|
||||||
// Draw
|
// Draw
|
||||||
echo "<br/>";
|
echo "<br/>";
|
||||||
|
|
||||||
|
// No filter selected
|
||||||
|
if ($netflow_disable_custom_lvfilters && $filter_selected == 0) {
|
||||||
|
ui_print_error_message(__('No filter selected'));
|
||||||
|
}
|
||||||
|
// Draw the netflow chart
|
||||||
|
else {
|
||||||
echo netflow_draw_item ($start_date, $end_date,
|
echo netflow_draw_item ($start_date, $end_date,
|
||||||
$interval_length, $chart_type, $filter,
|
$interval_length, $chart_type, $filter,
|
||||||
$max_aggregates, $connection_name, 'HTML', $address_resolution);
|
$max_aggregates, $connection_name, 'HTML', $address_resolution);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
enterprise_hook('close_meta_frame');
|
enterprise_hook('close_meta_frame');
|
||||||
|
|
||||||
@ -482,6 +497,7 @@ ui_include_time_picker();
|
|||||||
// Check right filter type
|
// Check right filter type
|
||||||
$("#radiobtn0001").attr("checked", "checked");
|
$("#radiobtn0001").attr("checked", "checked");
|
||||||
|
|
||||||
|
$("#hidden-filter_selected").val(0);
|
||||||
$("#text-ip_dst").val('');
|
$("#text-ip_dst").val('');
|
||||||
$("#text-ip_src").val('');
|
$("#text-ip_src").val('');
|
||||||
$("#text-dst_port").val('');
|
$("#text-dst_port").val('');
|
||||||
@ -496,6 +512,7 @@ ui_include_time_picker();
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Load fields from DB
|
// Load fields from DB
|
||||||
|
$("#hidden-filter_selected").val(1);
|
||||||
|
|
||||||
// Get filter type
|
// Get filter type
|
||||||
<?php
|
<?php
|
||||||
|
@ -104,6 +104,7 @@ sub pandora_startup () {
|
|||||||
pandora_audit (\%Config, 'Pandora FMS Server Daemon starting', 'SYSTEM', 'System', $DBH);
|
pandora_audit (\%Config, 'Pandora FMS Server Daemon starting', 'SYSTEM', 'System', $DBH);
|
||||||
|
|
||||||
# Load servers
|
# Load servers
|
||||||
|
if ($Config{"license_type"} != METACONSOLE_LICENSE) {
|
||||||
pandora_reset_server (\%Config, $DBH);
|
pandora_reset_server (\%Config, $DBH);
|
||||||
push (@Servers, new PandoraFMS::DataServer (\%Config, $DBH));
|
push (@Servers, new PandoraFMS::DataServer (\%Config, $DBH));
|
||||||
push (@Servers, new PandoraFMS::NetworkServer (\%Config, $DBH));
|
push (@Servers, new PandoraFMS::NetworkServer (\%Config, $DBH));
|
||||||
@ -112,7 +113,12 @@ sub pandora_startup () {
|
|||||||
push (@Servers, new PandoraFMS::WMIServer (\%Config, $DBH));
|
push (@Servers, new PandoraFMS::WMIServer (\%Config, $DBH));
|
||||||
push (@Servers, new PandoraFMS::PluginServer (\%Config, $DBH));
|
push (@Servers, new PandoraFMS::PluginServer (\%Config, $DBH));
|
||||||
push (@Servers, new PandoraFMS::PredictionServer (\%Config, $DBH));
|
push (@Servers, new PandoraFMS::PredictionServer (\%Config, $DBH));
|
||||||
|
} else {
|
||||||
|
# Metaconsole service modules are run by the prediction server
|
||||||
|
push (@Servers, new PandoraFMS::PredictionServer (\%Config, $DBH));
|
||||||
|
}
|
||||||
|
|
||||||
|
# There are enterprise metaconsole servers!
|
||||||
enterprise_hook('load_enterprise_servers', [\@Servers, \%Config, $DBH]);
|
enterprise_hook('load_enterprise_servers', [\@Servers, \%Config, $DBH]);
|
||||||
|
|
||||||
# Start the netflow daemon if necessary
|
# Start the netflow daemon if necessary
|
||||||
|
@ -56,6 +56,7 @@ our @EXPORT = qw(
|
|||||||
EVENTSERVER
|
EVENTSERVER
|
||||||
ICMPSERVER
|
ICMPSERVER
|
||||||
SNMPSERVER
|
SNMPSERVER
|
||||||
|
METACONSOLE_LICENSE
|
||||||
$DEVNULL
|
$DEVNULL
|
||||||
cron_get_closest_in_range
|
cron_get_closest_in_range
|
||||||
cron_next_execution
|
cron_next_execution
|
||||||
@ -106,6 +107,9 @@ use constant EVENTSERVER => 10;
|
|||||||
use constant ICMPSERVER => 11;
|
use constant ICMPSERVER => 11;
|
||||||
use constant SNMPSERVER => 12;
|
use constant SNMPSERVER => 12;
|
||||||
|
|
||||||
|
# Value for a metaconsole license type
|
||||||
|
use constant METACONSOLE_LICENSE => 0x01;
|
||||||
|
|
||||||
# /dev/null
|
# /dev/null
|
||||||
our $DEVNULL = ($^O eq 'MSWin32') ? '/Nul' : '/dev/null';
|
our $DEVNULL = ($^O eq 'MSWin32') ? '/Nul' : '/dev/null';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user