Merge branch 'ent-3084-Warnings_en_PHP_7' into 'develop'

fixed warnings php

See merge request artica/pandorafms!2197

Former-commit-id: 486796c729a540e5ce75de80914a94dc3c1170ca
This commit is contained in:
Alejandro Fraguas 2019-03-12 13:24:48 +01:00
commit dbf0229ce0
10 changed files with 908 additions and 483 deletions

View File

@ -106,9 +106,11 @@ function get_value_sum($arr)
{ {
foreach ($arr as $clave) { foreach ($arr as $clave) {
foreach ($clave as $valor) { foreach ($clave as $valor) {
if (is_numeric($valor) === true) {
$result += $valor; $result += $valor;
} }
} }
}
return $result; return $result;
} }

View File

@ -1,17 +1,32 @@
<?php <?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; global $config;
check_login(); check_login();
@ -51,15 +66,22 @@ if (is_ajax()) {
} }
if (!is_metaconsole()) { if (!is_metaconsole()) {
// Header // Header.
ui_print_page_header(__('Module groups defined in %s', get_product_name()), 'images/module_group.png', false, '', true, ''); 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'); $create_group = (bool) get_parameter('create_group');
$update_group = (bool) get_parameter('update_group'); $update_group = (bool) get_parameter('update_group');
$delete_group = (bool) get_parameter('delete_group'); $delete_group = (bool) get_parameter('delete_group');
// Create group // Create group.
if ($create_group) { if ($create_group) {
$name = (string) get_parameter('name'); $name = (string) get_parameter('name');
$icon = (string) get_parameter('icon'); $icon = (string) get_parameter('icon');
@ -70,22 +92,29 @@ if ($create_group) {
if ($name) { if ($name) {
if (!$check) { if (!$check) {
$result = db_process_sql_insert('tmodule_group', ['name' => $name]); $result = db_process_sql_insert(
'tmodule_group',
['name' => $name]
);
if ($result) { if ($result) {
ui_print_success_message(__('Group successfully created')); ui_print_success_message(__('Group successfully created'));
} else { } else {
ui_print_error_message(__('There was a problem creating group')); ui_print_error_message(
__('There was a problem creating group')
);
} }
} else { } 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 { } else {
ui_print_error_message(__('Module group must have a name')); ui_print_error_message(__('Module group must have a name'));
} }
} }
// Update group // Update group.
if ($update_group) { if ($update_group) {
$id_group = (int) get_parameter('id_group'); $id_group = (int) get_parameter('id_group');
$name = (string) get_parameter('name'); $name = (string) get_parameter('name');
@ -98,38 +127,79 @@ if ($update_group) {
if ($name) { if ($name) {
if (!$check || $subcheck == $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) { if ($result !== false) {
ui_print_success_message(__('Group successfully updated')); ui_print_success_message(__('Group successfully updated'));
} else { } else {
ui_print_error_message(__('There was a problem modifying group')); ui_print_error_message(
__('There was a problem modifying group')
);
} }
} else { } 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 { } else {
ui_print_error_message(__('Module group must have a name')); ui_print_error_message(__('Module group must have a name'));
} }
} }
// Delete group // Delete group.
if ($delete_group) { if ($delete_group) {
$id_group = (int) get_parameter('id_group'); $id_group = (int) get_parameter('id_group');
$result = db_process_sql_delete('tmodule_group', ['id_mg' => $id_group]); $result = db_process_sql_delete('tmodule_group', ['id_mg' => $id_group]);
if ($result) { if ($result) {
$result = db_process_sql_update('tagente_modulo', ['id_module_group' => 0], ['id_module_group' => $id_group]); $result = db_process_sql_update(
db_process_sql_update('tpolicy_modules', ['id_module_group' => 0], ['id_module_group' => $id_group]); 'tagente_modulo',
db_process_sql_update('tcontainer_item', ['id_module_group' => 0], ['id_module_group' => $id_group]); ['id_module_group' => 0],
db_process_sql_update('tnetwork_component', ['id_module_group' => 0], ['id_module_group' => $id_group]); ['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(
db_process_sql_update('tlocal_component', ['id_module_group' => 0], ['id_module_group' => $id_group]); 'tpolicy_modules',
db_process_sql_update('treport_content_template', ['id_module_group' => 0], ['id_module_group' => $id_group]); ['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) { if ($result !== false) {
$result = true; $result = true;
} }
@ -150,36 +220,15 @@ $offset = (int) get_parameter('offset', 0);
ui_pagination($total_groups, $url, $offset); ui_pagination($total_groups, $url, $offset);
switch ($config['dbtype']) {
case 'mysql': $sql = 'SELECT *
$sql = 'SELECT *
FROM tmodule_group FROM tmodule_group
ORDER BY name ASC ORDER BY name ASC
LIMIT '.$offset.', '.$config['block_size']; 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;
}
$groups = db_get_all_rows_sql($sql); $groups = db_get_all_rows_sql($sql);
$table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox data'; $table->class = 'databox data';
@ -210,11 +259,21 @@ if (!empty($groups)) {
html_print_table($table); html_print_table($table);
} else { } 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 '<form method="post" action="index.php?sec=gmodules&sec2=godmode/groups/configure_modu_group">';
echo '<div class="action-buttons" style="width: '.$table->width.'">'; 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 '</div>';
echo '</form>'; echo '</form>';

View File

@ -1,17 +1,32 @@
<?php <?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(); check_login();
if (! check_acl($config['id_user'], 0, 'AW')) { if (! check_acl($config['id_user'], 0, 'AW')) {
@ -34,7 +49,8 @@ if (is_ajax()) {
if ($get_agents) { if ($get_agents) {
$id_group = (int) get_parameter('id_group', 0); $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', ''); $keys_prefix = (string) get_parameter('keys_prefix', '');
if ($id_group == 0) { if ($id_group == 0) {
@ -62,7 +78,7 @@ if (is_ajax()) {
); );
} }
// Add keys prefix // Add keys prefix.
if ($keys_prefix !== '') { if ($keys_prefix !== '') {
foreach ($agents as $k => $v) { foreach ($agents as $k => $v) {
$agents[$keys_prefix.$k] = $v; $agents[$keys_prefix.$k] = $v;
@ -148,6 +164,7 @@ if (!$own_info['is_admin'] && !check_acl($config['id_user'], 0, 'AW')) {
$return_all_group = true; $return_all_group = true;
} }
$table = new stdClass();
$table->id = 'add_table'; $table->id = 'add_table';
$table->class = 'databox filters'; $table->class = 'databox filters';
$table->width = '100%'; $table->width = '100%';
@ -251,10 +268,10 @@ html_print_submit_button(__('Add'), 'go', false, 'class="sub add"');
echo '</div>'; echo '</div>';
echo '</form>'; echo '</form>';
// TODO: Change to iu_print_error system // TODO: Change to iu_print_error system.
echo '<h3 class="error invisible" id="message"> </h3>'; 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>'; echo '<span id ="none_text" style="display: none;">'.__('None').'</span>';
ui_require_jquery_file('form'); ui_require_jquery_file('form');
@ -280,7 +297,6 @@ $(document).ready (function () {
} }
}); });
$("#checkbox-recursion").click(function () { $("#checkbox-recursion").click(function () {
$("#id_group").trigger("change"); $("#id_group").trigger("change");
}); });
@ -297,15 +313,14 @@ $(document).ready (function () {
"get_agents" : 1, "get_agents" : 1,
"id_group" : this.value, "id_group" : this.value,
"recursion" : $("#checkbox-recursion").is(":checked") ? 1 : 0, "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" : "_" "keys_prefix" : "_"
}, },
function (data, status) { function (data, status) {
options = ""; options = "";
jQuery.each (data, function (id, value) { jQuery.each (data, function (id, value) {
// Remove keys_prefix from the index // Remove keys_prefix from the index.
id = id.substring(1); id = id.substring(1);
options += "<option value=\""+id+"\">"+value+"</option>"; options += "<option value=\""+id+"\">"+value+"</option>";
}); });
$("#id_agents").append (options); $("#id_agents").append (options);
@ -348,7 +363,6 @@ $(document).ready (function () {
$("#modules_selection_mode").change (function() { $("#modules_selection_mode").change (function() {
$("#id_agents").trigger('change'); $("#id_agents").trigger('change');
}); });
}); });
/* ]]> */ /* ]]> */
</script> </script>

View File

@ -1,17 +1,32 @@
<?php <?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; global $config;
check_login(); 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 = users_get_groups(false, 'AW', true, false, null, 'id_grupo');
$user_groups_r = array_keys($user_groups_r); $user_groups_r = array_keys($user_groups_r);
// Headers // Headers.
// ui_print_page_header (__('Manage recontask'), "images/gm_servers.png", false, "", true); ui_print_page_header(
ui_print_page_header(__('Manage recontask'), 'images/gm_servers.png', false, '', true, $options); __('Manage recontask'),
'images/gm_servers.png',
false,
'',
true,
$options
);
// -------------------------------- // --------------------------------
// DELETE A RECON TASKs // DELETE A RECON TASKs.
// -------------------------------- // --------------------------------
if (isset($_GET['delete'])) { if (isset($_GET['delete'])) {
$id = get_parameter_get('delete'); $id = get_parameter_get('delete');
@ -59,11 +80,15 @@ if (isset($_GET['delete'])) {
$id = get_parameter_get('id'); $id = get_parameter_get('id');
$disabled = get_parameter_get('disabled'); $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) { if ($result !== false) {
ui_print_success_message(__('Successfully updated recon task')); 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) { if ($disabled == 0) {
servers_force_recon_task($id); 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'); $name = get_parameter_post('name');
$network = get_parameter_post('network'); $network = get_parameter_post('network');
$description = get_parameter_post('description'); $description = get_parameter_post('description');
@ -115,22 +140,24 @@ if ((isset($_GET['update'])) or ((isset($_GET['create'])))) {
$alias_as_name = (int) get_parameter('alias_as_name', 0); $alias_as_name = (int) get_parameter('alias_as_name', 0);
$snmp_enabled = (int) get_parameter('snmp_enabled', 0); $snmp_enabled = (int) get_parameter('snmp_enabled', 0);
$vlan_enabled = (int) get_parameter('vlan_enabled', 0); $vlan_enabled = (int) get_parameter('vlan_enabled', 0);
// Get macros // Get macros.
$macros = (string) get_parameter('macros'); $macros = (string) get_parameter('macros');
if (!empty($macros)) { if (!empty($macros)) {
$macros = json_decode(base64_decode($macros), true); $macros = json_decode(base64_decode($macros), true);
if (isset($macros) === true && is_array($macros) === true) {
foreach ($macros as $k => $m) { foreach ($macros as $k => $m) {
$macros[$k]['value'] = get_parameter($m['macro'], ''); $macros[$k]['value'] = get_parameter($m['macro'], '');
} }
} }
}
$macros = io_json_mb_encode($macros); $macros = io_json_mb_encode($macros);
} }
// -------------------------------- // --------------------------------
// UPDATE A RECON TASK // UPDATE A RECON TASK.
// -------------------------------- // --------------------------------
if (isset($_GET['update'])) { if (isset($_GET['update'])) {
$id = get_parameter_get('update'); $id = get_parameter_get('update');
@ -193,10 +220,18 @@ if (isset($_GET['update'])) {
$reason = __('Wrong format in Subnet field'); $reason = __('Wrong format in Subnet field');
$result = false; $result = false;
} else { } else {
$result = db_process_sql_update('trecon_task', $values, $where); $result = db_process_sql_update(
'trecon_task',
$values,
$where
);
} }
} else { } else {
$result = db_process_sql_update('trecon_task', $values, $where); $result = db_process_sql_update(
'trecon_task',
$values,
$where
);
} }
} else { } else {
$result = false; $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')) { if (! check_acl($config['id_user'], 0, 'PM')) {
$sql = sprintf( $sql = sprintf(
'SELECT * 'SELECT *
@ -377,26 +412,26 @@ if ($result !== false) {
if ($row['id_recon_script'] == 0) { 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')]).'&nbsp;&nbsp;'; $data[2] = html_print_image('images/network.png', true, ['title' => __('Network recon task')]).'&nbsp;&nbsp;';
$data[2] .= network_profiles_get_name($row['id_network_profile']); $data[2] .= network_profiles_get_name($row['id_network_profile']);
$mode_name = ''; $mode_name = '';
} else { } else {
// APP recon task // APP recon task.
$data[2] = html_print_image('images/plugin.png', true).'&nbsp;&nbsp;'; $data[2] = html_print_image('images/plugin.png', true).'&nbsp;&nbsp;';
$mode_name = db_get_sql(sprintf('SELECT name FROM trecon_script WHERE id_recon_script = %d', $row['id_recon_script'])); $mode_name = db_get_sql(sprintf('SELECT name FROM trecon_script WHERE id_recon_script = %d', $row['id_recon_script']));
$data[2] .= $mode_name; $data[2] .= $mode_name;
} }
// GROUP // GROUP.
if ($row['id_recon_script'] == 0) { if ($row['id_recon_script'] == 0) {
$data[3] = ui_print_group_icon($row['id_group'], true); $data[3] = ui_print_group_icon($row['id_group'], true);
} else { } else {
$data[3] = '-'; $data[3] = '-';
} }
// SNMP VERSION // SNMP VERSION.
if ($row['snmp_version'] == '1') { if ($row['snmp_version'] == '1') {
$data[4] = 'v. 1'; $data[4] = 'v. 1';
} else if ($row['snmp_version'] == '2') { } else if ($row['snmp_version'] == '2') {
@ -409,31 +444,31 @@ if ($result !== false) {
// INCIDENT // INCIDENT.
$data[5] = (($row['create_incident'] == 1) ? __('Yes') : __('No')); $data[5] = (($row['create_incident'] == 1) ? __('Yes') : __('No'));
// OS // OS.
if ($row['id_recon_script'] == 0) { if ($row['id_recon_script'] == 0) {
$data[6] = (($row['id_os'] > 0) ? ui_print_os_icon($row['id_os'], false, true) : __('Any')); $data[6] = (($row['id_os'] > 0) ? ui_print_os_icon($row['id_os'], false, true) : __('Any'));
} else { } else {
$data[6] = '-'; $data[6] = '-';
} }
// INTERVAL // INTERVAL.
if ($row['interval_sweep'] == 0) { if ($row['interval_sweep'] == 0) {
$data[7] = __('Manual'); $data[7] = __('Manual');
} else { } else {
$data[7] = human_time_description_raw($row['interval_sweep']); $data[7] = human_time_description_raw($row['interval_sweep']);
} }
// PORTS // PORTS.
if ($row['id_recon_script'] == 0) { if ($row['id_recon_script'] == 0) {
$data[8] = substr($row['recon_ports'], 0, 15); $data[8] = substr($row['recon_ports'], 0, 15);
} else { } else {
$data[8] = '-'; $data[8] = '-';
} }
// ACTION // ACTION.
$task_group = $row['id_group']; $task_group = $row['id_group'];
if (in_array($task_group, $user_groups_w)) { if (in_array($task_group, $user_groups_w)) {

View File

@ -1,17 +1,32 @@
<?php <?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; global $config;
check_login(); check_login();
@ -36,7 +51,12 @@ if (is_ajax()) {
if ($get_explanation) { if ($get_explanation) {
$id = (int) get_parameter('id', 0); $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); echo io_safe_output($explanation);
@ -49,17 +69,42 @@ if (is_ajax()) {
$id_recon_task = (int) get_parameter('id_rt'); $id_recon_task = (int) get_parameter('id_rt');
if (!empty($id_recon_task) && empty($id_recon_script)) { 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)) { } 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) { 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 { } 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)) { } 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 { } else {
$recon_script_macros = []; $recon_script_macros = [];
} }
@ -75,7 +120,7 @@ if (is_ajax()) {
return; return;
} }
// Edit mode // Edit mode.
if (isset($_GET['update']) || (isset($_GET['upd']))) { if (isset($_GET['update']) || (isset($_GET['upd']))) {
$update_recon = true; $update_recon = true;
if (isset($_GET['upd'])) { if (isset($_GET['upd'])) {
@ -174,9 +219,7 @@ if (isset($_GET['update']) || (isset($_GET['upd']))) {
$snmp3_security_level = ''; $snmp3_security_level = '';
$id_network_profile = 0; $id_network_profile = 0;
$id_os = -1; $id_os = -1;
// Any
$recon_ports = ''; $recon_ports = '';
// Any
$field1 = ''; $field1 = '';
$field2 = ''; $field2 = '';
$field3 = ''; $field3 = '';
@ -200,7 +243,7 @@ if (isset($_GET['update']) || (isset($_GET['upd']))) {
} }
if (!$modify) { if (!$modify) {
// Headers // Headers.
ui_print_page_header(__('Manage recontask'), '', false, 'recontask', true); 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[15] = 'recon_script';
$table->rowclass[16] = 'recon_script'; $table->rowclass[16] = 'recon_script';
$table->rowclass[17] = 'recon_script'; $table->rowclass[17] = 'recon_script';
// Name // Name.
$table->data[0][0] = '<b>'.__('Task name').'</b>'; $table->data[0][0] = '<b>'.__('Task name').'</b>';
$table->data[0][1] = html_print_input_text('name', $name, '', 25, 0, true); $table->data[0][1] = html_print_input_text('name', $name, '', 25, 0, true);
// Discovery server // Discovery server.
$table->data[1][0] = '<b>'.__('Discovery server').ui_print_help_tip( $table->data[1][0] = '<b>'.__('Discovery server').ui_print_help_tip(
__('You must select a Discovery Server to run the Task, otherwise the Recon Task will never run'), __('You must select a Discovery Server to run the Task, otherwise the Recon Task will never run'),
true true
@ -258,7 +301,15 @@ $sql = 'SELECT id_server, name
FROM tserver FROM tserver
WHERE server_type = 3 WHERE server_type = 3
ORDER BY name'; 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'); $fields['network_sweep'] = __('Network sweep');
if (!$is_windows) { if (!$is_windows) {
@ -267,44 +318,94 @@ if (!$is_windows) {
$table->data[2][0] = '<b>'.__('Mode').'</b>'; $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] = '<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][0] .= ui_print_help_tip(
$table->data[3][1] = html_print_input_text('network', $network, '', 25, 0, true); __('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; $interv_manual = 0;
if ((int) $interval == 0) { if ((int) $interval == 0) {
$interv_manual = 1; $interv_manual = 1;
} }
$table->data[4][0] = '<b>'.__('Interval'); $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 = [ $values = [
0 => __('Defined'), 0 => __('Defined'),
1 => __('Manual'), 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] .= '<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] .= html_print_extended_select_for_time(
$table->data[4][1] .= ui_print_help_tip(__('The minimum recomended interval for Recon Task is 5 minutes'), true); '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>'; $table->data[4][1] .= '</span>';
// Module template // Module template.
$table->data[5][0] = '<b>'.__('Module template').'</b>'; $table->data[5][0] = '<b>'.__('Module template').'</b>';
$sql = 'SELECT id_np, name $sql = 'SELECT id_np, name
FROM tnetwork_profile FROM tnetwork_profile
ORDER BY name'; 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] = ''; $data[1] = '';
$table->data[6][0] = '<b>'.__('Recon script').'</b>'; $table->data[6][0] = '<b>'.__('Recon script').'</b>';
@ -314,35 +415,72 @@ $sql = "SELECT id_recon_script, name
WHERE name <> 'IPAM Recon' WHERE name <> 'IPAM Recon'
ORDER BY name"; ORDER BY name";
if ($name_script != 'IPAM Recon') { 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] .= "<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 { } else {
$table->data[6][1] = 'IPAM Recon'; $table->data[6][1] = 'IPAM Recon';
} }
// OS // OS.
$table->data[7][0] = '<b>'.__('OS').'</b>'; $table->data[7][0] = '<b>'.__('OS').'</b>';
$sql = 'SELECT id_os, name $sql = 'SELECT id_os, name
FROM tconfig_os FROM tconfig_os
ORDER BY name'; 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][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( $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'), __('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 true
); );
// Group // Group.
$table->data[9][0] = '<b>'.__('Group'); $table->data[9][0] = '<b>'.__('Group');
$groups = users_get_groups(false, 'PM', false); $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 = [ $values = [
0 => __('No'), 0 => __('No'),
1 => __('Yes'), 1 => __('Yes'),
@ -356,24 +494,50 @@ $table->data[10][1] = html_print_select(
'', '',
'', '',
true 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][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] = '<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][0] .= ui_print_help_tip(
$table->data[12][1] = html_print_input_text('snmp_community', $snmp_community, '', 35, 0, true); __('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['1'] = 'v. 1';
$snmp_versions['2'] = 'v. 2'; $snmp_versions['2'] = 'v. 2';
$snmp_versions['2c'] = 'v. 2c'; $snmp_versions['2c'] = 'v. 2c';
$snmp_versions['3'] = 'v. 3'; $snmp_versions['3'] = 'v. 3';
$table->data[24][0] = '<b>'._('SNMP version'); $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][0] = '<b>'.__('Auth user');
$table->data[25][1] = html_print_input_text( $table->data[25][1] = html_print_input_text(
@ -400,10 +564,30 @@ $table->data[26][1] = html_print_input_password(
false, 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][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][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( $table->data[28][1] = html_print_input_password(
'snmp_privacy_pass', '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][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][0] = '<b>'.__('Security level');
$table->data[30][1] = html_print_select( $table->data[30][1] = html_print_select(
[ [
@ -437,25 +636,40 @@ $table->data[30][1] = html_print_select(
'' ''
); );
// Explanation // Explanation.
$explanation = db_get_value('description', 'trecon_script', 'id_recon_script', $id_recon_script); $explanation = db_get_value(
'description',
'trecon_script',
'id_recon_script',
$id_recon_script
);
$table->data[13][0] = '<b>'.__('Explanation').'</b>'; $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); $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 = [];
$data[0] = 'macro_desc'; $data[0] = 'macro_desc';
$data[0] .= ui_print_help_tip('macro_help', true); $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->colspan['macro_field'][1] = 3;
$table->rowstyle['macro_field'] = 'display:none'; $table->rowstyle['macro_field'] = 'display:none';
$table->data['macro_field'] = $data; $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)) { if (!empty($macros)) {
$macros = json_decode($macros, true); $macros = json_decode($macros, true);
if (isset($macros) === true
&& is_array($macros) === true
) {
foreach ($macros as $k => $m) { foreach ($macros as $k => $m) {
$data = []; $data = [];
$data[0] = '<b>'.$m['desc'].'</b>'; $data[0] = '<b>'.$m['desc'].'</b>';
@ -464,9 +678,23 @@ if (!empty($macros)) {
} }
if ($m['hide']) { if ($m['hide']) {
$data[1] = html_print_input_password($m['macro'], $m['value'], '', 100, 255, true); $data[1] = html_print_input_password(
$m['macro'],
$m['value'],
'',
100,
255,
true
);
} else { } else {
$data[1] = html_print_input_text($m['macro'], $m['value'], '', 100, 255, true); $data[1] = html_print_input_text(
$m['macro'],
$m['value'],
'',
100,
255,
true
);
} }
$table->colspan['macro'.$m['macro']][1] = 3; $table->colspan['macro'.$m['macro']][1] = 3;
@ -474,38 +702,73 @@ if (!empty($macros)) {
$table->data['macro'.$m['macro']] = $data; $table->data['macro'.$m['macro']] = $data;
} }
}
} }
// Comments // Comments.
$table->data[18][0] = '<b>'.__('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][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][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][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][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][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 // NOTE: The 7.0NG Recon Server will not generate random names, since IP
// address collisions could have other consequences. // address collisions could have other consequences.
// $table->data[22][0] = "<b>".__('Alias as Name'); // Different Form url if it's a create or if it's a update form.
// $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
echo '<form name="modulo" method="post" action="index.php?sec=gservers&sec2=godmode/servers/manage_recontask&'.(($id_rt != -1) ? 'update='.$id_rt : 'create=1').'">'; 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); html_print_table($table);
echo '<div class="action-buttons" style="width: '.$table->width.'">'; echo '<div class="action-buttons" style="width: '.$table->width.'">';
@ -603,10 +866,10 @@ $('select#mode').change(function() {
}).change(); }).change();
function get_explanation_recon_script (id) { function get_explanation_recon_script (id) {
// Stop old ajax tasks // Stop old ajax tasks.
taskManager.stopTasks(); taskManager.stopTasks();
// Show the spinners // Show the spinners.
$("#textarea_explanation").hide(); $("#textarea_explanation").hide();
$("#spinner_layout").show(); $("#spinner_layout").show();
@ -633,7 +896,7 @@ function get_explanation_recon_script (id) {
}); });
taskManager.addTask(xhr); taskManager.addTask(xhr);
// Delete all the macro fields // Delete all the macro fields.
$('.macro_field').remove(); $('.macro_field').remove();
$("#spinner_recon_script").show(); $("#spinner_recon_script").show();

View File

@ -26,7 +26,7 @@
* ============================================================================ * ============================================================================
*/ */
require_once $config['homedir'].'/include/functions_ui.php'; require_once $config['homedir'].'/include/functions_ui.php';
require_once $config['homedir'].'/include/functions_tags.php'; require_once $config['homedir'].'/include/functions_tags.php';
require_once $config['homedir'].'/include/functions.php'; require_once $config['homedir'].'/include/functions.php';
enterprise_include_once('meta/include/functions_events_meta.php'); enterprise_include_once('meta/include/functions_events_meta.php');
@ -2513,9 +2513,8 @@ function events_page_custom_fields($event)
{ {
global $config; global $config;
//
// Custom fields. // Custom fields.
// $table = new stdClass;
$table->cellspacing = 2; $table->cellspacing = 2;
$table->cellpadding = 2; $table->cellpadding = 2;
$table->width = '100%'; $table->width = '100%';
@ -2666,9 +2665,8 @@ function events_page_details($event, $server='')
$serverstring = ''; $serverstring = '';
} }
//
// Details. // Details.
// $table_details = new stdClass;
$table_details->width = '100%'; $table_details->width = '100%';
$table_details->data = []; $table_details->data = [];
$table_details->head = []; $table_details->head = [];
@ -3136,9 +3134,8 @@ function events_page_general($event)
global $group_rep; global $group_rep;
//
// General. // General.
// $table_general = new stdClass;
$table_general->cellspacing = 2; $table_general->cellspacing = 2;
$table_general->cellpadding = 2; $table_general->cellpadding = 2;
$table_general->width = '100%'; $table_general->width = '100%';
@ -3300,11 +3297,10 @@ function events_page_general($event)
*/ */
function events_page_comments($event, $childrens_ids=[]) function events_page_comments($event, $childrens_ids=[])
{ {
//
// Comments. // Comments.
//
global $config; global $config;
$table_comments = new stdClass;
$table_comments->width = '100%'; $table_comments->width = '100%';
$table_comments->data = []; $table_comments->data = [];
$table_comments->head = []; $table_comments->head = [];
@ -3319,7 +3315,9 @@ function events_page_comments($event, $childrens_ids=[])
$event_comments_array = json_decode($event_comments, true); $event_comments_array = json_decode($event_comments, true);
// Show the comments more recent first. // Show the comments more recent first.
if (is_array($event_comments_array)) {
$event_comments_array = array_reverse($event_comments_array); $event_comments_array = array_reverse($event_comments_array);
}
if (empty($event_comments_array)) { if (empty($event_comments_array)) {
$comments_format = 'old'; $comments_format = 'old';
@ -3337,12 +3335,16 @@ function events_page_comments($event, $childrens_ids=[])
$table_comments->data[] = $data; $table_comments->data[] = $data;
} }
if (isset($event_comments_array) === true
&& is_array($event_comments_array) === true
) {
foreach ($event_comments_array as $c) { foreach ($event_comments_array as $c) {
$data[0] = '<b>'.$c['action'].' by '.$c['id_user'].'</b>'; $data[0] = '<b>'.$c['action'].' by '.$c['id_user'].'</b>';
$data[0] .= '<br><br><i>'.date($config['date_format'], $c['utimestamp']).'</i>'; $data[0] .= '<br><br><i>'.date($config['date_format'], $c['utimestamp']).'</i>';
$data[1] = $c['comment']; $data[1] = $c['comment'];
$table_comments->data[] = $data; $table_comments->data[] = $data;
} }
}
break; break;
case 'old': case 'old':

View File

@ -1365,17 +1365,21 @@ function clean_duplicate_links($relations)
} }
$final_links = []; $final_links = [];
/*
---------------------------------------------------------------- */ // ----------------------------------------------------------------
/* // --------------------- Clean duplicate links --------------------
--------------------- Clean duplicate links -------------------- */
// ---------------------------------------------------------------- // ----------------------------------------------------------------
$duplicated = false; $duplicated = false;
$index_to_del = 0; $index_to_del = 0;
$index = 0; $index = 0;
if (isset($segregation_links['aa']) === true
&& is_array($segregation_links['aa']) === true
) {
foreach ($segregation_links['aa'] as $link) { foreach ($segregation_links['aa'] as $link) {
foreach ($segregation_links['aa'] as $link2) { foreach ($segregation_links['aa'] as $link2) {
if ($link['id_parent'] == $link2['id_child'] && $link['id_child'] == $link2['id_parent']) { if ($link['id_parent'] == $link2['id_child']
&& $link['id_child'] == $link2['id_parent']
) {
if (enterprise_installed()) { if (enterprise_installed()) {
delete_link($segregation_links['aa'][$index_to_del]); delete_link($segregation_links['aa'][$index_to_del]);
} }
@ -1392,18 +1396,22 @@ function clean_duplicate_links($relations)
$duplicated = false; $duplicated = false;
$index_to_del = 0; $index_to_del = 0;
} }
}
$duplicated = false; $duplicated = false;
$index_to_del = 0; $index_to_del = 0;
$index2 = 0; $index2 = 0;
if (isset($segregation_links['mm']) === true
&& is_array($segregation_links['mm']) === true
) {
foreach ($segregation_links['mm'] as $link) { foreach ($segregation_links['mm'] as $link) {
foreach ($segregation_links['mm'] as $link2) { foreach ($segregation_links['mm'] as $link2) {
if ($link['id_parent'] == $link2['id_child'] && $link['id_child'] == $link2['id_parent']) { if ($link['id_parent'] == $link2['id_child']
&& $link['id_child'] == $link2['id_parent']
) {
if (enterprise_installed()) { if (enterprise_installed()) {
delete_link($segregation_links['mm'][$index_to_del]); delete_link($segregation_links['mm'][$index_to_del]);
} }
// unset($segregation_links['mm'][$index_to_del]);
} }
$index_to_del++; $index_to_del++;
@ -1415,13 +1423,20 @@ function clean_duplicate_links($relations)
$duplicated = false; $duplicated = false;
$index_to_del = 0; $index_to_del = 0;
} }
}
$duplicated = false; $duplicated = false;
$index_to_del = 0; $index_to_del = 0;
$index3 = 0; $index3 = 0;
if (isset($segregation_links['ff']) === true
&& is_array($segregation_links['ff']) === true
) {
foreach ($segregation_links['ff'] as $link) { foreach ($segregation_links['ff'] as $link) {
foreach ($segregation_links['ff'] as $link2) { foreach ($segregation_links['ff'] as $link2) {
if ($link['id_parent'] == $link2['id_child'] && $link['id_child'] == $link2['id_parent']) { if ($link['id_parent'] == $link2['id_child']
&& $link['id_child'] == $link2['id_parent']
) {
if (enterprise_installed()) { if (enterprise_installed()) {
delete_link($segregation_links['ff'][$index_to_del]); delete_link($segregation_links['ff'][$index_to_del]);
} }
@ -1438,27 +1453,29 @@ function clean_duplicate_links($relations)
$duplicated = false; $duplicated = false;
$index_to_del = 0; $index_to_del = 0;
} }
}
$final_links['am'] = $segregation_links['am']; $final_links['am'] = $segregation_links['am'];
/* /*
---------------------------------------------------------------- */ ----------------------------------------------------------------
/* ----------------- AA, AM and MM links management ---------------
----------------- AA, AM and MM links management --------------- */ ------------------ Priority: -----------------------------------
/* -------------------- 1 -> MM (module - module) -----------------
------------------ Priority: ----------------------------------- */ -------------------- 2 -> AM (agent - module) ------------------
/* -------------------- 3 -> AA (agent - agent) -------------------
-------------------- 1 -> MM (module - module) ----------------- */ ----------------------------------------------------------------
/* */
-------------------- 2 -> AM (agent - module) ------------------ */
/*
-------------------- 3 -> AA (agent - agent) ------------------- */
// ----------------------------------------------------------------
$final_links2 = []; $final_links2 = [];
$index = 0; $index = 0;
$l3_link = []; $l3_link = [];
$agent1 = 0; $agent1 = 0;
$agent2 = 0; $agent2 = 0;
if (isset($final_links['mm']) === true
&& is_array($final_links['mm']) === true
) {
foreach ($final_links['mm'] as $rel_mm) { foreach ($final_links['mm'] as $rel_mm) {
$module_parent = $rel_mm['id_parent_source_data']; $module_parent = $rel_mm['id_parent_source_data'];
$module_children = $rel_mm['id_child_source_data']; $module_children = $rel_mm['id_child_source_data'];
@ -1468,8 +1485,10 @@ function clean_duplicate_links($relations)
$l3_link = $rel_aa; $l3_link = $rel_aa;
$id_p_source_data = (int) $rel_aa['id_parent_source_data']; $id_p_source_data = (int) $rel_aa['id_parent_source_data'];
$id_c_source_data = (int) $rel_aa['id_child_source_data']; $id_c_source_data = (int) $rel_aa['id_child_source_data'];
if ((($id_p_source_data == $agent1) && ($id_c_source_data == $agent2)) if ((($id_p_source_data == $agent1)
|| (($id_p_source_data == $agent2) && ($id_c_source_data == $agent1)) && ($id_c_source_data == $agent2))
|| (($id_p_source_data == $agent2)
&& ($id_c_source_data == $agent1))
) { ) {
if (enterprise_installed()) { if (enterprise_installed()) {
delete_link($final_links['aa'][$key]); delete_link($final_links['aa'][$key]);
@ -1479,6 +1498,7 @@ function clean_duplicate_links($relations)
} }
} }
} }
}
$final_links2['aa'] = $final_links['aa']; $final_links2['aa'] = $final_links['aa'];
$final_links2['mm'] = $final_links['mm']; $final_links2['mm'] = $final_links['mm'];
@ -1487,6 +1507,9 @@ function clean_duplicate_links($relations)
$same_m = []; $same_m = [];
$index = 0; $index = 0;
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_am) {
foreach ($final_links2['am'] as $rel_am2) { foreach ($final_links2['am'] as $rel_am2) {
if (($rel_am['id_child_source_data'] == $rel_am2['id_child_source_data']) if (($rel_am['id_child_source_data'] == $rel_am2['id_child_source_data'])
@ -1498,11 +1521,15 @@ function clean_duplicate_links($relations)
} }
} }
} }
}
$final_links3 = []; $final_links3 = [];
$index = 0; $index = 0;
$l3_link = []; $l3_link = [];
$have_l3 = false; $have_l3 = false;
if (isset($final_links2['aa']) === true
&& is_array($final_links2['aa']) === true
) {
foreach ($final_links2['aa'] as $key => $rel_aa) { foreach ($final_links2['aa'] as $key => $rel_aa) {
$l3_link = $rel_aa; $l3_link = $rel_aa;
foreach ($same_m as $rel_am) { foreach ($same_m as $rel_am) {
@ -1519,6 +1546,7 @@ function clean_duplicate_links($relations)
} }
} }
} }
}
$final_links3['aa'] = $final_links2['aa']; $final_links3['aa'] = $final_links2['aa'];
$final_links3['mm'] = $segregation_links['mm']; $final_links3['mm'] = $segregation_links['mm'];
@ -1526,21 +1554,37 @@ function clean_duplicate_links($relations)
$final_links3['ff'] = $final_links2['ff']; $final_links3['ff'] = $final_links2['ff'];
$cleaned_links = []; $cleaned_links = [];
if (isset($final_links3['aa']) === true
&& is_array($final_links3['aa']) === true
) {
foreach ($final_links3['aa'] as $link) { foreach ($final_links3['aa'] as $link) {
$cleaned_links[] = $link; $cleaned_links[] = $link;
} }
}
if (isset($final_links3['am']) === true
&& is_array($final_links3['am']) === true
) {
foreach ($final_links3['am'] as $link) { foreach ($final_links3['am'] as $link) {
$cleaned_links[] = $link; $cleaned_links[] = $link;
} }
}
if (isset($final_links3['mm']) === true
&& is_array($final_links3['mm']) === true
) {
foreach ($final_links3['mm'] as $link) { foreach ($final_links3['mm'] as $link) {
$cleaned_links[] = $link; $cleaned_links[] = $link;
} }
}
if (isset($final_links3['ff']) === true
&& is_array($final_links3['ff']) === true
) {
foreach ($final_links3['ff'] as $link) { foreach ($final_links3['ff'] as $link) {
$cleaned_links[] = $link; $cleaned_links[] = $link;
} }
}
return $cleaned_links; return $cleaned_links;
} }
@ -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 id="dialog_node_edit" style="display: none;" title="<?php echo __('Edit node'); ?>">
<div style="text-align: left; width: 100%;"> <div style="text-align: left; width: 100%;">
<?php <?php
$table = null; $table = new stdClass();
$table->id = 'node_details'; $table->id = 'node_details';
$table->width = '100%'; $table->width = '100%';
@ -1778,7 +1822,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
false false
); );
$table = null; $table = new stdClass();
$table->id = 'interface_information'; $table->id = 'interface_information';
$table->width = '100%'; $table->width = '100%';
@ -1802,7 +1846,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
true true
); );
$table = null; $table = new stdClass();
$table->id = 'node_options'; $table->id = 'node_options';
$table->width = '100%'; $table->width = '100%';
@ -1820,7 +1864,24 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
'', '',
0, 0,
true true
).'&nbsp;'.'<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] .= '&nbsp;<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'][0] = __('Name');
$table->data['node_name'][1] = html_print_input_text( $table->data['node_name'][1] = html_print_input_text(
'edit_name_node', 'edit_name_node',
@ -1875,7 +1936,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
true true
); );
$table = null; $table = new stdClass();
$table->id = 'relations_table'; $table->id = 'relations_table';
$table->width = '100%'; $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 id="dialog_node_add" style="display: none;" title="<?php echo __('Add node'); ?>">
<div style="text-align: left; width: 100%;"> <div style="text-align: left; width: 100%;">
<?php <?php
$table = null; $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->data = []; $table->data = [];
@ -2033,7 +2094,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
false false
); );
$table = null; $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->data = []; $table->data = [];
$table->data[0][0] = __('Group'); $table->data[0][0] = __('Group');
@ -2083,7 +2144,7 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
true true
); );
$table = null; $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->data = []; $table->data = [];
$table->data[0][0] = __('Name'); $table->data[0][0] = __('Name');
@ -2126,5 +2187,3 @@ function show_networkmap($id=0, $user_readonly=false, $nodes_and_relations=[], $
</div> </div>
<?php <?php
} }

View File

@ -128,8 +128,8 @@
</div> </div>
<div style='height: 10px'> <div style='height: 10px'>
<?php <?php
$version = '7.0NG.732'; $version = '7.0NG.732';
$build = '190312'; $build = '190312';
$banner = "v$version Build $build"; $banner = "v$version Build $build";
error_reporting(0); error_reporting(0);

View File

@ -1,18 +1,35 @@
<?php <?php
// ______ __ _______ _______ _______ /**
// | __ \.---.-.-----.--| |.-----.----.---.-. | ___| | | __| * Extension to manage a list of gateways and the node address where they should
// | __/| _ | | _ || _ | _| _ | | ___| |__ | * point to.
// |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| *
// * @category Extensions
// ============================================================================ * @package Pandora FMS
// Copyright (c) 2007-2010 Artica Soluciones Tecnologicas, http://www.artica.es * @subpackage Community
// This code is NOT free software. This code is NOT licenced under GPL2 licence * @version 1.0.0
// You cannnot redistribute it without written permission of copyright holder. * @license See below
// ============================================================================ *
// Load global variables * ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* 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; global $config;
// Check user credentials // Check user credentials.
check_login(); check_login();
$id = (int) get_parameter('id_networkmap', 0); $id = (int) get_parameter('id_networkmap', 0);
@ -63,8 +80,7 @@ if ($edit_networkmap) {
} else { } else {
$id_group = $values['id_group']; $id_group = $values['id_group'];
// ACL for the network map // ACL for the network map.
// $networkmap_read = check_acl ($config['id_user'], $id_group, "MR");
$networkmap_write = check_acl($config['id_user'], $id_group, 'MW'); $networkmap_write = check_acl($config['id_user'], $id_group, 'MW');
$networkmap_manage = check_acl($config['id_user'], $id_group, 'MM'); $networkmap_manage = check_acl($config['id_user'], $id_group, 'MM');
@ -221,7 +237,7 @@ if (!empty($result)) {
if ($not_found) { if ($not_found) {
ui_print_error_message(__('Not found networkmap.')); ui_print_error_message(__('Not found networkmap.'));
} else { } else {
$table = null; $table = new stdClass();
$table->id = 'form_editor'; $table->id = 'form_editor';
$table->width = '98%'; $table->width = '98%';

View File

@ -1,15 +1,32 @@
<?php <?php
// ______ __ _______ _______ _______ /**
// | __ \.---.-.-----.--| |.-----.----.---.-. | ___| | | __| * Extension to manage a list of gateways and the node address where they should
// | __/| _ | | _ || _ | _| _ | | ___| |__ | * point to.
// |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| *
// * @category Extensions
// ============================================================================ * @package Pandora FMS
// Copyright (c) 2007-2010 Artica Soluciones Tecnologicas, http://www.artica.es * @subpackage Community
// This code is NOT free software. This code is NOT licenced under GPL2 licence * @version 1.0.0
// You cannnot redistribute it without written permission of copyright holder. * @license See below
// ============================================================================ *
// Load global variables * ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* 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; global $config;
require_once 'include/functions_pandora_networkmap.php'; require_once 'include/functions_pandora_networkmap.php';
@ -19,9 +36,9 @@ require_once 'include/functions_modules.php';
$public_hash = get_parameter('hash', false); $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) { if ($public_hash === false) {
// Login check // Login check.
check_login(); check_login();
} else { } else {
$validate_hash = enterprise_hook( $validate_hash = enterprise_hook(
@ -33,7 +50,10 @@ if ($public_hash === false) {
] ]
); );
if ($validate_hash === false || $validate_hash === ENTERPRISE_NOT_HOOK) { 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'; include 'general/noaccess.php';
exit; exit;
} }
@ -117,7 +137,7 @@ if (is_ajax()) {
); );
$row['style'] = json_decode($row['style'], true); $row['style'] = json_decode($row['style'], true);
$row['style']['shape'] = $shape; $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']['label'] = 'json_encode_crash_with_ut8_chars';
$row['style']['color'] = $color; $row['style']['color'] = $color;
$row['style']['networkmap'] = $networkmap; $row['style']['networkmap'] = $networkmap;
@ -215,13 +235,8 @@ if (is_ajax()) {
if ($get_tooltip_content) { if ($get_tooltip_content) {
$id = (int) get_parameter('id', 0); $id = (int) get_parameter('id', 0);
// Get all module from agent
switch ($config['dbtype']) {
case 'mysql':
case 'postgresql':
$sql = sprintf( $sql = sprintf(
' 'SELECT *
SELECT *
FROM tagente_estado, tagente_modulo FROM tagente_estado, tagente_modulo
LEFT JOIN tmodule_group LEFT JOIN tmodule_group
ON tmodule_group.id_mg = tagente_modulo.id_module_group ON tmodule_group.id_mg = tagente_modulo.id_module_group
@ -231,36 +246,6 @@ if (is_ajax()) {
AND tagente_modulo.delete_pending = 0 AND tagente_modulo.delete_pending = 0
AND tagente_estado.utimestamp != 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;
}
$modules = db_get_all_rows_sql($sql); $modules = db_get_all_rows_sql($sql);
if (empty($modules)) { if (empty($modules)) {
@ -377,7 +362,7 @@ if (is_ajax()) {
$return['content'] .= '<b>'.__('Status: ').'</b>'.ui_print_status_image($status, $title, true).'<br />'; $return['content'] .= '<b>'.__('Status: ').'</b>'.ui_print_status_image($status, $title, true).'<br />';
if ($module['id_tipo_modulo'] == 24) { if ($module['id_tipo_modulo'] == 24) {
// log4x // Log4x.
switch ($module['datos']) { switch ($module['datos']) {
case 10: case 10:
$salida = 'TRACE'; $salida = 'TRACE';
@ -410,7 +395,7 @@ if (is_ajax()) {
break; break;
} }
$salida = "<span style='$style'>$salida</span>"; $salida = "<span style='".$style."'>".$salida.'</span>';
} else { } else {
if (is_numeric($module['datos'])) { if (is_numeric($module['datos'])) {
$salida = format_numeric($module['datos']); $salida = format_numeric($module['datos']);
@ -513,7 +498,7 @@ if (is_ajax()) {
include_once 'include/functions_agents.php'; include_once 'include/functions_agents.php';
$id = (int) get_parameter('id', 0); $id = (int) get_parameter('id', 0);
// q is what autocomplete plugin gives // Q is what autocomplete plugin gives.
$string = (string) get_parameter('q'); $string = (string) get_parameter('q');
$agents = db_get_all_rows_filter( $agents = db_get_all_rows_filter(
@ -586,8 +571,7 @@ if (is_ajax()) {
$filter = json_encode($array_filter); $filter = json_encode($array_filter);
// 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_write = check_acl($config['id_user'], $networkmap['id_group'], 'MW');
$networkmap_manage = check_acl($config['id_user'], $networkmap['id_group'], 'MM'); $networkmap_manage = check_acl($config['id_user'], $networkmap['id_group'], 'MM');
@ -641,7 +625,7 @@ if (is_ajax()) {
return; return;
} }
// Popup // Popup.
$get_status_node = (bool) get_parameter('get_status_node', false); $get_status_node = (bool) get_parameter('get_status_node', false);
$get_status_module = (bool) get_parameter( $get_status_module = (bool) get_parameter(
'get_status_module', 'get_status_module',
@ -763,13 +747,9 @@ if (is_ajax()) {
} }
// --------------END AJAX------------------------------------------------ // --------------END AJAX------------------------------------------------
if (_id_ != '_id_') { $id = (int) get_parameter('id_networkmap', 0);
$id = _id_;
} else {
$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('product_name', get_product_name());
html_print_input_hidden('center_logo', ui_get_full_url(ui_get_logo_to_center_networkmap())); html_print_input_hidden('center_logo', ui_get_full_url(ui_get_logo_to_center_networkmap()));
@ -823,7 +803,7 @@ if ($networkmap === false) {
return; return;
} else { } else {
// ACL for the network map // ACL for the network map.
$networkmap_read = check_acl($config['id_user'], $networkmap['id_group'], 'MR'); $networkmap_read = check_acl($config['id_user'], $networkmap['id_group'], 'MR');
$networkmap_write = check_acl($config['id_user'], $networkmap['id_group'], 'MW'); $networkmap_write = check_acl($config['id_user'], $networkmap['id_group'], 'MW');
$networkmap_manage = check_acl($config['id_user'], $networkmap['id_group'], 'MM'); $networkmap_manage = check_acl($config['id_user'], $networkmap['id_group'], 'MM');
@ -841,11 +821,11 @@ if ($networkmap === false) {
$pure = (int) get_parameter('pure', 0); $pure = (int) get_parameter('pure', 0);
// Main code // Main code.
if ($pure == 1) { if ($pure == 1) {
$buttons['screen'] = [ $buttons['screen'] = [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=networkmapconsole&amp;'.'sec2=operation/agentes/pandora_networkmap&amp;'.'tab=view&amp;id_networkmap='.$id.'">'.html_print_image( 'text' => '<a href="index.php?sec=networkmapconsole&amp;sec2=operation/agentes/pandora_networkmap&amp;tab=view&amp;id_networkmap='.$id.'">'.html_print_image(
'images/normal_screen.png', 'images/normal_screen.png',
true, true,
['title' => __('Normal screen')] ['title' => __('Normal screen')]
@ -855,7 +835,7 @@ if ($networkmap === false) {
if (!$dash_mode) { if (!$dash_mode) {
$buttons['screen'] = [ $buttons['screen'] = [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=networkmapconsole&amp;'.'sec2=operation/agentes/pandora_networkmap&amp;'.'pure=1&amp;tab=view&amp;id_networkmap='.$id.'">'.html_print_image( 'text' => '<a href="index.php?sec=networkmapconsole&amp;sec2=operation/agentes/pandora_networkmap&amp;pure=1&amp;tab=view&amp;id_networkmap='.$id.'">'.html_print_image(
'images/full_screen.png', 'images/full_screen.png',
true, true,
['title' => __('Full screen')] ['title' => __('Full screen')]
@ -863,7 +843,7 @@ if ($networkmap === false) {
]; ];
$buttons['list'] = [ $buttons['list'] = [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=networkmapconsole&amp;'.'sec2=operation/agentes/pandora_networkmap">'.html_print_image( 'text' => '<a href="index.php?sec=networkmapconsole&amp;sec2=operation/agentes/pandora_networkmap">'.html_print_image(
'images/list.png', 'images/list.png',
true, true,
['title' => __('List of networkmap')] ['title' => __('List of networkmap')]
@ -897,19 +877,14 @@ $(document).ready(function() {
$("*").on("click", function(){ $("*").on("click", function(){
if($("[aria-describedby=dialog_node_edit]").css('display') == 'block'){ 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'}); $('#foot').css({'top':parseInt($("[aria-describedby=dialog_node_edit]").css('height')+$("[aria-describedby=dialog_node_edit]").css('top')),'position':'relative'});
} }
else{ else{
$('#foot').css({'position':'','top':'0'}); $('#foot').css({'position':'','top':'0'});
} }
}); });
$("[aria-describedby=dialog_node_edit]").on('dialogclose', function(event) { $("[aria-describedby=dialog_node_edit]").on('dialogclose', function(event) {
$('#foot').css({'position':'','top':'0'}); $('#foot').css({'position':'','top':'0'});
}); });