fixed warnings php
Former-commit-id: d21cb02113c65a7f50a5e29f7f536e85ba5cb945
This commit is contained in:
parent
9753faa17a
commit
504a8e9d1a
|
@ -106,7 +106,9 @@ function get_value_sum($arr)
|
|||
{
|
||||
foreach ($arr as $clave) {
|
||||
foreach ($clave as $valor) {
|
||||
$result += $valor;
|
||||
if (is_numeric($valor) === true) {
|
||||
$result += $valor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,17 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Extension to manage a list of gateways and the node address where they should
|
||||
* point to.
|
||||
*
|
||||
* @category Extensions
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// Load global vars
|
||||
global $config;
|
||||
|
||||
check_login();
|
||||
|
@ -51,15 +66,22 @@ if (is_ajax()) {
|
|||
}
|
||||
|
||||
if (!is_metaconsole()) {
|
||||
// Header
|
||||
ui_print_page_header(__('Module groups defined in %s', get_product_name()), 'images/module_group.png', false, '', true, '');
|
||||
// Header.
|
||||
ui_print_page_header(
|
||||
__('Module groups defined in %s', get_product_name()),
|
||||
'images/module_group.png',
|
||||
false,
|
||||
'',
|
||||
true,
|
||||
''
|
||||
);
|
||||
}
|
||||
|
||||
$create_group = (bool) get_parameter('create_group');
|
||||
$update_group = (bool) get_parameter('update_group');
|
||||
$delete_group = (bool) get_parameter('delete_group');
|
||||
|
||||
// Create group
|
||||
// Create group.
|
||||
if ($create_group) {
|
||||
$name = (string) get_parameter('name');
|
||||
$icon = (string) get_parameter('icon');
|
||||
|
@ -70,22 +92,29 @@ if ($create_group) {
|
|||
|
||||
if ($name) {
|
||||
if (!$check) {
|
||||
$result = db_process_sql_insert('tmodule_group', ['name' => $name]);
|
||||
$result = db_process_sql_insert(
|
||||
'tmodule_group',
|
||||
['name' => $name]
|
||||
);
|
||||
|
||||
if ($result) {
|
||||
ui_print_success_message(__('Group successfully created'));
|
||||
} else {
|
||||
ui_print_error_message(__('There was a problem creating group'));
|
||||
ui_print_error_message(
|
||||
__('There was a problem creating group')
|
||||
);
|
||||
}
|
||||
} else {
|
||||
ui_print_error_message(__('Each module group must have a different name'));
|
||||
ui_print_error_message(
|
||||
__('Each module group must have a different name')
|
||||
);
|
||||
}
|
||||
} else {
|
||||
ui_print_error_message(__('Module group must have a name'));
|
||||
}
|
||||
}
|
||||
|
||||
// Update group
|
||||
// Update group.
|
||||
if ($update_group) {
|
||||
$id_group = (int) get_parameter('id_group');
|
||||
$name = (string) get_parameter('name');
|
||||
|
@ -98,38 +127,79 @@ if ($update_group) {
|
|||
|
||||
if ($name) {
|
||||
if (!$check || $subcheck == $name) {
|
||||
$result = db_process_sql_update('tmodule_group', ['name' => $name], ['id_mg' => $id_group]);
|
||||
$result = db_process_sql_update(
|
||||
'tmodule_group',
|
||||
['name' => $name],
|
||||
['id_mg' => $id_group]
|
||||
);
|
||||
|
||||
if ($result !== false) {
|
||||
ui_print_success_message(__('Group successfully updated'));
|
||||
} else {
|
||||
ui_print_error_message(__('There was a problem modifying group'));
|
||||
ui_print_error_message(
|
||||
__('There was a problem modifying group')
|
||||
);
|
||||
}
|
||||
} else {
|
||||
ui_print_error_message(__('Each module group must have a different name'));
|
||||
ui_print_error_message(
|
||||
__('Each module group must have a different name')
|
||||
);
|
||||
}
|
||||
} else {
|
||||
ui_print_error_message(__('Module group must have a name'));
|
||||
}
|
||||
}
|
||||
|
||||
// Delete group
|
||||
// Delete group.
|
||||
if ($delete_group) {
|
||||
$id_group = (int) get_parameter('id_group');
|
||||
|
||||
$result = db_process_sql_delete('tmodule_group', ['id_mg' => $id_group]);
|
||||
|
||||
if ($result) {
|
||||
$result = db_process_sql_update('tagente_modulo', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('tpolicy_modules', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('tcontainer_item', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('tnetwork_component', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('treport_content', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('tnetwork_map', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('tlocal_component', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
db_process_sql_update('treport_content_template', ['id_module_group' => 0], ['id_module_group' => $id_group]);
|
||||
$result = db_process_sql_update(
|
||||
'tagente_modulo',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'tpolicy_modules',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'tcontainer_item',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'tnetwork_component',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'treport_content',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'tnetwork_map',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'tlocal_component',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
db_process_sql_update(
|
||||
'treport_content_template',
|
||||
['id_module_group' => 0],
|
||||
['id_module_group' => $id_group]
|
||||
);
|
||||
|
||||
// A group with no modules can be deleted, to avoid a message error then do the follwing
|
||||
// A group with no modules can be deleted,
|
||||
// to avoid a message error then do the follwing.
|
||||
if ($result !== false) {
|
||||
$result = true;
|
||||
}
|
||||
|
@ -150,36 +220,15 @@ $offset = (int) get_parameter('offset', 0);
|
|||
|
||||
ui_pagination($total_groups, $url, $offset);
|
||||
|
||||
switch ($config['dbtype']) {
|
||||
case 'mysql':
|
||||
$sql = 'SELECT *
|
||||
FROM tmodule_group
|
||||
ORDER BY name ASC
|
||||
LIMIT '.$offset.', '.$config['block_size'];
|
||||
break;
|
||||
|
||||
case 'postgresql':
|
||||
$sql = 'SELECT *
|
||||
FROM tmodule_group
|
||||
ORDER BY name ASC
|
||||
LIMIT '.$config['block_size'].' OFFSET '.$offset;
|
||||
break;
|
||||
|
||||
case 'oracle':
|
||||
$set = [];
|
||||
$set['limit'] = $config['block_size'];
|
||||
$set['offset'] = $offset;
|
||||
|
||||
$sql = 'SELECT *
|
||||
FROM tmodule_group
|
||||
ORDER BY name ASC';
|
||||
|
||||
$sql = oracle_recode_query($sql, $set);
|
||||
break;
|
||||
}
|
||||
$sql = 'SELECT *
|
||||
FROM tmodule_group
|
||||
ORDER BY name ASC
|
||||
LIMIT '.$offset.', '.$config['block_size'];
|
||||
|
||||
$groups = db_get_all_rows_sql($sql);
|
||||
|
||||
$table = new stdClass();
|
||||
$table->width = '100%';
|
||||
$table->class = 'databox data';
|
||||
|
||||
|
@ -210,11 +259,21 @@ if (!empty($groups)) {
|
|||
|
||||
html_print_table($table);
|
||||
} else {
|
||||
ui_print_info_message(['no_close' => true, 'message' => __('There are no defined module groups') ]);
|
||||
ui_print_info_message(
|
||||
[
|
||||
'no_close' => true,
|
||||
'message' => __('There are no defined module groups'),
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
echo '<form method="post" action="index.php?sec=gmodules&sec2=godmode/groups/configure_modu_group">';
|
||||
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
||||
html_print_submit_button(__('Create module group'), 'crt', false, 'class="sub next"');
|
||||
html_print_submit_button(
|
||||
__('Create module group'),
|
||||
'crt',
|
||||
false,
|
||||
'class="sub next"'
|
||||
);
|
||||
echo '</div>';
|
||||
echo '</form>';
|
||||
|
|
|
@ -1,17 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Extension to manage a list of gateways and the node address where they should
|
||||
* point to.
|
||||
*
|
||||
* @category Extensions
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2009 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// Load global vars
|
||||
check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
|
@ -34,7 +49,8 @@ if (is_ajax()) {
|
|||
|
||||
if ($get_agents) {
|
||||
$id_group = (int) get_parameter('id_group', 0);
|
||||
// Is is possible add keys prefix to avoid auto sorting in js object conversion
|
||||
// Is is possible add keys prefix to avoid auto
|
||||
// sorting in js object conversion.
|
||||
$keys_prefix = (string) get_parameter('keys_prefix', '');
|
||||
|
||||
if ($id_group == 0) {
|
||||
|
@ -62,7 +78,7 @@ if (is_ajax()) {
|
|||
);
|
||||
}
|
||||
|
||||
// Add keys prefix
|
||||
// Add keys prefix.
|
||||
if ($keys_prefix !== '') {
|
||||
foreach ($agents as $k => $v) {
|
||||
$agents[$keys_prefix.$k] = $v;
|
||||
|
@ -92,8 +108,8 @@ function process_manage_add($id_alert_template, $id_agents, $module_names)
|
|||
|
||||
foreach ($module_names as $module) {
|
||||
foreach ($id_agents as $id_agent) {
|
||||
$module_id = modules_get_agentmodule_id($module, $id_agent);
|
||||
$modules_id[] = $module_id['id_agente_modulo'];
|
||||
$module_id = modules_get_agentmodule_id($module, $id_agent);
|
||||
$modules_id[] = $module_id['id_agente_modulo'];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -148,6 +164,7 @@ if (!$own_info['is_admin'] && !check_acl($config['id_user'], 0, 'AW')) {
|
|||
$return_all_group = true;
|
||||
}
|
||||
|
||||
$table = new stdClass();
|
||||
$table->id = 'add_table';
|
||||
$table->class = 'databox filters';
|
||||
$table->width = '100%';
|
||||
|
@ -251,10 +268,10 @@ html_print_submit_button(__('Add'), 'go', false, 'class="sub add"');
|
|||
echo '</div>';
|
||||
echo '</form>';
|
||||
|
||||
// TODO: Change to iu_print_error system
|
||||
// TODO: Change to iu_print_error system.
|
||||
echo '<h3 class="error invisible" id="message"> </h3>';
|
||||
|
||||
// Hack to translate text "none" in PHP to javascript
|
||||
// Hack to translate text "none" in PHP to javascript.
|
||||
echo '<span id ="none_text" style="display: none;">'.__('None').'</span>';
|
||||
|
||||
ui_require_jquery_file('form');
|
||||
|
@ -270,42 +287,40 @@ $(document).ready (function () {
|
|||
var get_parameters_count = window.location.href.slice(
|
||||
window.location.href.indexOf('?') + 1).split('&').length;
|
||||
var post_parameters_count = $("#form_alerts").serializeArray().length;
|
||||
|
||||
|
||||
var count_parameters =
|
||||
get_parameters_count + post_parameters_count;
|
||||
|
||||
|
||||
if (count_parameters > limit_parameters_massive) {
|
||||
alert("<?php echo __('Unsucessful sending the data, please contact with your administrator or make with less elements.'); ?>");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$("#checkbox-recursion").click(function () {
|
||||
$("#id_group").trigger("change");
|
||||
});
|
||||
|
||||
|
||||
$("#id_agents").change(agent_changed_by_multiple_agents);
|
||||
|
||||
|
||||
$("#id_group").change (function () {
|
||||
var $select = $("#id_agents").enable ();
|
||||
$("#agent_loading").show ();
|
||||
$("option", $select).remove ();
|
||||
|
||||
|
||||
jQuery.post ("ajax.php",
|
||||
{"page" : "godmode/massive/massive_add_alerts",
|
||||
"get_agents" : 1,
|
||||
"id_group" : this.value,
|
||||
"recursion" : $("#checkbox-recursion").is(":checked") ? 1 : 0,
|
||||
// Add a key prefix to avoid auto sorting in js object conversion
|
||||
// Add a key prefix to avoid auto sorting in js object conversion.
|
||||
"keys_prefix" : "_"
|
||||
},
|
||||
function (data, status) {
|
||||
options = "";
|
||||
jQuery.each (data, function (id, value) {
|
||||
// Remove keys_prefix from the index
|
||||
// Remove keys_prefix from the index.
|
||||
id = id.substring(1);
|
||||
|
||||
options += "<option value=\""+id+"\">"+value+"</option>";
|
||||
});
|
||||
$("#id_agents").append (options);
|
||||
|
@ -315,40 +330,39 @@ $(document).ready (function () {
|
|||
"json"
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
$("#id_group").value = "0";
|
||||
|
||||
|
||||
$("#id_group").click (
|
||||
function () {
|
||||
$(this).css ("width", "auto");
|
||||
});
|
||||
|
||||
|
||||
$("#id_group").blur (function () {
|
||||
$(this).css ("width", "180px");
|
||||
});
|
||||
|
||||
|
||||
$("#id_agents").click (
|
||||
function () {
|
||||
$(this).css ("width", "auto");
|
||||
});
|
||||
|
||||
|
||||
$("#id_agents").blur (function () {
|
||||
$(this).css ("width", "180px");
|
||||
});
|
||||
|
||||
|
||||
$("#module").click (
|
||||
function () {
|
||||
$(this).css ("width", "auto");
|
||||
});
|
||||
|
||||
|
||||
$("#module").blur (function () {
|
||||
$(this).css ("width", "180px");
|
||||
});
|
||||
|
||||
|
||||
$("#modules_selection_mode").change (function() {
|
||||
$("#id_agents").trigger('change');
|
||||
});
|
||||
|
||||
});
|
||||
/* ]]> */
|
||||
</script>
|
||||
|
|
|
@ -1,17 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Extension to manage a list of gateways and the node address where they should
|
||||
* point to.
|
||||
*
|
||||
* @category Extensions
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2012 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// Load global vars
|
||||
global $config;
|
||||
|
||||
check_login();
|
||||
|
@ -37,13 +52,19 @@ $user_groups_w = array_keys($user_groups_w);
|
|||
$user_groups_r = users_get_groups(false, 'AW', true, false, null, 'id_grupo');
|
||||
$user_groups_r = array_keys($user_groups_r);
|
||||
|
||||
// Headers
|
||||
// ui_print_page_header (__('Manage recontask'), "images/gm_servers.png", false, "", true);
|
||||
ui_print_page_header(__('Manage recontask'), 'images/gm_servers.png', false, '', true, $options);
|
||||
// Headers.
|
||||
ui_print_page_header(
|
||||
__('Manage recontask'),
|
||||
'images/gm_servers.png',
|
||||
false,
|
||||
'',
|
||||
true,
|
||||
$options
|
||||
);
|
||||
|
||||
|
||||
// --------------------------------
|
||||
// DELETE A RECON TASKs
|
||||
// DELETE A RECON TASKs.
|
||||
// --------------------------------
|
||||
if (isset($_GET['delete'])) {
|
||||
$id = get_parameter_get('delete');
|
||||
|
@ -59,11 +80,15 @@ if (isset($_GET['delete'])) {
|
|||
$id = get_parameter_get('id');
|
||||
$disabled = get_parameter_get('disabled');
|
||||
|
||||
$result = db_process_sql_update('trecon_task', ['disabled' => $disabled], ['id_rt' => $id]);
|
||||
$result = db_process_sql_update(
|
||||
'trecon_task',
|
||||
['disabled' => $disabled],
|
||||
['id_rt' => $id]
|
||||
);
|
||||
|
||||
if ($result !== false) {
|
||||
ui_print_success_message(__('Successfully updated recon task'));
|
||||
// If the action is enabled, we force recon_task to be queued asap
|
||||
// If the action is enabled, we force recon_task to be queued asap.
|
||||
if ($disabled == 0) {
|
||||
servers_force_recon_task($id);
|
||||
}
|
||||
|
@ -73,9 +98,9 @@ if (isset($_GET['delete'])) {
|
|||
}
|
||||
|
||||
// --------------------------------
|
||||
// GET PARAMETERS IF UPDATE OR CREATE
|
||||
// GET PARAMETERS IF UPDATE OR CREATE.
|
||||
// --------------------------------
|
||||
if ((isset($_GET['update'])) or ((isset($_GET['create'])))) {
|
||||
if ((isset($_GET['update'])) || ((isset($_GET['create'])))) {
|
||||
$name = get_parameter_post('name');
|
||||
$network = get_parameter_post('network');
|
||||
$description = get_parameter_post('description');
|
||||
|
@ -115,14 +140,16 @@ if ((isset($_GET['update'])) or ((isset($_GET['create'])))) {
|
|||
$alias_as_name = (int) get_parameter('alias_as_name', 0);
|
||||
$snmp_enabled = (int) get_parameter('snmp_enabled', 0);
|
||||
$vlan_enabled = (int) get_parameter('vlan_enabled', 0);
|
||||
// Get macros
|
||||
// Get macros.
|
||||
$macros = (string) get_parameter('macros');
|
||||
|
||||
if (!empty($macros)) {
|
||||
$macros = json_decode(base64_decode($macros), true);
|
||||
|
||||
foreach ($macros as $k => $m) {
|
||||
$macros[$k]['value'] = get_parameter($m['macro'], '');
|
||||
if (isset($macros) === true && is_array($macros) === true) {
|
||||
foreach ($macros as $k => $m) {
|
||||
$macros[$k]['value'] = get_parameter($m['macro'], '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -130,7 +157,7 @@ if ((isset($_GET['update'])) or ((isset($_GET['create'])))) {
|
|||
}
|
||||
|
||||
// --------------------------------
|
||||
// UPDATE A RECON TASK
|
||||
// UPDATE A RECON TASK.
|
||||
// --------------------------------
|
||||
if (isset($_GET['update'])) {
|
||||
$id = get_parameter_get('update');
|
||||
|
@ -193,10 +220,18 @@ if (isset($_GET['update'])) {
|
|||
$reason = __('Wrong format in Subnet field');
|
||||
$result = false;
|
||||
} else {
|
||||
$result = db_process_sql_update('trecon_task', $values, $where);
|
||||
$result = db_process_sql_update(
|
||||
'trecon_task',
|
||||
$values,
|
||||
$where
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$result = db_process_sql_update('trecon_task', $values, $where);
|
||||
$result = db_process_sql_update(
|
||||
'trecon_task',
|
||||
$values,
|
||||
$where
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$result = false;
|
||||
|
@ -314,9 +349,9 @@ if (isset($_GET['create'])) {
|
|||
}
|
||||
|
||||
// --------------------------------
|
||||
// SHOW TABLE WITH ALL RECON TASKs
|
||||
// SHOW TABLE WITH ALL RECON TASKs.
|
||||
// --------------------------------
|
||||
// Pandora Admin must see all columns
|
||||
// Pandora Admin must see all columns.
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
$sql = sprintf(
|
||||
'SELECT *
|
||||
|
@ -377,26 +412,26 @@ if ($result !== false) {
|
|||
|
||||
|
||||
if ($row['id_recon_script'] == 0) {
|
||||
// Network recon task
|
||||
// Network recon task.
|
||||
$data[2] = html_print_image('images/network.png', true, ['title' => __('Network recon task')]).' ';
|
||||
$data[2] .= network_profiles_get_name($row['id_network_profile']);
|
||||
$mode_name = '';
|
||||
} else {
|
||||
// APP recon task
|
||||
// APP recon task.
|
||||
$data[2] = html_print_image('images/plugin.png', true).' ';
|
||||
$mode_name = db_get_sql(sprintf('SELECT name FROM trecon_script WHERE id_recon_script = %d', $row['id_recon_script']));
|
||||
$data[2] .= $mode_name;
|
||||
}
|
||||
|
||||
|
||||
// GROUP
|
||||
// GROUP.
|
||||
if ($row['id_recon_script'] == 0) {
|
||||
$data[3] = ui_print_group_icon($row['id_group'], true);
|
||||
} else {
|
||||
$data[3] = '-';
|
||||
}
|
||||
|
||||
// SNMP VERSION
|
||||
// SNMP VERSION.
|
||||
if ($row['snmp_version'] == '1') {
|
||||
$data[4] = 'v. 1';
|
||||
} else if ($row['snmp_version'] == '2') {
|
||||
|
@ -409,31 +444,31 @@ if ($result !== false) {
|
|||
|
||||
|
||||
|
||||
// INCIDENT
|
||||
// INCIDENT.
|
||||
$data[5] = (($row['create_incident'] == 1) ? __('Yes') : __('No'));
|
||||
|
||||
// OS
|
||||
// OS.
|
||||
if ($row['id_recon_script'] == 0) {
|
||||
$data[6] = (($row['id_os'] > 0) ? ui_print_os_icon($row['id_os'], false, true) : __('Any'));
|
||||
} else {
|
||||
$data[6] = '-';
|
||||
}
|
||||
|
||||
// INTERVAL
|
||||
// INTERVAL.
|
||||
if ($row['interval_sweep'] == 0) {
|
||||
$data[7] = __('Manual');
|
||||
} else {
|
||||
$data[7] = human_time_description_raw($row['interval_sweep']);
|
||||
}
|
||||
|
||||
// PORTS
|
||||
// PORTS.
|
||||
if ($row['id_recon_script'] == 0) {
|
||||
$data[8] = substr($row['recon_ports'], 0, 15);
|
||||
} else {
|
||||
$data[8] = '-';
|
||||
}
|
||||
|
||||
// ACTION
|
||||
// ACTION.
|
||||
$task_group = $row['id_group'];
|
||||
|
||||
if (in_array($task_group, $user_groups_w)) {
|
||||
|
|
|
@ -1,17 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Extension to manage a list of gateways and the node address where they should
|
||||
* point to.
|
||||
*
|
||||
* @category Extensions
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// Load global vars
|
||||
global $config;
|
||||
|
||||
check_login();
|
||||
|
@ -36,7 +51,12 @@ if (is_ajax()) {
|
|||
if ($get_explanation) {
|
||||
$id = (int) get_parameter('id', 0);
|
||||
|
||||
$explanation = db_get_value('description', 'trecon_script', 'id_recon_script', $id);
|
||||
$explanation = db_get_value(
|
||||
'description',
|
||||
'trecon_script',
|
||||
'id_recon_script',
|
||||
$id
|
||||
);
|
||||
|
||||
echo io_safe_output($explanation);
|
||||
|
||||
|
@ -49,17 +69,42 @@ if (is_ajax()) {
|
|||
$id_recon_task = (int) get_parameter('id_rt');
|
||||
|
||||
if (!empty($id_recon_task) && empty($id_recon_script)) {
|
||||
$recon_script_macros = db_get_value('macros', 'trecon_task', 'id_rt', $id_recon_task);
|
||||
$recon_script_macros = db_get_value(
|
||||
'macros',
|
||||
'trecon_task',
|
||||
'id_rt',
|
||||
$id_recon_task
|
||||
);
|
||||
} else if (!empty($id_recon_task)) {
|
||||
$recon_task_id_rs = (int) db_get_value('id_recon_script', 'trecon_task', 'id_rt', $id_recon_task);
|
||||
$recon_task_id_rs = (int) db_get_value(
|
||||
'id_recon_script',
|
||||
'trecon_task',
|
||||
'id_rt',
|
||||
$id_recon_task
|
||||
);
|
||||
|
||||
if ($id_recon_script == $recon_task_id_rs) {
|
||||
$recon_script_macros = db_get_value('macros', 'trecon_task', 'id_rt', $id_recon_task);
|
||||
$recon_script_macros = db_get_value(
|
||||
'macros',
|
||||
'trecon_task',
|
||||
'id_rt',
|
||||
$id_recon_task
|
||||
);
|
||||
} else {
|
||||
$recon_script_macros = db_get_value('macros', 'trecon_script', 'id_recon_script', $id_recon_script);
|
||||
$recon_script_macros = db_get_value(
|
||||
'macros',
|
||||
'trecon_script',
|
||||
'id_recon_script',
|
||||
$id_recon_script
|
||||
);
|
||||
}
|
||||
} else if (!empty($id_recon_script)) {
|
||||
$recon_script_macros = db_get_value('macros', 'trecon_script', 'id_recon_script', $id_recon_script);
|
||||
$recon_script_macros = db_get_value(
|
||||
'macros',
|
||||
'trecon_script',
|
||||
'id_recon_script',
|
||||
$id_recon_script
|
||||
);
|
||||
} else {
|
||||
$recon_script_macros = [];
|
||||
}
|
||||
|
@ -75,7 +120,7 @@ if (is_ajax()) {
|
|||
return;
|
||||
}
|
||||
|
||||
// Edit mode
|
||||
// Edit mode.
|
||||
if (isset($_GET['update']) || (isset($_GET['upd']))) {
|
||||
$update_recon = true;
|
||||
if (isset($_GET['upd'])) {
|
||||
|
@ -174,9 +219,7 @@ if (isset($_GET['update']) || (isset($_GET['upd']))) {
|
|||
$snmp3_security_level = '';
|
||||
$id_network_profile = 0;
|
||||
$id_os = -1;
|
||||
// Any
|
||||
$recon_ports = '';
|
||||
// Any
|
||||
$field1 = '';
|
||||
$field2 = '';
|
||||
$field3 = '';
|
||||
|
@ -200,7 +243,7 @@ if (isset($_GET['update']) || (isset($_GET['upd']))) {
|
|||
}
|
||||
|
||||
if (!$modify) {
|
||||
// Headers
|
||||
// Headers.
|
||||
ui_print_page_header(__('Manage recontask'), '', false, 'recontask', true);
|
||||
}
|
||||
|
||||
|
@ -244,11 +287,11 @@ $table->rowclass[14] = 'recon_script';
|
|||
$table->rowclass[15] = 'recon_script';
|
||||
$table->rowclass[16] = 'recon_script';
|
||||
$table->rowclass[17] = 'recon_script';
|
||||
// Name
|
||||
// Name.
|
||||
$table->data[0][0] = '<b>'.__('Task name').'</b>';
|
||||
$table->data[0][1] = html_print_input_text('name', $name, '', 25, 0, true);
|
||||
|
||||
// Recon server
|
||||
// Recon server.
|
||||
$table->data[1][0] = '<b>'.__('Recon server').ui_print_help_tip(
|
||||
__('You must select a Recon Server for the Task, otherwise the Recon Task will never run'),
|
||||
true
|
||||
|
@ -258,7 +301,15 @@ $sql = 'SELECT id_server, name
|
|||
FROM tserver
|
||||
WHERE server_type = 3
|
||||
ORDER BY name';
|
||||
$table->data[1][1] = html_print_select_from_sql($sql, 'id_recon_server', $id_recon_server, '', '', '', true);
|
||||
$table->data[1][1] = html_print_select_from_sql(
|
||||
$sql,
|
||||
'id_recon_server',
|
||||
$id_recon_server,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
true
|
||||
);
|
||||
|
||||
$fields['network_sweep'] = __('Network sweep');
|
||||
if (!$is_windows) {
|
||||
|
@ -267,44 +318,94 @@ if (!$is_windows) {
|
|||
|
||||
|
||||
$table->data[2][0] = '<b>'.__('Mode').'</b>';
|
||||
$table->data[2][1] = html_print_select($fields, 'mode', $mode, '', '', 0, true);
|
||||
$table->data[2][1] = html_print_select(
|
||||
$fields,
|
||||
'mode',
|
||||
$mode,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
|
||||
// Network
|
||||
// Network.
|
||||
$table->data[3][0] = '<b>'.__('Network').'</b>';
|
||||
$table->data[3][0] .= ui_print_help_tip(__('You can specify several networks, separated by commas, for example: 192.168.50.0/24,192.168.60.0/24'), true);
|
||||
$table->data[3][1] = html_print_input_text('network', $network, '', 25, 0, true);
|
||||
$table->data[3][0] .= ui_print_help_tip(
|
||||
__('You can specify several networks, separated by commas, for example: 192.168.50.0/24,192.168.60.0/24'),
|
||||
true
|
||||
);
|
||||
$table->data[3][1] = html_print_input_text(
|
||||
'network',
|
||||
$network,
|
||||
'',
|
||||
25,
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
// Interval
|
||||
// Interval.
|
||||
$interv_manual = 0;
|
||||
if ((int) $interval == 0) {
|
||||
$interv_manual = 1;
|
||||
}
|
||||
|
||||
$table->data[4][0] = '<b>'.__('Interval');
|
||||
$table->data[4][0] .= ui_print_help_tip(__('Manual interval means that it will be executed only On-demand'), true);
|
||||
$table->data[4][0] .= ui_print_help_tip(
|
||||
__('Manual interval means that it will be executed only On-demand'),
|
||||
true
|
||||
);
|
||||
|
||||
$values = [
|
||||
0 => __('Defined'),
|
||||
1 => __('Manual'),
|
||||
];
|
||||
$table->data[4][1] = html_print_select($values, 'interval_manual_defined', $interv_manual, '', '', '', true);
|
||||
$table->data[4][1] = html_print_select(
|
||||
$values,
|
||||
'interval_manual_defined',
|
||||
$interv_manual,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
true
|
||||
);
|
||||
|
||||
$table->data[4][1] .= '<span id="interval_manual_container">';
|
||||
$table->data[4][1] .= html_print_extended_select_for_time('interval', $interval, '', '', '0', false, true, false, false);
|
||||
$table->data[4][1] .= ui_print_help_tip(__('The minimum recomended interval for Recon Task is 5 minutes'), true);
|
||||
$table->data[4][1] .= html_print_extended_select_for_time(
|
||||
'interval',
|
||||
$interval,
|
||||
'',
|
||||
'',
|
||||
'0',
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false
|
||||
);
|
||||
$table->data[4][1] .= ui_print_help_tip(
|
||||
__('The minimum recomended interval for Recon Task is 5 minutes'),
|
||||
true
|
||||
);
|
||||
$table->data[4][1] .= '</span>';
|
||||
|
||||
|
||||
// Module template
|
||||
// Module template.
|
||||
$table->data[5][0] = '<b>'.__('Module template').'</b>';
|
||||
|
||||
$sql = 'SELECT id_np, name
|
||||
FROM tnetwork_profile
|
||||
ORDER BY name';
|
||||
$table->data[5][1] = html_print_select_from_sql($sql, 'id_network_profile', $id_network_profile, '', __('None'), 0, true);
|
||||
$table->data[5][1] = html_print_select_from_sql(
|
||||
$sql,
|
||||
'id_network_profile',
|
||||
$id_network_profile,
|
||||
'',
|
||||
__('None'),
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
// Recon script
|
||||
// Recon script.
|
||||
$data[1] = '';
|
||||
$table->data[6][0] = '<b>'.__('Recon script').'</b>';
|
||||
|
||||
|
@ -314,35 +415,72 @@ $sql = "SELECT id_recon_script, name
|
|||
WHERE name <> 'IPAM Recon'
|
||||
ORDER BY name";
|
||||
if ($name_script != 'IPAM Recon') {
|
||||
$table->data[6][1] = html_print_select_from_sql($sql, 'id_recon_script', $id_recon_script, '', '', '', true);
|
||||
$table->data[6][1] = html_print_select_from_sql(
|
||||
$sql,
|
||||
'id_recon_script',
|
||||
$id_recon_script,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
true
|
||||
);
|
||||
$table->data[6][1] .= "<span id='spinner_recon_script' style='display: none;'>".html_print_image('images/spinner.gif', true).'</span>';
|
||||
$table->data[6][1] .= $data[1] .= html_print_input_hidden('macros', base64_encode($macros), true);
|
||||
$table->data[6][1] .= $data[1] .= html_print_input_hidden(
|
||||
'macros',
|
||||
base64_encode($macros),
|
||||
true
|
||||
);
|
||||
} else {
|
||||
$table->data[6][1] = 'IPAM Recon';
|
||||
}
|
||||
|
||||
// OS
|
||||
// OS.
|
||||
$table->data[7][0] = '<b>'.__('OS').'</b>';
|
||||
|
||||
$sql = 'SELECT id_os, name
|
||||
FROM tconfig_os
|
||||
ORDER BY name';
|
||||
$table->data[7][1] = html_print_select_from_sql($sql, 'id_os', $id_os, '', __('Any'), -1, true);
|
||||
$table->data[7][1] = html_print_select_from_sql(
|
||||
$sql,
|
||||
'id_os',
|
||||
$id_os,
|
||||
'',
|
||||
__('Any'),
|
||||
-1,
|
||||
true
|
||||
);
|
||||
|
||||
// Recon ports
|
||||
// Recon ports.
|
||||
$table->data[8][0] = '<b>'.__('Ports').'</b>';
|
||||
$table->data[8][1] = html_print_input_text('recon_ports', $recon_ports, '', 25, 0, true);
|
||||
$table->data[8][1] = html_print_input_text(
|
||||
'recon_ports',
|
||||
$recon_ports,
|
||||
'',
|
||||
25,
|
||||
0,
|
||||
true
|
||||
);
|
||||
$table->data[8][1] .= ui_print_help_tip(
|
||||
__('Ports defined like: 80 or 80,443,512 or even 0-1024 (Like Nmap command line format). If dont want to do a sweep using portscan, left it in blank'),
|
||||
true
|
||||
);
|
||||
|
||||
// Group
|
||||
// Group.
|
||||
$table->data[9][0] = '<b>'.__('Group');
|
||||
$groups = users_get_groups(false, 'PM', false);
|
||||
$table->data[9][1] = html_print_select_groups(false, 'PM', false, 'id_group', $id_group, '', '', 0, true);
|
||||
$table->data[9][1] = html_print_select_groups(
|
||||
false,
|
||||
'PM',
|
||||
false,
|
||||
'id_group',
|
||||
$id_group,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
// Incident
|
||||
// Incident.
|
||||
$values = [
|
||||
0 => __('No'),
|
||||
1 => __('Yes'),
|
||||
|
@ -356,24 +494,50 @@ $table->data[10][1] = html_print_select(
|
|||
'',
|
||||
'',
|
||||
true
|
||||
).' '.ui_print_help_tip(__('Choose if the discovery of a new system creates an incident or not.'), true);
|
||||
).' '.ui_print_help_tip(
|
||||
__('Choose if the discovery of a new system creates an incident or not.'),
|
||||
true
|
||||
);
|
||||
|
||||
// snmp_enabled
|
||||
// Snmp_enabled.
|
||||
$table->data[11][0] = '<b>'.__('SNMP enabled');
|
||||
$table->data[11][1] = html_print_checkbox('snmp_enabled', 1, $snmp_enabled, true);
|
||||
$table->data[11][1] = html_print_checkbox(
|
||||
'snmp_enabled',
|
||||
1,
|
||||
$snmp_enabled,
|
||||
true
|
||||
);
|
||||
|
||||
// SNMP default community
|
||||
// SNMP default community.
|
||||
$table->data[12][0] = '<b>'.__('SNMP Default community');
|
||||
$table->data[12][0] .= ui_print_help_tip(__('You can specify several values, separated by commas, for example: public,mysecret,1234'), true);
|
||||
$table->data[12][1] = html_print_input_text('snmp_community', $snmp_community, '', 35, 0, true);
|
||||
$table->data[12][0] .= ui_print_help_tip(
|
||||
__('You can specify several values, separated by commas, for example: public,mysecret,1234'),
|
||||
true
|
||||
);
|
||||
$table->data[12][1] = html_print_input_text(
|
||||
'snmp_community',
|
||||
$snmp_community,
|
||||
'',
|
||||
35,
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
// SNMP version
|
||||
// SNMP version.
|
||||
$snmp_versions['1'] = 'v. 1';
|
||||
$snmp_versions['2'] = 'v. 2';
|
||||
$snmp_versions['2c'] = 'v. 2c';
|
||||
$snmp_versions['3'] = 'v. 3';
|
||||
$table->data[24][0] = '<b>'._('SNMP version');
|
||||
$table->data[24][1] = html_print_select($snmp_versions, 'snmp_version', $snmp_version, '', '', 0, true);
|
||||
$table->data[24][1] = html_print_select(
|
||||
$snmp_versions,
|
||||
'snmp_version',
|
||||
$snmp_version,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
$table->data[25][0] = '<b>'.__('Auth user');
|
||||
$table->data[25][1] = html_print_input_text(
|
||||
|
@ -400,10 +564,30 @@ $table->data[26][1] = html_print_input_password(
|
|||
false,
|
||||
''
|
||||
);
|
||||
$table->data[26][1] .= html_print_input_hidden_extended('active_snmp_v3', 0, 'active_snmp_v3_mmen', true);
|
||||
$table->data[26][1] .= html_print_input_hidden_extended(
|
||||
'active_snmp_v3',
|
||||
0,
|
||||
'active_snmp_v3_mmen',
|
||||
true
|
||||
);
|
||||
|
||||
$table->data[27][0] = '<b>'.__('Privacy method');
|
||||
$table->data[27][1] = html_print_select(['DES' => __('DES'), 'AES' => __('AES')], 'snmp_privacy_method', $snmp3_privacy_method, '', '', '', true, false, false, '', '');
|
||||
$table->data[27][1] = html_print_select(
|
||||
[
|
||||
'DES' => __('DES'),
|
||||
'AES' => __('AES'),
|
||||
],
|
||||
'snmp_privacy_method',
|
||||
$snmp3_privacy_method,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
''
|
||||
);
|
||||
$table->data[28][0] = '<b>'.__('Privacy pass').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
|
||||
$table->data[28][1] = html_print_input_password(
|
||||
'snmp_privacy_pass',
|
||||
|
@ -417,7 +601,22 @@ $table->data[28][1] = html_print_input_password(
|
|||
''
|
||||
);
|
||||
$table->data[29][0] = '<b>'.__('Auth method');
|
||||
$table->data[29][1] = html_print_select(['MD5' => __('MD5'), 'SHA' => __('SHA')], 'snmp_auth_method', $snmp3_auth_method, '', '', '', true, false, false, '', '');
|
||||
$table->data[29][1] = html_print_select(
|
||||
[
|
||||
'MD5' => __('MD5'),
|
||||
'SHA' => __('SHA'),
|
||||
],
|
||||
'snmp_auth_method',
|
||||
$snmp3_auth_method,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
''
|
||||
);
|
||||
$table->data[30][0] = '<b>'.__('Security level');
|
||||
$table->data[30][1] = html_print_select(
|
||||
[
|
||||
|
@ -437,75 +636,139 @@ $table->data[30][1] = html_print_select(
|
|||
''
|
||||
);
|
||||
|
||||
// Explanation
|
||||
$explanation = db_get_value('description', 'trecon_script', 'id_recon_script', $id_recon_script);
|
||||
// Explanation.
|
||||
$explanation = db_get_value(
|
||||
'description',
|
||||
'trecon_script',
|
||||
'id_recon_script',
|
||||
$id_recon_script
|
||||
);
|
||||
|
||||
$table->data[13][0] = '<b>'.__('Explanation').'</b>';
|
||||
$table->data[13][1] = "<span id='spinner_layout' style='display: none;'>".html_print_image('images/spinner.gif', true).'</span>'.html_print_textarea('explanation', 4, 60, $explanation, 'style="width: 388px;"', true);
|
||||
|
||||
// A hidden "model row" to clone it from javascript to add fields dynamicaly
|
||||
// A hidden "model row" to clone it from javascript to add fields dynamicaly.
|
||||
$data = [];
|
||||
$data[0] = 'macro_desc';
|
||||
$data[0] .= ui_print_help_tip('macro_help', true);
|
||||
$data[1] = html_print_input_text('macro_name', 'macro_value', '', 100, 255, true);
|
||||
$data[1] = html_print_input_text(
|
||||
'macro_name',
|
||||
'macro_value',
|
||||
'',
|
||||
100,
|
||||
255,
|
||||
true
|
||||
);
|
||||
$table->colspan['macro_field'][1] = 3;
|
||||
$table->rowstyle['macro_field'] = 'display:none';
|
||||
$table->data['macro_field'] = $data;
|
||||
|
||||
// If there are $macros, we create the form fields
|
||||
// If there are $macros, we create the form fields.
|
||||
if (!empty($macros)) {
|
||||
$macros = json_decode($macros, true);
|
||||
|
||||
foreach ($macros as $k => $m) {
|
||||
$data = [];
|
||||
$data[0] = '<b>'.$m['desc'].'</b>';
|
||||
if (!empty($m['help'])) {
|
||||
$data[0] .= ui_print_help_tip($m['help'], true);
|
||||
if (isset($macros) === true
|
||||
&& is_array($macros) === true
|
||||
) {
|
||||
foreach ($macros as $k => $m) {
|
||||
$data = [];
|
||||
$data[0] = '<b>'.$m['desc'].'</b>';
|
||||
if (!empty($m['help'])) {
|
||||
$data[0] .= ui_print_help_tip($m['help'], true);
|
||||
}
|
||||
|
||||
if ($m['hide']) {
|
||||
$data[1] = html_print_input_password(
|
||||
$m['macro'],
|
||||
$m['value'],
|
||||
'',
|
||||
100,
|
||||
255,
|
||||
true
|
||||
);
|
||||
} else {
|
||||
$data[1] = html_print_input_text(
|
||||
$m['macro'],
|
||||
$m['value'],
|
||||
'',
|
||||
100,
|
||||
255,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
$table->colspan['macro'.$m['macro']][1] = 3;
|
||||
$table->rowclass['macro'.$m['macro']] = 'macro_field';
|
||||
|
||||
$table->data['macro'.$m['macro']] = $data;
|
||||
}
|
||||
|
||||
if ($m['hide']) {
|
||||
$data[1] = html_print_input_password($m['macro'], $m['value'], '', 100, 255, true);
|
||||
} else {
|
||||
$data[1] = html_print_input_text($m['macro'], $m['value'], '', 100, 255, true);
|
||||
}
|
||||
|
||||
$table->colspan['macro'.$m['macro']][1] = 3;
|
||||
$table->rowclass['macro'.$m['macro']] = 'macro_field';
|
||||
|
||||
$table->data['macro'.$m['macro']] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
// Comments
|
||||
// Comments.
|
||||
$table->data[18][0] = '<b>'.__('Comments');
|
||||
$table->data[18][1] = html_print_input_text('description', $description, '', 45, 0, true);
|
||||
$table->data[18][1] = html_print_input_text(
|
||||
'description',
|
||||
$description,
|
||||
'',
|
||||
45,
|
||||
0,
|
||||
true
|
||||
);
|
||||
|
||||
// OS detection
|
||||
// OS detection.
|
||||
$table->data[19][0] = '<b>'.__('OS detection');
|
||||
$table->data[19][1] = html_print_checkbox('os_detect', 1, $os_detect, true);
|
||||
$table->data[19][1] = html_print_checkbox(
|
||||
'os_detect',
|
||||
1,
|
||||
$os_detect,
|
||||
true
|
||||
);
|
||||
|
||||
// Name resolution
|
||||
// Name resolution.
|
||||
$table->data[20][0] = '<b>'.__('Name resolution');
|
||||
$table->data[20][1] = html_print_checkbox('resolve_names', 1, $resolve_names, true);
|
||||
$table->data[20][1] = html_print_checkbox(
|
||||
'resolve_names',
|
||||
1,
|
||||
$resolve_names,
|
||||
true
|
||||
);
|
||||
|
||||
// Parent detection
|
||||
// Parent detection.
|
||||
$table->data[21][0] = '<b>'.__('Parent detection');
|
||||
$table->data[21][1] = html_print_checkbox('parent_detection', 1, $parent_detection, true);
|
||||
$table->data[21][1] = html_print_checkbox(
|
||||
'parent_detection',
|
||||
1,
|
||||
$parent_detection,
|
||||
true
|
||||
);
|
||||
|
||||
// Parent recursion
|
||||
// Parent recursion.
|
||||
$table->data[22][0] = '<b>'.__('Parent recursion');
|
||||
$table->data[22][1] = html_print_input_text('parent_recursion', $parent_recursion, '', 5, 0, true).ui_print_help_tip(__('Maximum number of parent hosts that will be created if parent detection is enabled.'), true);
|
||||
$table->data[22][1] = html_print_input_text(
|
||||
'parent_recursion',
|
||||
$parent_recursion,
|
||||
'',
|
||||
5,
|
||||
0,
|
||||
true
|
||||
).ui_print_help_tip(
|
||||
__('Maximum number of parent hosts that will be created if parent detection is enabled.'),
|
||||
true
|
||||
);
|
||||
|
||||
// vlan_enabled
|
||||
// Vlan_enabled.
|
||||
$table->data[23][0] = '<b>'.__('Vlan enabled');
|
||||
$table->data[23][1] = html_print_checkbox('vlan_enabled', 1, $vlan_enabled, true);
|
||||
$table->data[23][1] = html_print_checkbox(
|
||||
'vlan_enabled',
|
||||
1,
|
||||
$vlan_enabled,
|
||||
true
|
||||
);
|
||||
|
||||
// Alias as name
|
||||
// NOTE: The 7.0NG Recon Server will not generate random names, since IP
|
||||
// address collisions could have other consequences.
|
||||
// $table->data[22][0] = "<b>".__('Alias as Name');
|
||||
// $table->data[22][1] = html_print_checkbox ('alias_as_name', 1, $alias_as_name, true);
|
||||
// Different Form url if it's a create or if it's a update form
|
||||
// Different Form url if it's a create or if it's a update form.
|
||||
echo '<form name="modulo" method="post" action="index.php?sec=gservers&sec2=godmode/servers/manage_recontask&'.(($id_rt != -1) ? 'update='.$id_rt : 'create=1').'">';
|
||||
html_print_table($table);
|
||||
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
||||
|
@ -529,23 +792,23 @@ ui_require_javascript_file('pandora_modules');
|
|||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
$(document).ready (function () {
|
||||
|
||||
|
||||
});
|
||||
|
||||
var xhrManager = function () {
|
||||
var manager = {};
|
||||
|
||||
|
||||
manager.tasks = [];
|
||||
|
||||
|
||||
manager.addTask = function (xhr) {
|
||||
manager.tasks.push(xhr);
|
||||
}
|
||||
|
||||
|
||||
manager.stopTasks = function () {
|
||||
while (manager.tasks.length > 0)
|
||||
manager.tasks.pop().abort();
|
||||
}
|
||||
|
||||
|
||||
return manager;
|
||||
};
|
||||
|
||||
|
@ -591,7 +854,7 @@ $('select#mode').change(function() {
|
|||
if (type == 'recon_script') {
|
||||
$(".recon_script").show();
|
||||
$(".network_sweep").hide();
|
||||
|
||||
|
||||
get_explanation_recon_script($("#id_recon_script").val());
|
||||
}
|
||||
else if (type == 'network_sweep') {
|
||||
|
@ -603,13 +866,13 @@ $('select#mode').change(function() {
|
|||
}).change();
|
||||
|
||||
function get_explanation_recon_script (id) {
|
||||
// Stop old ajax tasks
|
||||
// Stop old ajax tasks.
|
||||
taskManager.stopTasks();
|
||||
|
||||
// Show the spinners
|
||||
|
||||
// Show the spinners.
|
||||
$("#textarea_explanation").hide();
|
||||
$("#spinner_layout").show();
|
||||
|
||||
|
||||
var xhr = jQuery.ajax ({
|
||||
data: {
|
||||
'page': 'godmode/servers/manage_recontask_form',
|
||||
|
@ -632,11 +895,11 @@ function get_explanation_recon_script (id) {
|
|||
}
|
||||
});
|
||||
taskManager.addTask(xhr);
|
||||
|
||||
// Delete all the macro fields
|
||||
|
||||
// Delete all the macro fields.
|
||||
$('.macro_field').remove();
|
||||
$("#spinner_recon_script").show();
|
||||
|
||||
|
||||
var xhr = jQuery.ajax ({
|
||||
data: {
|
||||
'page': 'godmode/servers/manage_recontask_form',
|
||||
|
@ -654,7 +917,7 @@ function get_explanation_recon_script (id) {
|
|||
success: function (data, textStatus, xhr) {
|
||||
if (data.array !== null) {
|
||||
$('#hidden-macros').val(data.base64);
|
||||
|
||||
|
||||
jQuery.each (data.array, function (i, macro) {
|
||||
if (macro.desc != '') {
|
||||
add_macro_field(macro, 'table_recon-macro');
|
||||
|
|
|
@ -2316,9 +2316,8 @@ function events_page_custom_fields($event)
|
|||
{
|
||||
global $config;
|
||||
|
||||
//
|
||||
// Custom fields
|
||||
//
|
||||
// Custom fields.
|
||||
$table = new stdClass;
|
||||
$table->cellspacing = 2;
|
||||
$table->cellpadding = 2;
|
||||
$table->width = '100%';
|
||||
|
@ -2402,9 +2401,8 @@ function events_page_details($event, $server='')
|
|||
$serverstring = '';
|
||||
}
|
||||
|
||||
//
|
||||
// Details
|
||||
//
|
||||
// Details.
|
||||
$table_details = new stdClass;
|
||||
$table_details->width = '100%';
|
||||
$table_details->data = [];
|
||||
$table_details->head = [];
|
||||
|
@ -2773,9 +2771,8 @@ function events_page_general($event)
|
|||
// $group_rep = $event['similar_ids'] == -1 ? 1 : count(explode(',',$event['similar_ids']));
|
||||
global $group_rep;
|
||||
|
||||
//
|
||||
// General
|
||||
//
|
||||
// General.
|
||||
$table_general = new stdClass;
|
||||
$table_general->cellspacing = 2;
|
||||
$table_general->cellpadding = 2;
|
||||
$table_general->width = '100%';
|
||||
|
@ -2926,11 +2923,10 @@ function events_page_general($event)
|
|||
|
||||
function events_page_comments($event, $childrens_ids=[])
|
||||
{
|
||||
//
|
||||
// Comments
|
||||
//
|
||||
// Comments.
|
||||
global $config;
|
||||
|
||||
$table_comments = new stdClass;
|
||||
$table_comments->width = '100%';
|
||||
$table_comments->data = [];
|
||||
$table_comments->head = [];
|
||||
|
@ -2941,13 +2937,15 @@ function events_page_comments($event, $childrens_ids=[])
|
|||
$event_comments = $event['user_comment'];
|
||||
$event_comments = str_replace(["\n", '
'], '<br>', $event_comments);
|
||||
|
||||
// If comments are not stored in json, the format is old
|
||||
// If comments are not stored in json, the format is old.
|
||||
$event_comments_array = json_decode($event_comments, true);
|
||||
|
||||
// Show the comments more recent first
|
||||
$event_comments_array = array_reverse($event_comments_array);
|
||||
// Show the comments more recent first.
|
||||
if (is_array($event_comments_array)) {
|
||||
$event_comments_array = array_reverse($event_comments_array);
|
||||
}
|
||||
|
||||
if (is_null($event_comments_array)) {
|
||||
if ($event_comments_array === true) {
|
||||
$comments_format = 'old';
|
||||
} else {
|
||||
$comments_format = 'new';
|
||||
|
@ -2963,18 +2961,22 @@ function events_page_comments($event, $childrens_ids=[])
|
|||
$table_comments->data[] = $data;
|
||||
}
|
||||
|
||||
foreach ($event_comments_array as $c) {
|
||||
$data[0] = '<b>'.$c['action'].' by '.$c['id_user'].'</b>';
|
||||
$data[0] .= '<br><br><i>'.date($config['date_format'], $c['utimestamp']).'</i>';
|
||||
$data[1] = $c['comment'];
|
||||
$table_comments->data[] = $data;
|
||||
if (isset($event_comments_array) === true
|
||||
&& is_array($event_comments_array) === true
|
||||
) {
|
||||
foreach ($event_comments_array as $c) {
|
||||
$data[0] = '<b>'.$c['action'].' by '.$c['id_user'].'</b>';
|
||||
$data[0] .= '<br><br><i>'.date($config['date_format'], $c['utimestamp']).'</i>';
|
||||
$data[1] = $c['comment'];
|
||||
$table_comments->data[] = $data;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'old':
|
||||
$comments_array = explode('<br>', $event_comments);
|
||||
|
||||
// Split comments and put in table
|
||||
// Split comments and put in table.
|
||||
$col = 0;
|
||||
$data = [];
|
||||
|
||||
|
|
|
@ -1365,117 +1365,137 @@ function clean_duplicate_links($relations)
|
|||
}
|
||||
|
||||
$final_links = [];
|
||||
/*
|
||||
---------------------------------------------------------------- */
|
||||
/*
|
||||
--------------------- Clean duplicate links -------------------- */
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// --------------------- Clean duplicate links --------------------
|
||||
// ----------------------------------------------------------------
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
$index = 0;
|
||||
foreach ($segregation_links['aa'] as $link) {
|
||||
foreach ($segregation_links['aa'] as $link2) {
|
||||
if ($link['id_parent'] == $link2['id_child'] && $link['id_child'] == $link2['id_parent']) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($segregation_links['aa'][$index_to_del]);
|
||||
if (isset($segregation_links['aa']) === true
|
||||
&& is_array($segregation_links['aa']) === true
|
||||
) {
|
||||
foreach ($segregation_links['aa'] as $link) {
|
||||
foreach ($segregation_links['aa'] as $link2) {
|
||||
if ($link['id_parent'] == $link2['id_child']
|
||||
&& $link['id_child'] == $link2['id_parent']
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($segregation_links['aa'][$index_to_del]);
|
||||
}
|
||||
|
||||
unset($segregation_links['aa'][$index_to_del]);
|
||||
}
|
||||
|
||||
unset($segregation_links['aa'][$index_to_del]);
|
||||
$index_to_del++;
|
||||
}
|
||||
|
||||
$index_to_del++;
|
||||
$final_links['aa'][$index] = $link;
|
||||
$index++;
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
}
|
||||
|
||||
$final_links['aa'][$index] = $link;
|
||||
$index++;
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
}
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
$index2 = 0;
|
||||
foreach ($segregation_links['mm'] as $link) {
|
||||
foreach ($segregation_links['mm'] as $link2) {
|
||||
if ($link['id_parent'] == $link2['id_child'] && $link['id_child'] == $link2['id_parent']) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($segregation_links['mm'][$index_to_del]);
|
||||
if (isset($segregation_links['mm']) === true
|
||||
&& is_array($segregation_links['mm']) === true
|
||||
) {
|
||||
foreach ($segregation_links['mm'] as $link) {
|
||||
foreach ($segregation_links['mm'] as $link2) {
|
||||
if ($link['id_parent'] == $link2['id_child']
|
||||
&& $link['id_child'] == $link2['id_parent']
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($segregation_links['mm'][$index_to_del]);
|
||||
}
|
||||
}
|
||||
|
||||
// unset($segregation_links['mm'][$index_to_del]);
|
||||
$index_to_del++;
|
||||
}
|
||||
|
||||
$index_to_del++;
|
||||
$final_links['mm'][$index2] = $link;
|
||||
$index2++;
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
}
|
||||
|
||||
$final_links['mm'][$index2] = $link;
|
||||
$index2++;
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
}
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
$index3 = 0;
|
||||
foreach ($segregation_links['ff'] as $link) {
|
||||
foreach ($segregation_links['ff'] as $link2) {
|
||||
if ($link['id_parent'] == $link2['id_child'] && $link['id_child'] == $link2['id_parent']) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($segregation_links['ff'][$index_to_del]);
|
||||
|
||||
if (isset($segregation_links['ff']) === true
|
||||
&& is_array($segregation_links['ff']) === true
|
||||
) {
|
||||
foreach ($segregation_links['ff'] as $link) {
|
||||
foreach ($segregation_links['ff'] as $link2) {
|
||||
if ($link['id_parent'] == $link2['id_child']
|
||||
&& $link['id_child'] == $link2['id_parent']
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($segregation_links['ff'][$index_to_del]);
|
||||
}
|
||||
|
||||
unset($segregation_links['ff'][$index_to_del]);
|
||||
}
|
||||
|
||||
unset($segregation_links['ff'][$index_to_del]);
|
||||
$index_to_del++;
|
||||
}
|
||||
|
||||
$index_to_del++;
|
||||
$final_links['ff'][$index3] = $link;
|
||||
$index3++;
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
}
|
||||
|
||||
$final_links['ff'][$index3] = $link;
|
||||
$index3++;
|
||||
|
||||
$duplicated = false;
|
||||
$index_to_del = 0;
|
||||
}
|
||||
|
||||
$final_links['am'] = $segregation_links['am'];
|
||||
|
||||
/*
|
||||
---------------------------------------------------------------- */
|
||||
/*
|
||||
----------------- AA, AM and MM links management --------------- */
|
||||
/*
|
||||
------------------ Priority: ----------------------------------- */
|
||||
/*
|
||||
-------------------- 1 -> MM (module - module) ----------------- */
|
||||
/*
|
||||
-------------------- 2 -> AM (agent - module) ------------------ */
|
||||
/*
|
||||
-------------------- 3 -> AA (agent - agent) ------------------- */
|
||||
// ----------------------------------------------------------------
|
||||
----------------------------------------------------------------
|
||||
----------------- AA, AM and MM links management ---------------
|
||||
------------------ Priority: -----------------------------------
|
||||
-------------------- 1 -> MM (module - module) -----------------
|
||||
-------------------- 2 -> AM (agent - module) ------------------
|
||||
-------------------- 3 -> AA (agent - agent) -------------------
|
||||
----------------------------------------------------------------
|
||||
*/
|
||||
|
||||
$final_links2 = [];
|
||||
$index = 0;
|
||||
$l3_link = [];
|
||||
$agent1 = 0;
|
||||
$agent2 = 0;
|
||||
foreach ($final_links['mm'] as $rel_mm) {
|
||||
$module_parent = $rel_mm['id_parent_source_data'];
|
||||
$module_children = $rel_mm['id_child_source_data'];
|
||||
$agent1 = (int) agents_get_agent_id_by_module_id($module_parent);
|
||||
$agent2 = (int) agents_get_agent_id_by_module_id($module_children);
|
||||
foreach ($final_links['aa'] as $key => $rel_aa) {
|
||||
$l3_link = $rel_aa;
|
||||
$id_p_source_data = (int) $rel_aa['id_parent_source_data'];
|
||||
$id_c_source_data = (int) $rel_aa['id_child_source_data'];
|
||||
if ((($id_p_source_data == $agent1) && ($id_c_source_data == $agent2))
|
||||
|| (($id_p_source_data == $agent2) && ($id_c_source_data == $agent1))
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($final_links['aa'][$key]);
|
||||
}
|
||||
|
||||
unset($final_links['aa'][$key]);
|
||||
if (isset($final_links['mm']) === true
|
||||
&& is_array($final_links['mm']) === true
|
||||
) {
|
||||
foreach ($final_links['mm'] as $rel_mm) {
|
||||
$module_parent = $rel_mm['id_parent_source_data'];
|
||||
$module_children = $rel_mm['id_child_source_data'];
|
||||
$agent1 = (int) agents_get_agent_id_by_module_id($module_parent);
|
||||
$agent2 = (int) agents_get_agent_id_by_module_id($module_children);
|
||||
foreach ($final_links['aa'] as $key => $rel_aa) {
|
||||
$l3_link = $rel_aa;
|
||||
$id_p_source_data = (int) $rel_aa['id_parent_source_data'];
|
||||
$id_c_source_data = (int) $rel_aa['id_child_source_data'];
|
||||
if ((($id_p_source_data == $agent1)
|
||||
&& ($id_c_source_data == $agent2))
|
||||
|| (($id_p_source_data == $agent2)
|
||||
&& ($id_c_source_data == $agent1))
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($final_links['aa'][$key]);
|
||||
}
|
||||
|
||||
unset($final_links['aa'][$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1487,14 +1507,18 @@ function clean_duplicate_links($relations)
|
|||
|
||||
$same_m = [];
|
||||
$index = 0;
|
||||
foreach ($final_links2['am'] as $rel_am) {
|
||||
foreach ($final_links2['am'] as $rel_am2) {
|
||||
if (($rel_am['id_child_source_data'] == $rel_am2['id_child_source_data'])
|
||||
&& ($rel_am['id_parent_source_data'] != $rel_am2['id_parent_source_data'])
|
||||
) {
|
||||
$same_m[$index]['rel'] = $rel_am2;
|
||||
$same_m[$index]['agent_parent'] = $rel_am['id_parent_source_data'];
|
||||
$index++;
|
||||
if (isset($final_links2['am']) === true
|
||||
&& is_array($final_links2['am']) === true
|
||||
) {
|
||||
foreach ($final_links2['am'] as $rel_am) {
|
||||
foreach ($final_links2['am'] as $rel_am2) {
|
||||
if (($rel_am['id_child_source_data'] == $rel_am2['id_child_source_data'])
|
||||
&& ($rel_am['id_parent_source_data'] != $rel_am2['id_parent_source_data'])
|
||||
) {
|
||||
$same_m[$index]['rel'] = $rel_am2;
|
||||
$same_m[$index]['agent_parent'] = $rel_am['id_parent_source_data'];
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1503,19 +1527,23 @@ function clean_duplicate_links($relations)
|
|||
$index = 0;
|
||||
$l3_link = [];
|
||||
$have_l3 = false;
|
||||
foreach ($final_links2['aa'] as $key => $rel_aa) {
|
||||
$l3_link = $rel_aa;
|
||||
foreach ($same_m as $rel_am) {
|
||||
if ((($rel_aa['id_parent_source_data'] == $rel_am['parent']['id_parent_source_data'])
|
||||
&& ($rel_aa['id_child_source_data'] == $rel_am['rel']['id_parent_source_data']))
|
||||
|| (($rel_aa['id_child_source_data'] == $rel_am['parent']['id_parent_source_data'])
|
||||
&& ($rel_aa['id_parent_source_data'] == $rel_am['rel']['id_parent_source_data']))
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($final_links2['aa'][$key]);
|
||||
}
|
||||
if (isset($final_links2['aa']) === true
|
||||
&& is_array($final_links2['aa']) === true
|
||||
) {
|
||||
foreach ($final_links2['aa'] as $key => $rel_aa) {
|
||||
$l3_link = $rel_aa;
|
||||
foreach ($same_m as $rel_am) {
|
||||
if ((($rel_aa['id_parent_source_data'] == $rel_am['parent']['id_parent_source_data'])
|
||||
&& ($rel_aa['id_child_source_data'] == $rel_am['rel']['id_parent_source_data']))
|
||||
|| (($rel_aa['id_child_source_data'] == $rel_am['parent']['id_parent_source_data'])
|
||||
&& ($rel_aa['id_parent_source_data'] == $rel_am['rel']['id_parent_source_data']))
|
||||
) {
|
||||
if (enterprise_installed()) {
|
||||
delete_link($final_links2['aa'][$key]);
|
||||
}
|
||||
|
||||
unset($final_links2['aa'][$key]);
|
||||
unset($final_links2['aa'][$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1526,20 +1554,36 @@ function clean_duplicate_links($relations)
|
|||
$final_links3['ff'] = $final_links2['ff'];
|
||||
|
||||
$cleaned_links = [];
|
||||
foreach ($final_links3['aa'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
if (isset($final_links3['aa']) === true
|
||||
&& is_array($final_links3['aa']) === true
|
||||
) {
|
||||
foreach ($final_links3['aa'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($final_links3['am'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
if (isset($final_links3['am']) === true
|
||||
&& is_array($final_links3['am']) === true
|
||||
) {
|
||||
foreach ($final_links3['am'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($final_links3['mm'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
if (isset($final_links3['mm']) === true
|
||||
&& is_array($final_links3['mm']) === true
|
||||
) {
|
||||
foreach ($final_links3['mm'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($final_links3['ff'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
if (isset($final_links3['ff']) === true
|
||||
&& is_array($final_links3['ff']) === true
|
||||
) {
|
||||
foreach ($final_links3['ff'] as $link) {
|
||||
$cleaned_links[] = $link;
|
||||
}
|
||||
}
|
||||
|
||||
return $cleaned_links;
|
||||
|
@ -1677,34 +1721,34 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
stroke: #fff;
|
||||
stroke-width: 1px;
|
||||
}
|
||||
|
||||
|
||||
.node_over {
|
||||
stroke: #999;
|
||||
}
|
||||
|
||||
|
||||
.node_selected {
|
||||
stroke:#343434;
|
||||
stroke-width:5;
|
||||
}
|
||||
|
||||
|
||||
.node_children {
|
||||
stroke: #00f;
|
||||
}
|
||||
|
||||
|
||||
.link {
|
||||
stroke-opacity: .6;
|
||||
}
|
||||
|
||||
|
||||
.link_over {
|
||||
stroke: #000;
|
||||
stroke-opacity: .6;
|
||||
}
|
||||
|
||||
|
||||
.holding_area {
|
||||
stroke: #0f0;
|
||||
stroke-dasharray: 12,3;
|
||||
}
|
||||
|
||||
|
||||
.holding_area_link {
|
||||
stroke-dasharray: 12,3;
|
||||
}
|
||||
|
@ -1730,7 +1774,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
init_drag_and_drop();
|
||||
init_minimap();
|
||||
function_open_minimap();
|
||||
|
||||
|
||||
$(document.body).on("mouseleave",
|
||||
".context-menu-list",
|
||||
function(e) {
|
||||
|
@ -1757,7 +1801,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
<div id="dialog_node_edit" style="display: none;" title="<?php echo __('Edit node'); ?>">
|
||||
<div style="text-align: left; width: 100%;">
|
||||
<?php
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->id = 'node_details';
|
||||
$table->width = '100%';
|
||||
|
||||
|
@ -1778,7 +1822,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
false
|
||||
);
|
||||
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->id = 'interface_information';
|
||||
$table->width = '100%';
|
||||
|
||||
|
@ -1802,7 +1846,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
true
|
||||
);
|
||||
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->id = 'node_options';
|
||||
$table->width = '100%';
|
||||
|
||||
|
@ -1820,7 +1864,24 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
'',
|
||||
0,
|
||||
true
|
||||
).' '.'<span id="shape_icon_in_progress" style="display: none;">'.html_print_image('images/spinner.gif', true).'</span>'.'<span id="shape_icon_correct" style="display: none;">'.html_print_image('images/dot_green.png', true).'</span>'.'<span id="shape_icon_fail" style="display: none;">'.html_print_image('images/dot_red.png', true).'</span>';
|
||||
);
|
||||
$table->data[0][1] .= ' <span id="shape_icon_in_progress" style="display: none;">';
|
||||
$table->data[0][1] .= html_print_image(
|
||||
'images/spinner.gif',
|
||||
true
|
||||
);
|
||||
$table->data[0][1] .= '</span><span id="shape_icon_correct" style="display: none;">';
|
||||
$table->data[0][1] .= html_print_image(
|
||||
'images/dot_green.png',
|
||||
true
|
||||
);
|
||||
$table->data[0][1] .= '</span><span id="shape_icon_fail" style="display: none;">';
|
||||
$table->data[0][1] .= html_print_image(
|
||||
'images/dot_red.png',
|
||||
true
|
||||
);
|
||||
$table->data[0][1] .= '</span>';
|
||||
|
||||
$table->data['node_name'][0] = __('Name');
|
||||
$table->data['node_name'][1] = html_print_input_text(
|
||||
'edit_name_node',
|
||||
|
@ -1875,7 +1936,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
true
|
||||
);
|
||||
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->id = 'relations_table';
|
||||
$table->width = '100%';
|
||||
|
||||
|
@ -1990,7 +2051,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
<div id="dialog_node_add" style="display: none;" title="<?php echo __('Add node'); ?>">
|
||||
<div style="text-align: left; width: 100%;">
|
||||
<?php
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->width = '100%';
|
||||
$table->data = [];
|
||||
|
||||
|
@ -2033,7 +2094,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
false
|
||||
);
|
||||
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->width = '100%';
|
||||
$table->data = [];
|
||||
$table->data[0][0] = __('Group');
|
||||
|
@ -2083,7 +2144,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
true
|
||||
);
|
||||
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->width = '100%';
|
||||
$table->data = [];
|
||||
$table->data[0][0] = __('Name');
|
||||
|
@ -2126,5 +2187,3 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
|
|||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,18 +1,35 @@
|
|||
<?php
|
||||
// ______ __ _______ _______ _______
|
||||
// | __ \.---.-.-----.--| |.-----.----.---.-. | ___| | | __|
|
||||
// | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
// |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
//
|
||||
// ============================================================================
|
||||
// Copyright (c) 2007-2010 Artica Soluciones Tecnologicas, http://www.artica.es
|
||||
// This code is NOT free software. This code is NOT licenced under GPL2 licence
|
||||
// You cannnot redistribute it without written permission of copyright holder.
|
||||
// ============================================================================
|
||||
// Load global variables
|
||||
/**
|
||||
* Extension to manage a list of gateways and the node address where they should
|
||||
* point to.
|
||||
*
|
||||
* @category Extensions
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
global $config;
|
||||
|
||||
// Check user credentials
|
||||
// Check user credentials.
|
||||
check_login();
|
||||
|
||||
$id = (int) get_parameter('id_networkmap', 0);
|
||||
|
@ -63,8 +80,7 @@ if ($edit_networkmap) {
|
|||
} else {
|
||||
$id_group = $values['id_group'];
|
||||
|
||||
// ACL for the network map
|
||||
// $networkmap_read = check_acl ($config['id_user'], $id_group, "MR");
|
||||
// ACL for the network map.
|
||||
$networkmap_write = check_acl($config['id_user'], $id_group, 'MW');
|
||||
$networkmap_manage = check_acl($config['id_user'], $id_group, 'MM');
|
||||
|
||||
|
@ -221,7 +237,7 @@ if (!empty($result)) {
|
|||
if ($not_found) {
|
||||
ui_print_error_message(__('Not found networkmap.'));
|
||||
} else {
|
||||
$table = null;
|
||||
$table = new stdClass();
|
||||
$table->id = 'form_editor';
|
||||
|
||||
$table->width = '98%';
|
||||
|
|
|
@ -1,15 +1,32 @@
|
|||
<?php
|
||||
// ______ __ _______ _______ _______
|
||||
// | __ \.---.-.-----.--| |.-----.----.---.-. | ___| | | __|
|
||||
// | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
// |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
//
|
||||
// ============================================================================
|
||||
// Copyright (c) 2007-2010 Artica Soluciones Tecnologicas, http://www.artica.es
|
||||
// This code is NOT free software. This code is NOT licenced under GPL2 licence
|
||||
// You cannnot redistribute it without written permission of copyright holder.
|
||||
// ============================================================================
|
||||
// Load global variables
|
||||
/**
|
||||
* Extension to manage a list of gateways and the node address where they should
|
||||
* point to.
|
||||
*
|
||||
* @category Extensions
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
global $config;
|
||||
|
||||
require_once 'include/functions_pandora_networkmap.php';
|
||||
|
@ -19,9 +36,9 @@ require_once 'include/functions_modules.php';
|
|||
|
||||
$public_hash = get_parameter('hash', false);
|
||||
|
||||
// Try to authenticate by hash on public dashboards
|
||||
// Try to authenticate by hash on public dashboards.
|
||||
if ($public_hash === false) {
|
||||
// Login check
|
||||
// Login check.
|
||||
check_login();
|
||||
} else {
|
||||
$validate_hash = enterprise_hook(
|
||||
|
@ -33,7 +50,10 @@ if ($public_hash === false) {
|
|||
]
|
||||
);
|
||||
if ($validate_hash === false || $validate_hash === ENTERPRISE_NOT_HOOK) {
|
||||
db_pandora_audit('Invalid public hash', 'Trying to access report builder');
|
||||
db_pandora_audit(
|
||||
'Invalid public hash',
|
||||
'Trying to access report builder'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
|
@ -117,7 +137,7 @@ if (is_ajax()) {
|
|||
);
|
||||
$row['style'] = json_decode($row['style'], true);
|
||||
$row['style']['shape'] = $shape;
|
||||
// WORK AROUND FOR THE JSON ENCODE WITH FOR EXAMPLE Ñ OR Á
|
||||
// WORK AROUND FOR THE JSON ENCODE WITH FOR EXAMPLE Ñ OR Á.
|
||||
$row['style']['label'] = 'json_encode_crash_with_ut8_chars';
|
||||
$row['style']['color'] = $color;
|
||||
$row['style']['networkmap'] = $networkmap;
|
||||
|
@ -215,52 +235,17 @@ if (is_ajax()) {
|
|||
if ($get_tooltip_content) {
|
||||
$id = (int) get_parameter('id', 0);
|
||||
|
||||
// Get all module from agent
|
||||
switch ($config['dbtype']) {
|
||||
case 'mysql':
|
||||
case 'postgresql':
|
||||
$sql = sprintf(
|
||||
'
|
||||
SELECT *
|
||||
FROM tagente_estado, tagente_modulo
|
||||
LEFT JOIN tmodule_group
|
||||
ON tmodule_group.id_mg = tagente_modulo.id_module_group
|
||||
WHERE tagente_modulo.id_agente_modulo = '.$id.'
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.delete_pending = 0
|
||||
AND tagente_estado.utimestamp != 0'
|
||||
);
|
||||
break;
|
||||
|
||||
// If Dbms is Oracle then field_list in sql statement has to be recoded. See oracle_list_all_field_table()
|
||||
case 'oracle':
|
||||
$fields_tagente_estado = oracle_list_all_field_table(
|
||||
'tagente_estado',
|
||||
'string'
|
||||
);
|
||||
$fields_tagente_modulo = oracle_list_all_field_table(
|
||||
'tagente_modulo',
|
||||
'string'
|
||||
);
|
||||
$fields_tmodule_group = oracle_list_all_field_table(
|
||||
'tmodule_group',
|
||||
'string'
|
||||
);
|
||||
|
||||
$sql = sprintf(
|
||||
'
|
||||
SELECT '.$fields_tagente_estado.', '.$fields_tagente_modulo.', '.$fields_tmodule_group.' FROM tagente_estado, tagente_modulo
|
||||
LEFT JOIN tmodule_group
|
||||
ON tmodule_group.id_mg = tagente_modulo.id_module_group
|
||||
WHERE tagente_modulo.id_agente_modulo = '.$id.'
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.delete_pending = 0
|
||||
AND tagente_estado.utimestamp != 0'
|
||||
);
|
||||
break;
|
||||
}
|
||||
$sql = sprintf(
|
||||
'SELECT *
|
||||
FROM tagente_estado, tagente_modulo
|
||||
LEFT JOIN tmodule_group
|
||||
ON tmodule_group.id_mg = tagente_modulo.id_module_group
|
||||
WHERE tagente_modulo.id_agente_modulo = '.$id.'
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.delete_pending = 0
|
||||
AND tagente_estado.utimestamp != 0'
|
||||
);
|
||||
|
||||
$modules = db_get_all_rows_sql($sql);
|
||||
if (empty($modules)) {
|
||||
|
@ -377,7 +362,7 @@ if (is_ajax()) {
|
|||
$return['content'] .= '<b>'.__('Status: ').'</b>'.ui_print_status_image($status, $title, true).'<br />';
|
||||
|
||||
if ($module['id_tipo_modulo'] == 24) {
|
||||
// log4x
|
||||
// Log4x.
|
||||
switch ($module['datos']) {
|
||||
case 10:
|
||||
$salida = 'TRACE';
|
||||
|
@ -410,7 +395,7 @@ if (is_ajax()) {
|
|||
break;
|
||||
}
|
||||
|
||||
$salida = "<span style='$style'>$salida</span>";
|
||||
$salida = "<span style='".$style."'>".$salida.'</span>';
|
||||
} else {
|
||||
if (is_numeric($module['datos'])) {
|
||||
$salida = format_numeric($module['datos']);
|
||||
|
@ -513,7 +498,7 @@ if (is_ajax()) {
|
|||
include_once 'include/functions_agents.php';
|
||||
|
||||
$id = (int) get_parameter('id', 0);
|
||||
// q is what autocomplete plugin gives
|
||||
// Q is what autocomplete plugin gives.
|
||||
$string = (string) get_parameter('q');
|
||||
|
||||
$agents = db_get_all_rows_filter(
|
||||
|
@ -586,8 +571,7 @@ if (is_ajax()) {
|
|||
|
||||
$filter = json_encode($array_filter);
|
||||
|
||||
// ACL for the network map
|
||||
// $networkmap_read = check_acl ($config['id_user'], $networkmap['id_group'], "MR");
|
||||
// ACL for the network map.
|
||||
$networkmap_write = check_acl($config['id_user'], $networkmap['id_group'], 'MW');
|
||||
$networkmap_manage = check_acl($config['id_user'], $networkmap['id_group'], 'MM');
|
||||
|
||||
|
@ -641,7 +625,7 @@ if (is_ajax()) {
|
|||
return;
|
||||
}
|
||||
|
||||
// Popup
|
||||
// Popup.
|
||||
$get_status_node = (bool) get_parameter('get_status_node', false);
|
||||
$get_status_module = (bool) get_parameter(
|
||||
'get_status_module',
|
||||
|
@ -763,13 +747,9 @@ if (is_ajax()) {
|
|||
}
|
||||
|
||||
// --------------END AJAX------------------------------------------------
|
||||
if (_id_ != '_id_') {
|
||||
$id = _id_;
|
||||
} else {
|
||||
$id = (int) get_parameter('id_networkmap', 0);
|
||||
}
|
||||
$id = (int) get_parameter('id_networkmap', 0);
|
||||
|
||||
// Print some params to handle it in js
|
||||
// Print some params to handle it in js.
|
||||
html_print_input_hidden('product_name', get_product_name());
|
||||
html_print_input_hidden('center_logo', ui_get_full_url(ui_get_logo_to_center_networkmap()));
|
||||
|
||||
|
@ -823,7 +803,7 @@ if ($networkmap === false) {
|
|||
|
||||
return;
|
||||
} else {
|
||||
// ACL for the network map
|
||||
// ACL for the network map.
|
||||
$networkmap_read = check_acl($config['id_user'], $networkmap['id_group'], 'MR');
|
||||
$networkmap_write = check_acl($config['id_user'], $networkmap['id_group'], 'MW');
|
||||
$networkmap_manage = check_acl($config['id_user'], $networkmap['id_group'], 'MM');
|
||||
|
@ -841,11 +821,11 @@ if ($networkmap === false) {
|
|||
|
||||
$pure = (int) get_parameter('pure', 0);
|
||||
|
||||
// Main code
|
||||
// Main code.
|
||||
if ($pure == 1) {
|
||||
$buttons['screen'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="index.php?sec=networkmapconsole&'.'sec2=operation/agentes/pandora_networkmap&'.'tab=view&id_networkmap='.$id.'">'.html_print_image(
|
||||
'text' => '<a href="index.php?sec=networkmapconsole&sec2=operation/agentes/pandora_networkmap&tab=view&id_networkmap='.$id.'">'.html_print_image(
|
||||
'images/normal_screen.png',
|
||||
true,
|
||||
['title' => __('Normal screen')]
|
||||
|
@ -855,7 +835,7 @@ if ($networkmap === false) {
|
|||
if (!$dash_mode) {
|
||||
$buttons['screen'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="index.php?sec=networkmapconsole&'.'sec2=operation/agentes/pandora_networkmap&'.'pure=1&tab=view&id_networkmap='.$id.'">'.html_print_image(
|
||||
'text' => '<a href="index.php?sec=networkmapconsole&sec2=operation/agentes/pandora_networkmap&pure=1&tab=view&id_networkmap='.$id.'">'.html_print_image(
|
||||
'images/full_screen.png',
|
||||
true,
|
||||
['title' => __('Full screen')]
|
||||
|
@ -863,7 +843,7 @@ if ($networkmap === false) {
|
|||
];
|
||||
$buttons['list'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="index.php?sec=networkmapconsole&'.'sec2=operation/agentes/pandora_networkmap">'.html_print_image(
|
||||
'text' => '<a href="index.php?sec=networkmapconsole&sec2=operation/agentes/pandora_networkmap">'.html_print_image(
|
||||
'images/list.png',
|
||||
true,
|
||||
['title' => __('List of networkmap')]
|
||||
|
@ -895,23 +875,18 @@ if ($networkmap === false) {
|
|||
<script>
|
||||
$(document).ready(function() {
|
||||
$("*").on("click", function(){
|
||||
if($("[aria-describedby=dialog_node_edit]").css('display') == 'block'){
|
||||
$('#foot').css({'top':parseInt($("[aria-describedby=dialog_node_edit]").css('height')+$("[aria-describedby=dialog_node_edit]").css('top')),'position':'relative'});
|
||||
|
||||
}
|
||||
else{
|
||||
$('#foot').css({'position':'','top':'0'});
|
||||
}
|
||||
|
||||
|
||||
if($("[aria-describedby=dialog_node_edit]").css('display') == 'block'){
|
||||
$('#foot').css({'top':parseInt($("[aria-describedby=dialog_node_edit]").css('height')+$("[aria-describedby=dialog_node_edit]").css('top')),'position':'relative'});
|
||||
}
|
||||
else{
|
||||
$('#foot').css({'position':'','top':'0'});
|
||||
}
|
||||
});
|
||||
|
||||
$("[aria-describedby=dialog_node_edit]").on('dialogclose', function(event) {
|
||||
|
||||
$('#foot').css({'position':'','top':'0'});
|
||||
|
||||
$('#foot').css({'position':'','top':'0'});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue