2012-07-10 Miguel de Dios <miguel.dedios@artica.es>

* include/functions_networkmap.php, include/functions_netflow.php,
	extensions/snmp_explorer.php, operation/netflow/nf_live_view.php,
	operation/agentes/estado_monitores.php,
	operation/agentes/networkmap.php,
	godmode/netflow/nf_report_form.php,
	godmode/netflow/nf_edit_form.php: cleaned source code style.




git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6760 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
mdtrooper 2012-07-10 11:03:00 +00:00
parent 6d45be9932
commit 8b1cb4f3fe
9 changed files with 539 additions and 520 deletions

View File

@ -1,3 +1,12 @@
2012-07-10 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_networkmap.php, include/functions_netflow.php,
extensions/snmp_explorer.php, operation/netflow/nf_live_view.php,
operation/agentes/estado_monitores.php,
operation/agentes/networkmap.php,
godmode/netflow/nf_report_form.php,
godmode/netflow/nf_edit_form.php: cleaned source code style.
2012-07-10 Miguel de Dios <miguel.dedios@artica.es> 2012-07-10 Miguel de Dios <miguel.dedios@artica.es>
* install.php, operation/reporting/reporting_xml.php, * install.php, operation/reporting/reporting_xml.php,

View File

@ -22,194 +22,194 @@ require_once ('include/functions_reporting.php');
require_once ('include/graphs/functions_utils.php'); require_once ('include/graphs/functions_utils.php');
function snmp_explorer() { function snmp_explorer() {
$idAgent = (int) get_parameter('id_agente', 0);
$ipAgent = db_get_value('direccion', 'tagente', 'id_agente', $idAgent);
// Load global vars
global $config;
check_login ();
$ip_target = (string) get_parameter ('ip_target', $ipAgent);
$snmp_community = (string) get_parameter ('snmp_community', 'public');
$snmp_version = get_parameter('snmp_version', '1');
$snmp3_auth_user = get_parameter('snmp3_auth_user');
$snmp3_security_level = get_parameter('snmp3_security_level');
$snmp3_auth_method = get_parameter('snmp3_auth_method');
$snmp3_auth_pass = get_parameter('snmp3_auth_pass');
$snmp3_privacy_method = get_parameter('snmp3_privacy_method');
$snmp3_privacy_pass = get_parameter('snmp3_privacy_pass');
$tcp_port = (string) get_parameter ('tcp_port');
//See if id_agente is set (either POST or GET, otherwise -1
$id_agent = $idAgent;
// Get passed variables
$snmpwalk = (int) get_parameter("snmpwalk", 0);
$create_modules = (int) get_parameter("create_modules", 0);
$interfaces = array();
if($snmpwalk) {
$snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1", $tcp_port);
if($snmpis === false) {
$snmpis = array();
}
$interfaces = array(); $idAgent = (int) get_parameter('id_agente', 0);
$ipAgent = db_get_value('direccion', 'tagente', 'id_agente', $idAgent);
// We get here only the interface part of the MIB, not full mib
foreach($snmpis as $key => $snmp) { // Load global vars
global $config;
$data = explode(': ',$snmp);
$keydata = explode('::',$key);
$keydata2 = explode('.',$keydata[1]); check_login ();
$ip_target = (string) get_parameter ('ip_target', $ipAgent);
$snmp_community = (string) get_parameter ('snmp_community', 'public');
$snmp_version = get_parameter('snmp_version', '1');
$snmp3_auth_user = get_parameter('snmp3_auth_user');
$snmp3_security_level = get_parameter('snmp3_security_level');
$snmp3_auth_method = get_parameter('snmp3_auth_method');
$snmp3_auth_pass = get_parameter('snmp3_auth_pass');
$snmp3_privacy_method = get_parameter('snmp3_privacy_method');
$snmp3_privacy_pass = get_parameter('snmp3_privacy_pass');
$tcp_port = (string) get_parameter ('tcp_port');
//See if id_agente is set (either POST or GET, otherwise -1
$id_agent = $idAgent;
// Get passed variables
$snmpwalk = (int) get_parameter("snmpwalk", 0);
$create_modules = (int) get_parameter("create_modules", 0);
$interfaces = array();
if($snmpwalk) {
if(!isset($keydata2[1])) { $snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
continue; $snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
} $snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1", $tcp_port);
if(array_key_exists(1,$data)){ if($snmpis === false) {
$interfaces[$keydata2[1]][$keydata2[0]]['type'] = $data[0]; $snmpis = array();
$interfaces[$keydata2[1]][$keydata2[0]]['value'] = $data[1]; }
}else {
$interfaces[$keydata2[1]][$keydata2[0]]['type'] = '';
$interfaces[$keydata2[1]][$keydata2[0]]['value'] = $data[0];
}
$interfaces[$keydata2[1]][$keydata2[0]]['oid'] = $key; $interfaces = array();
$interfaces[$keydata2[1]][$keydata2[0]]['checked'] = 0;
}
unset($interfaces[0]); // We get here only the interface part of the MIB, not full mib
} foreach($snmpis as $key => $snmp) {
if($create_modules) { $data = explode(': ',$snmp);
$id_snmp_serialize = get_parameter_post('id_snmp_serialize'); $keydata = explode('::',$key);
$interfaces = unserialize_in_temp($id_snmp_serialize); $keydata2 = explode('.',$keydata[1]);
if(!$interfaces) { if(!isset($keydata2[1])) {
continue;
}
if(array_key_exists(1,$data)) {
$interfaces[$keydata2[1]][$keydata2[0]]['type'] = $data[0];
$interfaces[$keydata2[1]][$keydata2[0]]['value'] = $data[1];
}
else {
$interfaces[$keydata2[1]][$keydata2[0]]['type'] = '';
$interfaces[$keydata2[1]][$keydata2[0]]['value'] = $data[0];
}
$interfaces[$keydata2[1]][$keydata2[0]]['oid'] = $key;
$interfaces[$keydata2[1]][$keydata2[0]]['checked'] = 0;
}
unset($interfaces[0]);
}
if ($create_modules) {
$id_snmp_serialize = get_parameter_post('id_snmp_serialize');
$interfaces = unserialize_in_temp($id_snmp_serialize);
if(!$interfaces) {
$interfaces = array(); $interfaces = array();
} }
$values = array(); $values = array();
if($tcp_port != ''){ if($tcp_port != '') {
$values['tcp_port'] = $tcp_port; $values['tcp_port'] = $tcp_port;
} }
$values['snmp_community'] = $snmp_community; $values['snmp_community'] = $snmp_community;
$values['ip_target'] = $ip_target; $values['ip_target'] = $ip_target;
$values['tcp_send'] = $snmp_version; $values['tcp_send'] = $snmp_version;
if($snmp_version == '3') { if($snmp_version == '3') {
$values['plugin_user'] = $snmp3_auth_user; $values['plugin_user'] = $snmp3_auth_user;
$values['plugin_pass'] = $snmp3_auth_pass; $values['plugin_pass'] = $snmp3_auth_pass;
$values['plugin_parameter'] = $snmp3_auth_method; $values['plugin_parameter'] = $snmp3_auth_method;
$values['custom_string_1'] = $snmp3_privacy_method; $values['custom_string_1'] = $snmp3_privacy_method;
$values['custom_string_2'] = $snmp3_privacy_pass; $values['custom_string_2'] = $snmp3_privacy_pass;
$values['custom_string_3'] = $snmp3_security_level; $values['custom_string_3'] = $snmp3_security_level;
} }
$oids = array(); $oids = array();
foreach($interfaces as $key => $interface) { foreach($interfaces as $key => $interface) {
foreach($interface as $key2 => $module) { foreach($interface as $key2 => $module) {
$oid = get_parameter($key."-".$key2, ''); $oid = get_parameter($key."-".$key2, '');
if($oid != '') { if($oid != '') {
$interfaces[$key][$key2]['checked'] = 1; $interfaces[$key][$key2]['checked'] = 1;
$oids[$key][] = $interfaces[$key][$key2]['oid']; $oids[$key][] = $interfaces[$key][$key2]['oid'];
} }
else { else {
$interfaces[$key][$key2]['checked'] = 0; $interfaces[$key][$key2]['checked'] = 0;
} }
} }
} }
$modules = get_parameter('module', array()); $modules = get_parameter('module', array());
$id_snmp = get_parameter('id_snmp'); $id_snmp = get_parameter('id_snmp');
if($id_snmp == false) { if($id_snmp == false) {
ui_print_error_message (__('No modules selected')); ui_print_error_message (__('No modules selected'));
$id_snmp = array(); $id_snmp = array();
} }
if(agents_get_name($id_agent) == false) { if(agents_get_name($id_agent) == false) {
ui_print_error_message (__('No agent selected or the agent does not exist')); ui_print_error_message (__('No agent selected or the agent does not exist'));
$id_snmp = array(); $id_snmp = array();
} }
$result = false; $result = false;
$errors = array(); $errors = array();
$done = 0; $done = 0;
foreach($id_snmp as $id) { foreach($id_snmp as $id) {
if (isset($interfaces[$id]['ifName']) && $interfaces[$id]['ifName']['value'] != ""){ if (isset($interfaces[$id]['ifName']) && $interfaces[$id]['ifName']['value'] != ""){
$ifname = $interfaces[$id]['ifName']['value']; $ifname = $interfaces[$id]['ifName']['value'];
} }
else if (isset($interfaces[$id]['ifDescr']) && $interfaces[$id]['ifDescr']['value'] != ""){ else if (isset($interfaces[$id]['ifDescr']) && $interfaces[$id]['ifDescr']['value'] != ""){
$ifname = $interfaces[$id]['ifDescr']['value']; $ifname = $interfaces[$id]['ifDescr']['value'];
} }
foreach($modules as $module) { foreach($modules as $module) {
$oid_array = explode('.',$module);
$oid_array = explode('.',$module); $oid_array[count($oid_array)-1] = $id;
$oid_array[count($oid_array)-1] = $id; $oid = implode('.',$oid_array);
$oid = implode('.',$oid_array);
// Get the name
// Get the name $name_array = explode('::',$oid_array[0]);
$name_array = explode('::',$oid_array[0]); $name = $name_array[1] . "_" . $ifname;
$name = $name_array[1] . "_" . $ifname;
// Clean the name
// Clean the name $name = str_replace ( "\"" , "" , $name);
$name = str_replace ( "\"" , "" , $name);
// Proc moduletypes
// Proc moduletypes if (preg_match ( "/Status/", $name_array[1]))
if (preg_match ( "/Status/", $name_array[1])) $module_type = 18;
$module_type = 18;
elseif (preg_match ( "/Present/", $name_array[1]))
elseif (preg_match ( "/Present/", $name_array[1])) $module_type = 18;
$module_type = 18;
elseif (preg_match ( "/PromiscuousMode/", $name_array[1]))
elseif (preg_match ( "/PromiscuousMode/", $name_array[1])) $module_type = 18;
$module_type = 18;
// String moduletypes
// String moduletypes elseif (preg_match ( "/Alias/", $name_array[1]))
elseif (preg_match ( "/Alias/", $name_array[1])) $module_type = 17;
$module_type = 17;
elseif (preg_match ( "/Address/", $name_array[1]))
elseif (preg_match ( "/Address/", $name_array[1])) $module_type = 17;
$module_type = 17;
elseif (preg_match ( "/Name/", $name_array[1]))
elseif (preg_match ( "/Name/", $name_array[1])) $module_type = 17;
$module_type = 17;
elseif (preg_match ( "/Specific/", $name_array[1]))
elseif (preg_match ( "/Specific/", $name_array[1])) $module_type = 17;
$module_type = 17;
elseif (preg_match ( "/Descr/", $name_array[1]))
elseif (preg_match ( "/Descr/", $name_array[1])) $module_type = 17;
$module_type = 17;
// Specific counters (ends in s)
// Specific counters (ends in s) elseif (preg_match ( "/s$/", $name_array[1]))
elseif (preg_match ( "/s$/", $name_array[1])) $module_type = 16;
$module_type = 16;
// Otherwise, numeric
// Otherwise, numeric else
else $module_type = 15;
$module_type = 15;
$values['id_tipo_modulo'] = $module_type;
$values['id_tipo_modulo'] = $module_type; $values['descripcion'] = io_safe_input("(" . $ip_target." - ".$name . ") " . $interfaces[$id]['ifDescr']['value']);
$values['descripcion'] = io_safe_input("(" . $ip_target." - ".$name . ") " . $interfaces[$id]['ifDescr']['value']);
$values['snmp_oid'] = $oid;
$values['snmp_oid'] = $oid; $values['id_modulo'] = 2;
$values['id_modulo'] = 2;
$result = modules_create_agent_module ($id_agent, io_safe_input($name), $values);
$result = modules_create_agent_module ($id_agent, io_safe_input($name), $values);
if (is_error($result)) {
if(is_error($result)) {
if(!isset($errors[$result])) { if(!isset($errors[$result])) {
$errors[$result] = 0; $errors[$result] = 0;
} }
@ -218,19 +218,19 @@ function snmp_explorer() {
else { else {
$done++; $done++;
} }
} }
} }
if($done > 0) { if ($done > 0) {
ui_print_success_message(__('Successfully modules created')." ($done)"); ui_print_success_message(__('Successfully modules created')." ($done)");
} }
if(!empty($errors)) { if (!empty($errors)) {
$msg = __('Could not be created').':'; $msg = __('Could not be created').':';
foreach($errors as $code => $number) { foreach ($errors as $code => $number) {
switch($code) { switch ($code) {
case ERR_EXIST: case ERR_EXIST:
$msg .= '<br>'.__('Another module already exists with the same name')." ($number)"; $msg .= '<br>'.__('Another module already exists with the same name')." ($number)";
break; break;
@ -243,171 +243,169 @@ function snmp_explorer() {
$msg .= '<br>'.__('Processing error')." ($number)"; $msg .= '<br>'.__('Processing error')." ($number)";
break; break;
} }
} }
ui_print_error_message($msg); ui_print_error_message($msg);
} }
} }
// Create the interface list for the interface
$interfaces_list = array();
foreach($interfaces as $interface){
// Get the interface name, removing " " characters and avoid "blank" interfaces
if (isset($interface['ifName']) && $interface['ifName']['value'] != ""){
$ifname = $interface['ifName']['value'];
}
else if (isset($interface['ifDescr']) && $interface['ifDescr']['value'] != ""){
$ifname = $interface['ifDescr']['value'];
}
else {
continue;
}
$interfaces_list[$interface['ifIndex']['value']] = str_replace ( "\"" , "" , $ifname);
}
echo '<span id ="none_text" style="display: none;">' . __('None') . '</span>';
echo "<form method='post' id='walk_form' action='index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=extension&id_agente=$id_agent&id_extension=snmp_explorer'>";
$table->width = '98%';
$table->valign[0] = 'top';
$table->valign[1] = 'top';
$table->data[0][0] = '<b>' . __('Target IP') . '</b>';
$table->data[0][1] = html_print_input_text ('ip_target', $ip_target, '', 15, 60, true);
$table->data[0][2] = '<b>' . __('Port') . '</b>';
$table->data[0][3] = html_print_input_text ('tcp_port', $tcp_port, '', 5, 20, true);
$snmp_versions['1'] = 'v. 1';
$snmp_versions['2'] = 'v. 2';
$snmp_versions['2c'] = 'v. 2c';
$snmp_versions['3'] = 'v. 3';
$table->data[1][0] = '<b>' . __('SNMP community') . '</b>';
$table->data[1][1] = html_print_input_text ('snmp_community', $snmp_community, '', 15, 60, true);
$table->data[1][2] = '<b>' . _('SNMP version') . '</b>';
$table->data[1][3] = html_print_select ($snmp_versions, 'snmp_version', $snmp_version, '', '', '', true, false, false, '');
$table->data[1][3] .= '<div id="spinner_modules" style="float: left; display: none;">' . html_print_image("images/spinner.gif", true) . '</div>';
html_print_input_hidden('snmpwalk', 1);
html_print_table($table);
unset($table);
//SNMP3 OPTIONS
$table->width = '98%';
$table->valign[0] = 'top';
$table->valign[1] = 'top';
$table->data[2][1] = '<b>'.__('Auth user').'</b>';
$table->data[2][2] = html_print_input_text ('snmp3_auth_user', $snmp3_auth_user, '', 15, 60, true);
$table->data[2][3] = '<b>'.__('Auth password').'</b>';
$table->data[2][4] = html_print_input_text ('snmp3_auth_pass', $snmp3_auth_pass, '', 15, 60, true);
$table->data[2][4] .= html_print_input_hidden('active_snmp_v3', 0, true);
$table->data[5][0] = '<b>'.__('Privacy method').'</b>';
$table->data[5][1] = html_print_select(array('DES' => __('DES'), 'AES' => __('AES')), 'snmp3_privacy_method', $snmp3_privacy_method, '', '', '', true);
$table->data[5][2] = '<b>'.__('privacy pass').'</b>';
$table->data[5][3] = html_print_input_text ('snmp3_privacy_pass', $snmp3_privacy_pass, '', 15, 60, true);
$table->data[6][0] = '<b>'.__('Auth method').'</b>';
$table->data[6][1] = html_print_select(array('MD5' => __('MD5'), 'SHA' => __('SHA')), 'snmp3_auth_method', $snmp3_auth_method, '', '', '', true);
$table->data[6][2] = '<b>'.__('Security level').'</b>';
$table->data[6][3] = html_print_select(array('noAuthNoPriv' => __('Not auth and not privacy method'),
'authNoPriv' => __('Auth and not privacy method'), 'authPriv' => __('Auth and privacy method')), 'snmp3_security_level', $snmp3_security_level, '', '', '', true);
if($snmp_version == 3) {
echo '<div id="snmp3_options">';
}else {
echo '<div id="snmp3_options" style="display: none;">';
}
html_print_table($table);
echo '</div>';
echo "<div style='text-align:right; width:".$table->width."'>";
echo '<span id="oid_loading" class="invisible">' . html_print_image("images/spinner.gif", true) . '</span>';
html_print_submit_button(__('SNMP Walk'), 'snmp_walk', false, array('class' => 'sub next'));
echo "</div>";
if($snmpwalk && !$snmpis) {
echo '<span id="no_snmp" style="margin-left:50px" class="error">'.__('Unable to do SNMP walk').'</span>';
}
unset($table);
echo "</form>";
//echo "</tr></table>";
//echo "</form>";
if(!empty($interfaces_list)){
echo '<span id="form_interfaces">';
echo '<span id ="none_text" style="display: none;">' . __('None') . '</span>';
echo "<form method='post' action='index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=extension&id_agente=$id_agent&id_extension=snmp_explorer'>";
$id_snmp_serialize = serialize_in_temp($interfaces, $config['id_user']."_snmp");
html_print_input_hidden('id_snmp_serialize', $id_snmp_serialize);
html_print_input_hidden('create_modules', 1);
html_print_input_hidden('ip_target', $ip_target);
html_print_input_hidden('tcp_port', $tcp_port);
html_print_input_hidden('snmp_community', $snmp_community);
html_print_input_hidden('snmp_version', $snmp_version);
html_print_input_hidden('snmp3_auth_user', $snmp3_auth_user);
html_print_input_hidden('snmp3_auth_pass', $snmp3_auth_pass);
html_print_input_hidden('snmp3_auth_method', $snmp3_auth_method);
html_print_input_hidden('snmp3_privacy_method', $snmp3_privacy_method);
html_print_input_hidden('snmp3_privacy_pass', $snmp3_privacy_pass);
html_print_input_hidden('snmp3_security_level', $snmp3_security_level);
$table->width = '98%';
$table->valign[0] = 'top';
$table->valign[1] = 'top';
//Agent selector
$table->data[0][0] = '<b>'.__('Interfaces').'</b>';
$table->data[0][1] = '';
$table->data[0][2] = '<b>'.__('Modules').'</b>';
$table->data[1][0] = html_print_select ($interfaces_list, 'id_snmp[]', 0, false, '', '', true, true, true, '', false, 'width:200px;');
$table->data[1][1] = html_print_image('images/darrowright.png', true);
$table->data[1][2] = html_print_select (array (), 'module[]', 0, false, '', 0, true, true, true, '', false, 'width:200px;');
$table->data[1][2] .= html_print_input_hidden('agent', $id_agent, true);
html_print_table($table); // Create the interface list for the interface
$interfaces_list = array();
echo "<div style='text-align:right; width:".$table->width."'>"; foreach($interfaces as $interface){
html_print_submit_button(__('Create modules'), '', false, array('class' => 'sub add')); // Get the interface name, removing " " characters and avoid "blank" interfaces
if (isset($interface['ifName']) && $interface['ifName']['value'] != ""){
$ifname = $interface['ifName']['value'];
}
else if (isset($interface['ifDescr']) && $interface['ifDescr']['value'] != ""){
$ifname = $interface['ifDescr']['value'];
}
else {
continue;
}
$interfaces_list[$interface['ifIndex']['value']] = str_replace ( "\"" , "" , $ifname);
}
echo '<span id ="none_text" style="display: none;">' . __('None') . '</span>';
echo "<form method='post' id='walk_form' action='index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=extension&id_agente=$id_agent&id_extension=snmp_explorer'>";
$table->width = '98%';
$table->valign[0] = 'top';
$table->valign[1] = 'top';
$table->data[0][0] = '<b>' . __('Target IP') . '</b>';
$table->data[0][1] = html_print_input_text ('ip_target', $ip_target, '', 15, 60, true);
$table->data[0][2] = '<b>' . __('Port') . '</b>';
$table->data[0][3] = html_print_input_text ('tcp_port', $tcp_port, '', 5, 20, true);
$snmp_versions['1'] = 'v. 1';
$snmp_versions['2'] = 'v. 2';
$snmp_versions['2c'] = 'v. 2c';
$snmp_versions['3'] = 'v. 3';
$table->data[1][0] = '<b>' . __('SNMP community') . '</b>';
$table->data[1][1] = html_print_input_text ('snmp_community', $snmp_community, '', 15, 60, true);
$table->data[1][2] = '<b>' . _('SNMP version') . '</b>';
$table->data[1][3] = html_print_select ($snmp_versions, 'snmp_version', $snmp_version, '', '', '', true, false, false, '');
$table->data[1][3] .= '<div id="spinner_modules" style="float: left; display: none;">' . html_print_image("images/spinner.gif", true) . '</div>';
html_print_input_hidden('snmpwalk', 1);
html_print_table($table);
unset($table);
//SNMP3 OPTIONS
$table->width = '98%';
$table->valign[0] = 'top';
$table->valign[1] = 'top';
$table->data[2][1] = '<b>'.__('Auth user').'</b>';
$table->data[2][2] = html_print_input_text ('snmp3_auth_user', $snmp3_auth_user, '', 15, 60, true);
$table->data[2][3] = '<b>'.__('Auth password').'</b>';
$table->data[2][4] = html_print_input_text ('snmp3_auth_pass', $snmp3_auth_pass, '', 15, 60, true);
$table->data[2][4] .= html_print_input_hidden('active_snmp_v3', 0, true);
$table->data[5][0] = '<b>'.__('Privacy method').'</b>';
$table->data[5][1] = html_print_select(array('DES' => __('DES'), 'AES' => __('AES')), 'snmp3_privacy_method', $snmp3_privacy_method, '', '', '', true);
$table->data[5][2] = '<b>'.__('privacy pass').'</b>';
$table->data[5][3] = html_print_input_text ('snmp3_privacy_pass', $snmp3_privacy_pass, '', 15, 60, true);
$table->data[6][0] = '<b>'.__('Auth method').'</b>';
$table->data[6][1] = html_print_select(array('MD5' => __('MD5'), 'SHA' => __('SHA')), 'snmp3_auth_method', $snmp3_auth_method, '', '', '', true);
$table->data[6][2] = '<b>'.__('Security level').'</b>';
$table->data[6][3] = html_print_select(array('noAuthNoPriv' => __('Not auth and not privacy method'),
'authNoPriv' => __('Auth and not privacy method'), 'authPriv' => __('Auth and privacy method')), 'snmp3_security_level', $snmp3_security_level, '', '', '', true);
if ($snmp_version == 3) {
echo '<div id="snmp3_options">';
}
else {
echo '<div id="snmp3_options" style="display: none;">';
}
html_print_table($table);
echo '</div>';
echo "<div style='text-align:right; width:".$table->width."'>";
echo '<span id="oid_loading" class="invisible">' . html_print_image("images/spinner.gif", true) . '</span>';
html_print_submit_button(__('SNMP Walk'), 'snmp_walk', false, array('class' => 'sub next'));
echo "</div>";
if ($snmpwalk && !$snmpis) {
echo '<span id="no_snmp" style="margin-left:50px" class="error">'.__('Unable to do SNMP walk').'</span>';
}
unset($table);
echo "</form>";
//echo "</tr></table>";
//echo "</form>";
if (!empty($interfaces_list)) {
echo '<span id="form_interfaces">';
echo '<span id ="none_text" style="display: none;">' . __('None') . '</span>';
echo "<form method='post' action='index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=extension&id_agente=$id_agent&id_extension=snmp_explorer'>";
$id_snmp_serialize = serialize_in_temp($interfaces, $config['id_user']."_snmp");
html_print_input_hidden('id_snmp_serialize', $id_snmp_serialize);
html_print_input_hidden('create_modules', 1);
html_print_input_hidden('ip_target', $ip_target);
html_print_input_hidden('tcp_port', $tcp_port);
html_print_input_hidden('snmp_community', $snmp_community);
html_print_input_hidden('snmp_version', $snmp_version);
html_print_input_hidden('snmp3_auth_user', $snmp3_auth_user);
html_print_input_hidden('snmp3_auth_pass', $snmp3_auth_pass);
html_print_input_hidden('snmp3_auth_method', $snmp3_auth_method);
html_print_input_hidden('snmp3_privacy_method', $snmp3_privacy_method);
html_print_input_hidden('snmp3_privacy_pass', $snmp3_privacy_pass);
html_print_input_hidden('snmp3_security_level', $snmp3_security_level);
$table->width = '98%';
$table->valign[0] = 'top';
$table->valign[1] = 'top';
//Agent selector
$table->data[0][0] = '<b>'.__('Interfaces').'</b>';
$table->data[0][1] = '';
$table->data[0][2] = '<b>'.__('Modules').'</b>';
$table->data[1][0] = html_print_select ($interfaces_list, 'id_snmp[]', 0, false, '', '', true, true, true, '', false, 'width:200px;');
$table->data[1][1] = html_print_image('images/darrowright.png', true);
$table->data[1][2] = html_print_select (array (), 'module[]', 0, false, '', 0, true, true, true, '', false, 'width:200px;');
$table->data[1][2] .= html_print_input_hidden('agent', $id_agent, true);
html_print_table($table);
echo "<div style='text-align:right; width:".$table->width."'>";
html_print_submit_button(__('Create modules'), '', false, array('class' => 'sub add'));
echo "</div>"; echo "</div>";
unset($table); unset($table);
echo "</form>"; echo "</form>";
echo '</div>'; echo '</div>';
} }
ui_require_jquery_file ('pandora.controls'); ui_require_jquery_file ('pandora.controls');
ui_require_jquery_file ('ajaxqueue'); ui_require_jquery_file ('ajaxqueue');
ui_require_jquery_file ('bgiframe'); ui_require_jquery_file ('bgiframe');
//ui_require_jquery_file ('autocomplete'); //ui_require_jquery_file ('autocomplete');
?> ?>
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
/* <![CDATA[ */ /* <![CDATA[ */
$(document).ready (function () { $(document).ready (function () {
var inputActive = true; var inputActive = true;
$(document).data('text_for_module', $("#none_text").html()); $(document).data('text_for_module', $("#none_text").html());
$("#id_snmp").change(snmp_changed_by_multiple_snmp); $("#id_snmp").change(snmp_changed_by_multiple_snmp);
$("#snmp_version").change(function () { $("#snmp_version").change(function () {
@ -418,14 +416,13 @@ $(document).ready (function () {
$("#snmp3_options").css("display", "none"); $("#snmp3_options").css("display", "none");
} }
}); });
$("#walk_form").submit(function() { $("#walk_form").submit(function() {
$("#submit-snmp_walk").disable (); $("#submit-snmp_walk").disable ();
$("#oid_loading").show (); $("#oid_loading").show ();
$("#no_snmp").hide (); $("#no_snmp").hide ();
$("#form_interfaces").hide (); $("#form_interfaces").hide ();
}); });
}); });
function snmp_changed_by_multiple_snmp (event, id_snmp, selected) { function snmp_changed_by_multiple_snmp (event, id_snmp, selected) {
@ -437,7 +434,7 @@ function snmp_changed_by_multiple_snmp (event, id_snmp, selected) {
$('#module').attr ('disabled', 1); $('#module').attr ('disabled', 1);
$('#module').empty (); $('#module').empty ();
$('#module').append ($('<option></option>').html ("Loading...").attr ("value", 0)); $('#module').append ($('<option></option>').html ("Loading...").attr ("value", 0));
jQuery.post ('ajax.php', jQuery.post ('ajax.php',
{"page" : "godmode/agentes/agent_manager", {"page" : "godmode/agentes/agent_manager",
"get_modules_json_for_multiple_snmp": 1, "get_modules_json_for_multiple_snmp": 1,

View File

@ -91,8 +91,9 @@ if ($update) {
$advanced_filter = get_parameter('advanced_filter',''); $advanced_filter = get_parameter('advanced_filter','');
if ($name == '') { if ($name == '') {
ui_print_error_message (__('Not updated. Blank name')); ui_print_error_message (__('Not updated. Blank name'));
} else { }
else {
$values = array ('id_sg' => $id, $values = array ('id_sg' => $id,
'id_name' => $name, 'id_name' => $name,
'id_group' => $assign_group, 'id_group' => $assign_group,
@ -104,19 +105,19 @@ if ($update) {
'advanced_filter' => $advanced_filter, 'advanced_filter' => $advanced_filter,
'output' => $output 'output' => $output
); );
// Save filter args // Save filter args
$values['filter_args'] = netflow_get_filter_arguments ($values); $values['filter_args'] = netflow_get_filter_arguments ($values);
$result = db_process_sql_update ('tnetflow_filter', $values, array ('id_sg' => $id)); $result = db_process_sql_update ('tnetflow_filter', $values, array ('id_sg' => $id));
ui_print_result_message ($result, ui_print_result_message ($result,
__('Successfully updated'), __('Successfully updated'),
__('Not updated. Error updating data')); __('Not updated. Error updating data'));
} }
} }
if ($create){ if ($create) {
$name = (string) get_parameter ('name'); $name = (string) get_parameter ('name');
$assign_group = (int) get_parameter ('assign_group'); $assign_group = (int) get_parameter ('assign_group');
$aggregate = get_parameter('aggregate','none'); $aggregate = get_parameter('aggregate','none');
@ -126,7 +127,7 @@ if ($create){
$dst_port = get_parameter('dst_port',''); $dst_port = get_parameter('dst_port','');
$src_port = get_parameter('src_port',''); $src_port = get_parameter('src_port','');
$advanced_filter = (string) get_parameter('advanced_filter', ''); $advanced_filter = (string) get_parameter('advanced_filter', '');
$values = array ( $values = array (
'id_name'=>$name, 'id_name'=>$name,
'id_group' => $assign_group, 'id_group' => $assign_group,
@ -141,11 +142,12 @@ if ($create){
// Save filter args // Save filter args
$values['filter_args'] = netflow_get_filter_arguments ($values); $values['filter_args'] = netflow_get_filter_arguments ($values);
$id = db_process_sql_insert('tnetflow_filter', $values); $id = db_process_sql_insert('tnetflow_filter', $values);
if ($id === false) { if ($id === false) {
ui_print_error_message ('Error creating filter'); ui_print_error_message ('Error creating filter');
} else { }
else {
ui_print_success_message ('Filter created successfully'); ui_print_success_message ('Filter created successfully');
} }
} }
@ -158,19 +160,20 @@ $table->class = "databox_color";
$table->style[0] = 'vertical-align: top;'; $table->style[0] = 'vertical-align: top;';
$table->data = array (); $table->data = array ();
$table->data[0][0] = '<b>'.__('Name').'</b>'; $table->data[0][0] = '<b>'.__('Name').'</b>';
$table->data[0][1] = html_print_input_text ('name', $name, false, 20, 80, true); $table->data[0][1] = html_print_input_text ('name', $name, false, 20, 80, true);
$own_info = get_user_info ($config['id_user']); $own_info = get_user_info ($config['id_user']);
$table->data[1][0] = '<b>'.__('Group').'</b>'; $table->data[1][0] = '<b>'.__('Group').'</b>';
$table->data[1][1] = html_print_select_groups($config['id_user'], "IW", $table->data[1][1] = html_print_select_groups($config['id_user'], "IW",
$own_info['is_admin'], 'assign_group', $assign_group, '', '', -1, true, $own_info['is_admin'], 'assign_group', $assign_group, '', '', -1, true,
false, false); false, false);
if ($advanced_filter != '') { if ($advanced_filter != '') {
$filter_type = 1; $filter_type = 1;
} else { }
else {
$filter_type = 0; $filter_type = 0;
} }
@ -192,13 +195,13 @@ $table->data[6][1] = html_print_input_text ('src_port', $src_port, false, 40, 80
$table->data[7][0] = ui_print_help_icon ('pcap_filter', true); $table->data[7][0] = ui_print_help_icon ('pcap_filter', true);
$table->data[7][1] = html_print_textarea ('advanced_filter', 4, 40, $advanced_filter, '', true); $table->data[7][1] = html_print_textarea ('advanced_filter', 4, 40, $advanced_filter, '', true);
$table->data[8][0] = '<b>'.__('Aggregate by').'</b>'. ui_print_help_icon ('aggregate_by', true); $table->data[8][0] = '<b>'.__('Aggregate by').'</b>'. ui_print_help_icon ('aggregate_by', true);
$aggregate_list = array(); $aggregate_list = array();
$aggregate_list = array ('none' => __('None'), 'proto' => __('Protocol'), 'srcip' =>__('Src Ip Address'), 'dstip' =>__('Dst Ip Address'), 'srcport' =>__('Src Port'), 'dstport' =>__('Dst Port') ); $aggregate_list = array ('none' => __('None'), 'proto' => __('Protocol'), 'srcip' =>__('Src Ip Address'), 'dstip' =>__('Dst Ip Address'), 'srcport' =>__('Src Port'), 'dstport' =>__('Dst Port') );
$table->data[8][1] = html_print_select ($aggregate_list, "aggregate", $aggregate, '', '', 0, true, false, true, '', false); $table->data[8][1] = html_print_select ($aggregate_list, "aggregate", $aggregate, '', '', 0, true, false, true, '', false);
$table->data[9][0] = '<b>'.__('Output format').'</b>'; $table->data[9][0] = '<b>'.__('Output format').'</b>';
$show_output = array(); $show_output = array();
$show_output = array ('packets' => __('Packets'), 'bytes' => __('Bytes'), 'flows' =>__('Flows')); $show_output = array ('packets' => __('Packets'), 'bytes' => __('Bytes'), 'flows' =>__('Flows'));
@ -211,7 +214,8 @@ if ($id) {
html_print_input_hidden ('update', 1); html_print_input_hidden ('update', 1);
html_print_input_hidden ('id', $id); html_print_input_hidden ('id', $id);
html_print_submit_button (__('Update'), 'crt', false, 'class="sub upd"'); html_print_submit_button (__('Update'), 'crt', false, 'class="sub upd"');
} else { }
else {
html_print_input_hidden ('create', 1); html_print_input_hidden ('create', 1);
html_print_submit_button (__('Create'), 'crt', false, 'class="sub wand"'); html_print_submit_button (__('Create'), 'crt', false, 'class="sub wand"');
} }
@ -220,15 +224,13 @@ echo '</form>';
?> ?>
<script type="text/javascript"> <script type="text/javascript">
function displayAdvancedFilter () { function displayAdvancedFilter () {
// Erase the normal filter // Erase the normal filter
document.getElementById("text-ip_dst").value = ''; document.getElementById("text-ip_dst").value = '';
document.getElementById("text-ip_src").value = ''; document.getElementById("text-ip_src").value = '';
document.getElementById("text-dst_port").value = ''; document.getElementById("text-dst_port").value = '';
document.getElementById("text-src_port").value = ''; document.getElementById("text-src_port").value = '';
// Hide the normal filter // Hide the normal filter
document.getElementById("table1-3").style.display = 'none'; document.getElementById("table1-3").style.display = 'none';
document.getElementById("table1-4").style.display = 'none'; document.getElementById("table1-4").style.display = 'none';
@ -238,30 +240,26 @@ echo '</form>';
// Show the advanced filter // Show the advanced filter
document.getElementById("table1-7").style.display = ''; document.getElementById("table1-7").style.display = '';
}; };
function displayNormalFilter () {
function displayNormalFilter () {
// Erase the advanced filter // Erase the advanced filter
document.getElementById("textarea_advanced_filter").value = ''; document.getElementById("textarea_advanced_filter").value = '';
// Hide the advanced filter // Hide the advanced filter
document.getElementById("table1-7").style.display = 'none'; document.getElementById("table1-7").style.display = 'none';
// Show the normal filter // Show the normal filter
document.getElementById("table1-3").style.display = ''; document.getElementById("table1-3").style.display = '';
document.getElementById("table1-4").style.display = ''; document.getElementById("table1-4").style.display = '';
document.getElementById("table1-5").style.display = ''; document.getElementById("table1-5").style.display = '';
document.getElementById("table1-6").style.display = ''; document.getElementById("table1-6").style.display = '';
}; };
var filter_type = <?php echo $filter_type ?>; var filter_type = <?php echo $filter_type ?>;
if (filter_type == 0) { if (filter_type == 0) {
displayNormalFilter (); displayNormalFilter ();
} else { }
else {
displayAdvancedFilter (); displayAdvancedFilter ();
} }
</script>
</script>

View File

@ -36,19 +36,19 @@ $create = (string)get_parameter('create', 0);
$buttons['report_list']['active'] = false; $buttons['report_list']['active'] = false;
$buttons['report_list'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_report">' $buttons['report_list'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_report">'
. html_print_image ("images/edit.png", true, array ("title" => __('Report list'))) . html_print_image ("images/edit.png", true, array ("title" => __('Report list')))
. '</a>'; . '</a>';
$buttons['report_items']['active'] = false; $buttons['report_items']['active'] = false;
$buttons['report_items']['text'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_item_list&id='.$id.'">' $buttons['report_items']['text'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_item_list&id='.$id.'">'
. html_print_image ("images/god6.png", true, array ("title" => __('Report items'))) . html_print_image ("images/god6.png", true, array ("title" => __('Report items')))
. '</a>'; . '</a>';
$buttons['edit_report']['active'] = true; $buttons['edit_report']['active'] = true;
$buttons['edit_report']['text'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_report_form&id='.$id.'">' $buttons['edit_report']['text'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_report_form&id='.$id.'">'
. html_print_image ("images/config.png", true, array ("title" => __('Edit report'))) . html_print_image ("images/config.png", true, array ("title" => __('Edit report')))
. '</a>'; . '</a>';
//Header //Header
ui_print_page_header (__('Netflow Report'), "images/networkmap/so_cisco_new.png", false, "", true, $buttons); ui_print_page_header (__('Netflow Report'), "images/networkmap/so_cisco_new.png", false, "", true, $buttons);
@ -66,7 +66,8 @@ if ($id) {
$description = $report['description']; $description = $report['description'];
$group = $report['id_group']; $group = $report['id_group'];
} else { }
else {
$name = ''; $name = '';
$group = ''; $group = '';
$description = ''; $description = '';
@ -77,10 +78,11 @@ if ($update) {
$name = (string) get_parameter ('name'); $name = (string) get_parameter ('name');
$description = get_parameter ('description'); $description = get_parameter ('description');
$group = get_parameter('id_group'); $group = get_parameter('id_group');
if ($name == '') { if ($name == '') {
ui_print_error_message (__('Not updated. Blank name')); ui_print_error_message (__('Not updated. Blank name'));
} else { }
else {
$result = db_process_sql_update ('tnetflow_report', $result = db_process_sql_update ('tnetflow_report',
array ( array (
'id_name' => $name, 'id_name' => $name,
@ -88,26 +90,28 @@ if ($update) {
'description' => $description, 'description' => $description,
), ),
array ('id_report' => $id)); array ('id_report' => $id));
ui_print_result_message ($result, __('Report updated successfully'), __('Error updating report')); ui_print_result_message ($result, __('Report updated successfully'), __('Error updating report'));
} }
} }
if ($create){ if ($create){
$name = (string) get_parameter ('name'); $name = (string) get_parameter ('name');
$group = (int) get_parameter ('id_group'); $group = (int) get_parameter ('id_group');
$description = get_parameter('description',''); $description = get_parameter('description','');
$values = array ( $values = array (
'id_name' => $name, 'id_name' => $name,
'id_group' => $group, 'id_group' => $group,
'description' => $description, 'description' => $description,
); );
$id = db_process_sql_insert('tnetflow_report', $values); $id = db_process_sql_insert('tnetflow_report', $values);
if ($id === false) { if ($id === false) {
ui_print_error_message ('Error creating report'); ui_print_error_message ('Error creating report');
} else { }
ui_print_success_message ('Report created successfully'); else {
} ui_print_success_message ('Report created successfully');
}
} }
$table->width = '80%'; $table->width = '80%';
@ -118,15 +122,15 @@ $table->class = "databox_color";
$table->style[0] = 'vertical-align: top;'; $table->style[0] = 'vertical-align: top;';
$table->data = array (); $table->data = array ();
$table->data[0][0] = '<b>'.__('Name').'</b>'; $table->data[0][0] = '<b>'.__('Name').'</b>';
$table->data[0][1] = html_print_input_text ('name', $name, false, 30, 80, true); $table->data[0][1] = html_print_input_text ('name', $name, false, 30, 80, true);
$own_info = get_user_info ($config['id_user']); $own_info = get_user_info ($config['id_user']);
$table->data[1][0] = '<b>'.__('Group').'</b>'; $table->data[1][0] = '<b>'.__('Group').'</b>';
$table->data[1][1] = html_print_select_groups($config['id_user'], "IW", $table->data[1][1] = html_print_select_groups($config['id_user'], "IW",
$own_info['is_admin'], 'id_group', $group, '','', -1, true, $own_info['is_admin'], 'id_group', $group, '','', -1, true,
false, false); false, false);
$table->data[2][0] = '<b>'.__('Description').'</b>'; $table->data[2][0] = '<b>'.__('Description').'</b>';
$table->data[2][1] = html_print_textarea ('description', 2, 65, $description, '', true); $table->data[2][1] = html_print_textarea ('description', 2, 65, $description, '', true);
@ -140,11 +144,11 @@ if ($id) {
html_print_input_hidden ('update', 1); html_print_input_hidden ('update', 1);
html_print_input_hidden ('id', $id); html_print_input_hidden ('id', $id);
html_print_submit_button (__('Update'), 'crt', false, 'class="sub upd"'); html_print_submit_button (__('Update'), 'crt', false, 'class="sub upd"');
} else { }
else {
html_print_input_hidden ('create', 1); html_print_input_hidden ('create', 1);
html_print_submit_button (__('Create'), 'crt', false, 'class="sub wand"'); html_print_submit_button (__('Create'), 'crt', false, 'class="sub wand"');
} }
echo '</div>'; echo '</div>';
echo '</form>'; echo '</form>';
?>
?>

View File

@ -182,7 +182,7 @@ function compare_flows ($a, $b) {
* *
*/ */
function sort_netflow_data (&$netflow_data) { function sort_netflow_data (&$netflow_data) {
usort($netflow_data, "compare_flows"); usort($netflow_data, "compare_flows");
} }
function netflow_stat_table ($data, $start_date, $end_date, $aggregate, $unit){ function netflow_stat_table ($data, $start_date, $end_date, $aggregate, $unit){
@ -207,7 +207,8 @@ function netflow_stat_table ($data, $start_date, $end_date, $aggregate, $unit){
$values[$agg] = $data[$j]['data']; $values[$agg] = $data[$j]['data'];
$table->data[$x][0] = $agg; $table->data[$x][0] = $agg;
$table->data[$x][1] = format_numeric ($data[$j]['data']); $table->data[$x][1] = format_numeric ($data[$j]['data']);
} else { }
else {
$values[$agg] += $data[$j]['data']; $values[$agg] += $data[$j]['data'];
$table->data[$x][0] = $agg; $table->data[$x][0] = $agg;
$table->data[$x][1] = format_numeric ($data[$j]['data']); $table->data[$x][1] = format_numeric ($data[$j]['data']);
@ -215,7 +216,7 @@ function netflow_stat_table ($data, $start_date, $end_date, $aggregate, $unit){
$j++; $j++;
$x++; $x++;
} }
html_print_table($table); html_print_table($table);
} }

View File

@ -42,9 +42,10 @@ function networkmap_is_descendant ($node, $ascendant, $parents) {
} }
// Generate a dot graph definition for graphviz // Generate a dot graph definition for graphviz
function networkmap_generate_dot ($pandora_name, $group = 0, $simple = 0, $font_size = 12, function networkmap_generate_dot ($pandora_name, $group = 0, $simple = 0,
$layout = 'radial', $nooverlap = 0, $zoom = 1, $ranksep = 2.5, $center = 0, $font_size = 12, $layout = 'radial', $nooverlap = 0, $zoom = 1,
$regen = 1, $pure = 0, $id_networkmap = 0, $show_snmp_modules = 0, $cut_names = true, $ranksep = 2.5, $center = 0, $regen = 1, $pure = 0,
$id_networkmap = 0, $show_snmp_modules = 0, $cut_names = true,
$relative = false) { $relative = false) {
$parents = array(); $parents = array();
@ -136,7 +137,7 @@ function networkmap_generate_dot ($pandora_name, $group = 0, $simple = 0, $font_
continue; continue;
} }
switch($node['type']){ switch ($node['type']) {
case 'agent': case 'agent':
$graph .= networkmap_create_agent_node ($node , $simple, $font_size, $cut_names, $relative)."\n\t\t"; $graph .= networkmap_create_agent_node ($node , $simple, $font_size, $cut_names, $relative)."\n\t\t";
$stats['agents'][] = $node['id_agente']; $stats['agents'][] = $node['id_agente'];
@ -195,7 +196,7 @@ function networkmap_generate_dot_groups ($pandora_name, $group = 0, $simple = 0,
$groups[] = db_get_row ('tgrupo', 'id_grupo', $id_group); $groups[] = db_get_row ('tgrupo', 'id_grupo', $id_group);
} }
} }
$filter['id_grupo'] = $id_groups; $filter['id_grupo'] = $id_groups;
} }
else { else {
@ -231,18 +232,19 @@ function networkmap_generate_dot_groups ($pandora_name, $group = 0, $simple = 0,
// Save node parent information to define edges later // Save node parent information to define edges later
if ($node_group['parent'] != "0" && $node_group['id_grupo'] != $group) { if ($node_group['parent'] != "0" && $node_group['id_grupo'] != $group) {
$parents[$node_count] = $nodes_groups[$node_group['parent']]['id_node']; $parents[$node_count] = $nodes_groups[$node_group['parent']]['id_node'];
} else { }
else {
$orphans[$node_count] = 1; $orphans[$node_count] = 1;
} }
$nodes[$node_count] = $node_group; $nodes[$node_count] = $node_group;
} }
if($depth != 'group') { if ($depth != 'group') {
// Get agents data // Get agents data
$agents = agents_get_agents ($filter, $agents = agents_get_agents ($filter,
array ('id_grupo, nombre, id_os, id_agente')); array ('id_grupo, nombre, id_os, id_agente'));
if ($agents === false) if ($agents === false)
$agents = array(); $agents = array();
@ -252,13 +254,13 @@ function networkmap_generate_dot_groups ($pandora_name, $group = 0, $simple = 0,
$node_count ++; $node_count ++;
// Save node parent information to define edges later // Save node parent information to define edges later
$parents[$node_count] = $agent['parent'] = $nodes_groups[$agent['id_grupo']]['id_node']; $parents[$node_count] = $agent['parent'] = $nodes_groups[$agent['id_grupo']]['id_node'];
$agent['id_node'] = $node_count; $agent['id_node'] = $node_count;
$agent['type'] = 'agent'; $agent['type'] = 'agent';
// Add node // Add node
$nodes[$node_count] = $nodes_agents[$agent['id_agente']] = $agent; $nodes[$node_count] = $nodes_agents[$agent['id_agente']] = $agent;
if($depth == 'agent'){ if ($depth == 'agent') {
continue; continue;
} }
@ -269,35 +271,37 @@ function networkmap_generate_dot_groups ($pandora_name, $group = 0, $simple = 0,
$node_count ++; $node_count ++;
$agent_module = modules_get_agentmodule($key); $agent_module = modules_get_agentmodule($key);
$alerts_module = db_get_sql('SELECT count(*) as num $alerts_module = db_get_sql('SELECT count(*) as num
FROM talert_template_modules WHERE id_agent_module = '.$key); FROM talert_template_modules
WHERE id_agent_module = ' . $key);
if($alerts_module == 0 && $modwithalerts){ if ($alerts_module == 0 && $modwithalerts) {
continue; continue;
} }
if($agent_module['id_module_group'] != $module_group && $module_group != 0){ if ($agent_module['id_module_group'] != $module_group &&
$module_group != 0) {
continue; continue;
} }
if($hidepolicymodules && $config['enterprise_installed']){ if ($hidepolicymodules && $config['enterprise_installed']) {
enterprise_include_once('include/functions_policies.php'); enterprise_include_once('include/functions_policies.php');
if(policies_is_module_in_policy($key)) { if (policies_is_module_in_policy($key)) {
continue; continue;
} }
} }
// Save node parent information to define edges later // Save node parent information to define edges later
$parents[$node_count] = $agent_module['parent'] = $agent['id_node']; $parents[$node_count] = $agent_module['parent'] = $agent['id_node'];
$agent_module['id_node'] = $node_count; $agent_module['id_node'] = $node_count;
$agent_module['type'] = 'module'; $agent_module['type'] = 'module';
// Add node // Add node
$nodes[$node_count] = $agent_module; $nodes[$node_count] = $agent_module;
} }
} }
} }
if (empty ($nodes)) { if (empty ($nodes)) {
return false; return false;
} }
@ -309,7 +313,7 @@ function networkmap_generate_dot_groups ($pandora_name, $group = 0, $simple = 0,
unset ($nodes[$node_id]); unset ($nodes[$node_id]);
continue; continue;
} }
switch($node['type']){ switch ($node['type']) {
case 'group': case 'group':
$graph .= networkmap_create_group_node ($node , $simple, $font_size)."\n\t\t"; $graph .= networkmap_create_group_node ($node , $simple, $font_size)."\n\t\t";
$stats['groups'][] = $node['id_grupo']; $stats['groups'][] = $node['id_grupo'];
@ -329,16 +333,17 @@ function networkmap_generate_dot_groups ($pandora_name, $group = 0, $simple = 0,
// Verify that the parent is in the graph // Verify that the parent is in the graph
if (isset ($nodes[$parent_id])) { if (isset ($nodes[$parent_id])) {
$graph .= networkmap_create_edge ($node, $parent_id, $layout, $nooverlap, $pure, $zoom, $ranksep, $simple, $regen, $font_size, $group, 'operation/agentes/networkmap', 'groups', $id_networkmap); $graph .= networkmap_create_edge ($node, $parent_id, $layout, $nooverlap, $pure, $zoom, $ranksep, $simple, $regen, $font_size, $group, 'operation/agentes/networkmap', 'groups', $id_networkmap);
} else { }
else {
$orphans[$node] = 1; $orphans[$node] = 1;
} }
} }
// Create a central node if orphan nodes exist // Create a central node if orphan nodes exist
if (count ($orphans)) { if (count ($orphans)) {
$graph .= networkmap_create_pandora_node ($pandora_name, $font_size, $simple, $stats); $graph .= networkmap_create_pandora_node ($pandora_name, $font_size, $simple, $stats);
} }
// Define edges for orphan nodes // Define edges for orphan nodes
foreach (array_keys($orphans) as $node) { foreach (array_keys($orphans) as $node) {
$graph .= networkmap_create_edge ('0', $node, $layout, $nooverlap, $pure, $zoom, $ranksep, $simple, $regen, $font_size, $group, 'operation/agentes/networkmap', 'groups', $id_networkmap); $graph .= networkmap_create_edge ('0', $node, $layout, $nooverlap, $pure, $zoom, $ranksep, $simple, $regen, $font_size, $group, 'operation/agentes/networkmap', 'groups', $id_networkmap);
@ -550,7 +555,7 @@ function networkmap_open_graph ($layout, $nooverlap, $pure, $zoom, $ranksep, $fo
$size_y = 5.4; $size_y = 5.4;
$size = ''; $size = '';
if ($layout == 'radial') { if ($layout == 'radial') {
$overlap = 'true'; $overlap = 'true';
} }
@ -560,7 +565,7 @@ function networkmap_open_graph ($layout, $nooverlap, $pure, $zoom, $ranksep, $fo
$overlap = 'scalexy'; $overlap = 'scalexy';
} }
} }
if ($zoom > 0) { if ($zoom > 0) {
$size_x *= $zoom; $size_x *= $zoom;
$size_y *= $zoom; $size_y *= $zoom;
@ -577,7 +582,7 @@ function networkmap_open_graph ($layout, $nooverlap, $pure, $zoom, $ranksep, $fo
$head .= "ratio=fill;"; $head .= "ratio=fill;";
$head .= "root=0;"; $head .= "root=0;";
$head .= "size=\"$size\";"; $head .= "size=\"$size\";";
return $head; return $head;
} }
@ -588,19 +593,25 @@ function networkmap_close_graph () {
// Returns the filter used to achieve the desired layout // Returns the filter used to achieve the desired layout
function networkmap_get_filter ($layout) { function networkmap_get_filter ($layout) {
switch($layout) { switch ($layout) {
case 'flat': case 'flat':
return 'dot'; return 'dot';
case 'radial': break;
return 'twopi'; case 'radial':
case 'circular': return 'twopi';
return 'circo'; break;
case 'spring1': case 'circular':
return 'neato'; return 'circo';
case 'spring2': break;
return 'fdp'; case 'spring1':
default: return 'neato';
return 'twopi'; break;
case 'spring2':
return 'fdp';
break;
default:
return 'twopi';
break;
} }
} }

View File

@ -300,11 +300,11 @@ foreach ($modules as $module) {
} }
else { else {
$data[1] = ""; $data[1] = "";
} }
} }
$data[2] = servers_show_type ($module['id_modulo']) . '&nbsp;'; $data[2] = servers_show_type ($module['id_modulo']) . '&nbsp;';
if (check_acl ($config['id_user'], $id_grupo, "AW")) if (check_acl ($config['id_user'], $id_grupo, "AW"))
$data[2] .= '<a href="index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente&amp;id_agente='.$id_agente.'&amp;tab=module&amp;id_agent_module='.$module["id_agente_modulo"].'&amp;edit_module='.$module["id_modulo"].'">' . html_print_image("images/config.png", true, array("alt" => '0', "border" => "")) . '</a>'; $data[2] .= '<a href="index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente&amp;id_agente='.$id_agente.'&amp;tab=module&amp;id_agent_module='.$module["id_agente_modulo"].'&amp;edit_module='.$module["id_modulo"].'">' . html_print_image("images/config.png", true, array("alt" => '0', "border" => "")) . '</a>';
@ -340,7 +340,7 @@ foreach ($modules as $module) {
else { else {
if (is_numeric($module["datos"])){ if (is_numeric($module["datos"])){
$salida = format_numeric($module["datos"]); $salida = format_numeric($module["datos"]);
// Show units ONLY in numeric data types // Show units ONLY in numeric data types
if (isset($module["unit"])){ if (isset($module["unit"])){
$salida .= "&nbsp;" . '<i>'. io_safe_output($module["unit"]) . '</i>'; $salida .= "&nbsp;" . '<i>'. io_safe_output($module["unit"]) . '</i>';
@ -361,21 +361,21 @@ foreach ($modules as $module) {
} }
} }
} }
$data[6] = ui_print_module_warn_value ($module["max_warning"], $module["min_warning"], $module["str_warning"], $module["max_critical"], $module["min_critical"], $module["str_critical"]); $data[6] = ui_print_module_warn_value ($module["max_warning"], $module["min_warning"], $module["str_warning"], $module["max_critical"], $module["min_critical"], $module["str_critical"]);
$data[7] = $salida; $data[7] = $salida;
$graph_type = return_graphtype ($module["id_tipo_modulo"]); $graph_type = return_graphtype ($module["id_tipo_modulo"]);
$data[8] = " "; $data[8] = " ";
if ($module['history_data'] == 1){ if ($module['history_data'] == 1){
$nombre_tipo_modulo = modules_get_moduletype_name ($module["id_tipo_modulo"]); $nombre_tipo_modulo = modules_get_moduletype_name ($module["id_tipo_modulo"]);
$handle = "stat".$nombre_tipo_modulo."_".$module["id_agente_modulo"]; $handle = "stat".$nombre_tipo_modulo."_".$module["id_agente_modulo"];
$url = 'include/procesos.php?agente='.$module["id_agente_modulo"]; $url = 'include/procesos.php?agente='.$module["id_agente_modulo"];
$win_handle=dechex(crc32($module["id_agente_modulo"].$module["nombre"])); $win_handle=dechex(crc32($module["id_agente_modulo"].$module["nombre"]));
$link ="winopeng('operation/agentes/stat_win.php?type=$graph_type&amp;period=86400&amp;id=".$module["id_agente_modulo"]."&amp;label=".base64_encode($module["nombre"])."&amp;refresh=600','day_".$win_handle."')"; $link ="winopeng('operation/agentes/stat_win.php?type=$graph_type&amp;period=86400&amp;id=".$module["id_agente_modulo"]."&amp;label=".base64_encode($module["nombre"])."&amp;refresh=600','day_".$win_handle."')";
// if ($nombre_tipo_modulo != "log4x") // if ($nombre_tipo_modulo != "log4x")
$data[8] .= '<a href="javascript:'.$link.'">' . html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . '</a> &nbsp;&nbsp;'; $data[8] .= '<a href="javascript:'.$link.'">' . html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . '</a> &nbsp;&nbsp;';
$data[8] .= "<a href='index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente=$id_agente&tab=data_view&amp;period=86400&amp;id=".$module["id_agente_modulo"]."'>" . html_print_image('images/binary.png', true, array("border" => '0', "alt" => "")) . "</a>"; $data[8] .= "<a href='index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente=$id_agente&tab=data_view&amp;period=86400&amp;id=".$module["id_agente_modulo"]."'>" . html_print_image('images/binary.png', true, array("border" => '0', "alt" => "")) . "</a>";
@ -432,4 +432,4 @@ ui_require_jquery_file ('cluetip');
}); });
/* ]]> */ /* ]]> */
</script> </script>

View File

@ -223,31 +223,31 @@ if (!$nomaps && $id_networkmap != 0) {
} }
$title = ''; $title = '';
switch($activeTab){ switch ($activeTab) {
case 'topology': case 'topology':
$title = __('Topology view'); $title = __('Topology view');
break; break;
case 'groups': case 'groups':
$title = __('Groups view'); $title = __('Groups view');
break; break;
case 'policies': case 'policies':
$title = __('Policies view'); $title = __('Policies view');
break; break;
} }
if(!empty($name)) { if (!empty($name)) {
$title .= " &raquo; ". mb_substr($name, 0, 25); $title .= " &raquo; ". mb_substr($name, 0, 25);
} }
ui_print_page_header (__('Network map')." - ".$title, "images/bricks.png", false, "network_map", false, $buttons); ui_print_page_header (__('Network map')." - ".$title, "images/bricks.png", false, "network_map", false, $buttons);
if($delete_networkmap || $add_networkmap || $save_networkmap) { if ($delete_networkmap || $add_networkmap || $save_networkmap) {
echo $message; echo $message;
} }
if($id_networkmap == 0) { if ($id_networkmap == 0) {
echo "<div class='nf'>".__('There are no defined maps in this view')."</div>"; echo "<div class='nf'>".__('There are no defined maps in this view')."</div>";
return; return;
} }
// CONFIGURATION FORM // CONFIGURATION FORM
@ -256,11 +256,11 @@ echo "<br>";
// Layout selection // Layout selection
$layout_array = array ( $layout_array = array (
'circular' => 'circular', 'circular' => 'circular',
'radial' => 'radial', 'radial' => 'radial',
'spring1' => 'spring 1', 'spring1' => 'spring 1',
'spring2' => 'spring 2', 'spring2' => 'spring 2',
'flat' => 'flat'); 'flat' => 'flat');
$options_form = '<form action="index.php?sec=network&amp;sec2=operation/agentes/networkmap&amp;id_networkmap='.$id_networkmap.'&amp;tab='.$activeTab.'&amp;pure='.$pure.'&amp;center='.$center.'" method="post">'; $options_form = '<form action="index.php?sec=network&amp;sec2=operation/agentes/networkmap&amp;id_networkmap='.$id_networkmap.'&amp;tab='.$activeTab.'&amp;pure='.$pure.'&amp;center='.$center.'" method="post">';
$options_form .= '<table cellpadding="4" cellspacing="4" class="databox" width="99%">'; $options_form .= '<table cellpadding="4" cellspacing="4" class="databox" width="99%">';
@ -274,13 +274,13 @@ $options_form .= '</td>';
$options_form .= '<td valign="top">' . __('Group') . '<br />'; $options_form .= '<td valign="top">' . __('Group') . '<br />';
$options_form .= html_print_select_groups(false, 'AR', false, 'group', $group, '', 'All', 0, true); $options_form .= html_print_select_groups(false, 'AR', false, 'group', $group, '', 'All', 0, true);
$options_form .= '</td>'; $options_form .= '</td>';
if($activeTab == 'groups' || $activeTab == 'policies'){ if ($activeTab == 'groups' || $activeTab == 'policies') {
$options_form .= '<td valign="top">' . __('Module group') . '<br />'; $options_form .= '<td valign="top">' . __('Module group') . '<br />';
$options_form .= html_print_select_from_sql ('SELECT id_mg, name FROM tmodule_group', 'module_group', $module_group, '', 'All', 0, true); $options_form .= html_print_select_from_sql ('SELECT id_mg, name FROM tmodule_group', 'module_group', $module_group, '', 'All', 0, true);
$options_form .= '</td>'; $options_form .= '</td>';
} }
if($activeTab == 'topology') { if ($activeTab == 'topology') {
$options_form .= '<td valign="top">' . __('Show interfaces') . '<br />'; $options_form .= '<td valign="top">' . __('Show interfaces') . '<br />';
$options_form .= html_print_checkbox ('show_snmp_modules', '1', $show_snmp_modules, true); $options_form .= html_print_checkbox ('show_snmp_modules', '1', $show_snmp_modules, true);
$options_form .= '</td>'; $options_form .= '</td>';
@ -290,14 +290,14 @@ $options_form .= '<td valign="top">' . __('Layout') . '<br />';
$options_form .= html_print_select ($layout_array, 'layout', $layout, '', '', '', true); $options_form .= html_print_select ($layout_array, 'layout', $layout, '', '', '', true);
$options_form .= '</td>'; $options_form .= '</td>';
if($activeTab == 'groups'){ if ($activeTab == 'groups') {
$options_form .= '<td valign="top">' . __('Depth') . '<br />'; $options_form .= '<td valign="top">' . __('Depth') . '<br />';
$depth_levels = array('all' => __('All'), 'agent' => __('Agents'), 'group' => __('Groups')); $depth_levels = array('all' => __('All'), 'agent' => __('Agents'), 'group' => __('Groups'));
$options_form .= html_print_select ($depth_levels, 'depth', $depth, '', '', '', true, false, false); $options_form .= html_print_select ($depth_levels, 'depth', $depth, '', '', '', true, false, false);
$options_form .= '</td>'; $options_form .= '</td>';
} }
if($activeTab == 'policies'){ if ($activeTab == 'policies') {
$options_form .= '<td valign="top">' . __('Depth') . '<br />'; $options_form .= '<td valign="top">' . __('Depth') . '<br />';
$depth_levels = array('all' => __('All'), 'agent' => __('Agents'), 'policy' => __('Policies')); $depth_levels = array('all' => __('All'), 'agent' => __('Agents'), 'policy' => __('Policies'));
$options_form .= html_print_select ($depth_levels, 'depth', $depth, '', '', '', true, false, false); $options_form .= html_print_select ($depth_levels, 'depth', $depth, '', '', '', true, false, false);
@ -311,12 +311,13 @@ $options_form .= '<tr><td valign="top">' . __('No Overlap') . '<br />';
$options_form .= html_print_checkbox ('nooverlap', '1', $nooverlap, true); $options_form .= html_print_checkbox ('nooverlap', '1', $nooverlap, true);
$options_form .= '</td>'; $options_form .= '</td>';
if(($activeTab == 'groups' || $activeTab == 'policies') && $depth == 'all') { if (($activeTab == 'groups' || $activeTab == 'policies') &&
$depth == 'all') {
$options_form .= '<td valign="top">' . __('Only modules with alerts') . '<br />'; $options_form .= '<td valign="top">' . __('Only modules with alerts') . '<br />';
$options_form .= html_print_checkbox ('modwithalerts', '1', $modwithalerts, true); $options_form .= html_print_checkbox ('modwithalerts', '1', $modwithalerts, true);
$options_form .= '</td>'; $options_form .= '</td>';
if($activeTab == 'groups') { if ($activeTab == 'groups') {
if($config['enterprise_installed']) { if($config['enterprise_installed']) {
$options_form .= '<td valign="top">' . __('Hide policy modules') . '<br />'; $options_form .= '<td valign="top">' . __('Hide policy modules') . '<br />';
$options_form .= html_print_checkbox ('hidepolicymodules', '1', $hidepolicymodules, true); $options_form .= html_print_checkbox ('hidepolicymodules', '1', $hidepolicymodules, true);
@ -343,14 +344,13 @@ if ($pure == "1") {
'2.5' => 'x5', '2.5' => 'x5',
'5' => 'x10', '5' => 'x10',
); );
$options_form .= '<td valign="top">' . __('Zoom') . '<br />'; $options_form .= '<td valign="top">' . __('Zoom') . '<br />';
$options_form .= html_print_select ($zoom_array, 'zoom', $zoom, '', '', '', true, false, false, false); $options_form .= html_print_select ($zoom_array, 'zoom', $zoom, '', '', '', true, false, false, false);
$options_form .= '</td>'; $options_form .= '</td>';
} }
if ($nooverlap == 1){ if ($nooverlap == 1) {
$options_form .= "<td>"; $options_form .= "<td>";
$options_form .= __('Distance between nodes') . '<br />'; $options_form .= __('Distance between nodes') . '<br />';
$options_form .= html_print_input_text ('ranksep', $ranksep, __('Separation between elements in the map (in Non-overlap mode)'), 3, 4, true); $options_form .= html_print_input_text ('ranksep', $ranksep, __('Separation between elements in the map (in Non-overlap mode)'), 3, 4, true);
@ -385,5 +385,4 @@ if($id_networkmap != 0) {
break; break;
} }
} }
?>
?>

View File

@ -180,7 +180,8 @@ echo '<form method="post" action="index.php?sec=netf&sec2=operation/netflow/nf_l
// Read filter type // Read filter type
if ($filter['advanced_filter'] != '') { if ($filter['advanced_filter'] != '') {
$filter_type = 1; $filter_type = 1;
} else { }
else {
$filter_type = 0; $filter_type = 0;
} }
@ -191,13 +192,13 @@ echo '<form method="post" action="index.php?sec=netf&sec2=operation/netflow/nf_l
$user_groups = users_get_groups ($config['id_user'], "AR", $own_info['is_admin'], true); $user_groups = users_get_groups ($config['id_user'], "AR", $own_info['is_admin'], true);
$sql = "SELECT * FROM tnetflow_filter WHERE id_group IN (".implode(',', array_keys ($user_groups)).")"; $sql = "SELECT * FROM tnetflow_filter WHERE id_group IN (".implode(',', array_keys ($user_groups)).")";
$table->data[2][3] = html_print_select_from_sql ($sql, 'filter_id', $filter_id, '', __('none'), 0, true); $table->data[2][3] = html_print_select_from_sql ($sql, 'filter_id', $filter_id, '', __('none'), 0, true);
$table->data[3][0] = __('Dst Ip'). ui_print_help_tip (__("Destination IP. A comma separated list of destination ip. If we leave the field blank, will show all ip. Example filter by ip:<br>25.46.157.214,160.253.135.249"), true); $table->data[3][0] = __('Dst Ip'). ui_print_help_tip (__("Destination IP. A comma separated list of destination ip. If we leave the field blank, will show all ip. Example filter by ip:<br>25.46.157.214,160.253.135.249"), true);
$table->data[3][1] = html_print_input_text ('ip_dst', $filter['ip_dst'], false, 40, 80, true); $table->data[3][1] = html_print_input_text ('ip_dst', $filter['ip_dst'], false, 40, 80, true);
$table->data[3][2] = __('Src Ip'). ui_print_help_tip (__("Source IP. A comma separated list of source ip. If we leave the field blank, will show all ip. Example filter by ip:<br>25.46.157.214,160.253.135.249"), true); $table->data[3][2] = __('Src Ip'). ui_print_help_tip (__("Source IP. A comma separated list of source ip. If we leave the field blank, will show all ip. Example filter by ip:<br>25.46.157.214,160.253.135.249"), true);
$table->data[3][3] = html_print_input_text ('ip_src', $filter['ip_src'], false, 40, 80, true); $table->data[3][3] = html_print_input_text ('ip_src', $filter['ip_src'], false, 40, 80, true);
$table->data[4][0] = __('Dst Port'). ui_print_help_tip (__("Destination port. A comma separated list of destination ports. If we leave the field blank, will show all ports. Example filter by ports 80 and 22:<br>80,22"), true); $table->data[4][0] = __('Dst Port'). ui_print_help_tip (__("Destination port. A comma separated list of destination ports. If we leave the field blank, will show all ports. Example filter by ports 80 and 22:<br>80,22"), true);
$table->data[4][1] = html_print_input_text ('dst_port', $filter['dst_port'], false, 40, 80, true); $table->data[4][1] = html_print_input_text ('dst_port', $filter['dst_port'], false, 40, 80, true);
$table->data[4][2] = __('Src Port'). ui_print_help_tip (__("Source port. A comma separated list of source ports. If we leave the field blank, will show all ports. Example filter by ports 80 and 22:<br>80,22"), true); $table->data[4][2] = __('Src Port'). ui_print_help_tip (__("Source port. A comma separated list of source ports. If we leave the field blank, will show all ports. Example filter by ports 80 and 22:<br>80,22"), true);
@ -206,94 +207,91 @@ echo '<form method="post" action="index.php?sec=netf&sec2=operation/netflow/nf_l
$table->data[5][0] = ui_print_help_icon ('pcap_filter', true); $table->data[5][0] = ui_print_help_icon ('pcap_filter', true);
$table->data[5][1] = html_print_textarea ('advanced_filter', 4, 40, $filter['advanced_filter'], "style='min-height: 0px;'", true); $table->data[5][1] = html_print_textarea ('advanced_filter', 4, 40, $filter['advanced_filter'], "style='min-height: 0px;'", true);
$table->colspan[5][1] = 3; $table->colspan[5][1] = 3;
$table->data[6][0] = '<b>'.__('Aggregate by').'</b>'. ui_print_help_icon ('aggregate_by', true); $table->data[6][0] = '<b>'.__('Aggregate by').'</b>'. ui_print_help_icon ('aggregate_by', true);
$aggregate_list = array(); $aggregate_list = array();
$aggregate_list = array ('none' => __('None'), 'proto' => __('Protocol'), 'srcip' =>__('Src Ip Address'), 'dstip' =>__('Dst Ip Address'), 'srcport' =>__('Src Port'), 'dstport' =>__('Dst Port') ); $aggregate_list = array ('none' => __('None'), 'proto' => __('Protocol'), 'srcip' =>__('Src Ip Address'), 'dstip' =>__('Dst Ip Address'), 'srcport' =>__('Src Port'), 'dstport' =>__('Dst Port') );
$table->data[6][1] = html_print_select ($aggregate_list, "aggregate", $filter['aggregate'], '', '', 0, true, false, true, '', false); $table->data[6][1] = html_print_select ($aggregate_list, "aggregate", $filter['aggregate'], '', '', 0, true, false, true, '', false);
$table->data[6][2] = '<b>'.__('Output format').'</b>'; $table->data[6][2] = '<b>'.__('Output format').'</b>';
$show_output = array(); $show_output = array();
$show_output = array ('packets' => __('Packets'), 'bytes' => __('Bytes'), 'flows' =>__('Flows')); $show_output = array ('packets' => __('Packets'), 'bytes' => __('Bytes'), 'flows' =>__('Flows'));
$table->data[6][3] = html_print_select ($show_output, 'output', $filter['output'], '', '', 0, true, false, true, '', false); $table->data[6][3] = html_print_select ($show_output, 'output', $filter['output'], '', '', 0, true, false, true, '', false);
html_print_table ($table); html_print_table ($table);
html_print_submit_button (__('Draw'), 'draw_button', false, 'class="sub upd"'); html_print_submit_button (__('Draw'), 'draw_button', false, 'class="sub upd"');
if (check_acl ($config["id_user"], 0, "AW")) { if (check_acl ($config["id_user"], 0, "AW")) {
html_print_submit_button (__('Save as new filter'), 'save_button', false, 'class="sub upd" onClick="return defineFilterName();"'); html_print_submit_button (__('Save as new filter'), 'save_button', false, 'class="sub upd" onClick="return defineFilterName();"');
html_print_submit_button (__('Update current filter'), 'update_button', false, 'class="sub upd"'); html_print_submit_button (__('Update current filter'), 'update_button', false, 'class="sub upd"');
} }
echo'</form>'; echo'</form>';
if ($draw != '') { if ($draw != '') {
// Get the command to call nfdump // Get the command to call nfdump
$command = netflow_get_command ($filter); $command = netflow_get_command ($filter);
// Build a unique id for the cache // Build a unique id for the cache
$unique_id = 'live_view__' . ($end_date - $start_date); $unique_id = 'live_view__' . ($end_date - $start_date);
// Draw // Draw
netflow_draw_item ($start_date, $end_date, $chart_type, $filter, $command, $filter, $max_aggregates, $unique_id); netflow_draw_item ($start_date, $end_date, $chart_type, $filter, $command, $filter, $max_aggregates, $unique_id);
} }
?> ?>
<script type="text/javascript"> <script type="text/javascript">
// Hide the normal filter and display the advanced filter // Hide the normal filter and display the advanced filter
function displayAdvancedFilter () { function displayAdvancedFilter () {
// Erase the normal filter // Erase the normal filter
document.getElementById("text-ip_dst").value = ''; document.getElementById("text-ip_dst").value = '';
document.getElementById("text-ip_src").value = ''; document.getElementById("text-ip_src").value = '';
document.getElementById("text-dst_port").value = ''; document.getElementById("text-dst_port").value = '';
document.getElementById("text-src_port").value = ''; document.getElementById("text-src_port").value = '';
// Hide the normal filter // Hide the normal filter
document.getElementById("table2-3").style.display = 'none'; document.getElementById("table2-3").style.display = 'none';
document.getElementById("table2-4").style.display = 'none'; document.getElementById("table2-4").style.display = 'none';
// Show the advanced filter // Show the advanced filter
document.getElementById("table2-5").style.display = ''; document.getElementById("table2-5").style.display = '';
}; };
// Hide the advanced filter and display the normal filter // Hide the advanced filter and display the normal filter
function displayNormalFilter () { function displayNormalFilter () {
// Erase the advanced filter // Erase the advanced filter
document.getElementById("textarea_advanced_filter").value = ''; document.getElementById("textarea_advanced_filter").value = '';
// Hide the advanced filter // Hide the advanced filter
document.getElementById("table2-5").style.display = 'none'; document.getElementById("table2-5").style.display = 'none';
// Show the normal filter // Show the normal filter
document.getElementById("table2-3").style.display = ''; document.getElementById("table2-3").style.display = '';
document.getElementById("table2-4").style.display = ''; document.getElementById("table2-4").style.display = '';
}; };
// Ask the user to define a name for the filter in order to save it // Ask the user to define a name for the filter in order to save it
function defineFilterName () { function defineFilterName () {
if (document.getElementById("text-name").value == '') { if (document.getElementById("text-name").value == '') {
document.getElementById("table2-0").style.display = ''; document.getElementById("table2-0").style.display = '';
document.getElementById("table2-1").style.display = ''; document.getElementById("table2-1").style.display = '';
return false; return false;
} }
return true; return true;
}; };
// Display the appropriate filter // Display the appropriate filter
var filter_type = <?php echo $filter_type ?>; var filter_type = <?php echo $filter_type ?>;
if (filter_type == 0) { if (filter_type == 0) {
displayNormalFilter (); displayNormalFilter ();
} else { }
else {
displayAdvancedFilter (); displayAdvancedFilter ();
} }
// Hide filter name and group // Hide filter name and group
document.getElementById("table2-0").style.display = 'none'; document.getElementById("table2-0").style.display = 'none';
document.getElementById("table2-1").style.display = 'none'; document.getElementById("table2-1").style.display = 'none';
@ -306,7 +304,7 @@ if ($draw != '') {
$("#table2-1").css('display', 'none'); $("#table2-1").css('display', 'none');
// Clean fields // Clean fields
if ($("#filter_id").val() == 0){ if ($("#filter_id").val() == 0) {
//displayNormalFilter (); //displayNormalFilter ();
$("#table2-3").css('display', ''); $("#table2-3").css('display', '');
$("#table2-4").css('display', ''); $("#table2-4").css('display', '');
@ -315,7 +313,7 @@ if ($draw != '') {
// Check right filter type // Check right filter type
$("#radiobtn0001").attr("checked", "checked"); $("#radiobtn0001").attr("checked", "checked");
$("#radiobtn0002").attr("checked", ""); $("#radiobtn0002").attr("checked", "");
$("#text-ip_dst").val(''); $("#text-ip_dst").val('');
$("#text-ip_src").val(''); $("#text-ip_src").val('');
$("#text-dst_port").val(''); $("#text-dst_port").val('');
@ -326,8 +324,11 @@ if ($draw != '') {
// Hide update filter button // Hide update filter button
$("#submit-update_button").css("visibility", "hidden"); $("#submit-update_button").css("visibility", "hidden");
// Load fields from DB
} else { }
else {
// Load fields from DB
// Get filter type // Get filter type
jQuery.post ("ajax.php", jQuery.post ("ajax.php",
{"page" : "operation/netflow/nf_live_view", {"page" : "operation/netflow/nf_live_view",
@ -345,7 +346,8 @@ if ($draw != '') {
// Check right filter type // Check right filter type
$("#radiobtn0001").attr("checked", "checked"); $("#radiobtn0001").attr("checked", "checked");
$("#radiobtn0002").attr("checked", ""); $("#radiobtn0002").attr("checked", "");
} else { }
else {
$("#table2-3").css('display', 'none'); $("#table2-3").css('display', 'none');
$("#table2-4").css('display', 'none'); $("#table2-4").css('display', 'none');
$("#table2-5").css('display', ''); $("#table2-5").css('display', '');
@ -353,7 +355,7 @@ if ($draw != '') {
// Check right filter type // Check right filter type
$("#radiobtn0001").attr("checked", ""); $("#radiobtn0001").attr("checked", "");
$("#radiobtn0002").attr("checked", "checked"); $("#radiobtn0002").attr("checked", "checked");
} }
}); });
// Shows update filter button // Shows update filter button
@ -381,9 +383,9 @@ if ($draw != '') {
$("#aggregate").val(val); $("#aggregate").val(val);
if (i == 'output') if (i == 'output')
$("#output").val(val); $("#output").val(val);
}); });
}, },
"json"); "json");
} }
}); });
@ -399,7 +401,7 @@ if ($draw != '') {
// Change color of name and group if save button has been pushed // Change color of name and group if save button has been pushed
$("#submit-save_button").click(function () { $("#submit-save_button").click(function () {
if ($("#text-name").val() == ""){ if ($("#text-name").val() == "") {
$('#filter_name_color').css('color', '#CC0000'); $('#filter_name_color').css('color', '#CC0000');
$('#filter_group_color').css('color', '#CC0000'); $('#filter_group_color').css('color', '#CC0000');
} }
@ -407,8 +409,6 @@ if ($draw != '') {
$('#filter_name_color').css('color', '#000000'); $('#filter_name_color').css('color', '#000000');
$('#filter_group_color').css('color', '#000000'); $('#filter_group_color').css('color', '#000000');
} }
}); });
}); });
</script>
</script>