Merge branch 'develop' into 'ent-3706-No-se-incluyen-parametros-de-autenticacion-y-privacidad-en-wizard-interfaces-para-modulos-satelite'

# Conflicts:
#   pandora_console/godmode/agentes/agent_wizard.snmp_interfaces_explorer.php

Former-commit-id: f15c507347700205a081d010a9c6f58c0e2e5720
This commit is contained in:
Alejandro Campos 2019-03-19 14:47:32 +01:00
commit 5cdf2dffa7
60 changed files with 1123 additions and 678 deletions

View File

@ -172,8 +172,8 @@ echo "Updating Pandora Console version..."
sed -i -e "s/\s*\$pandora_version\s*=.*/\$pandora_version = 'v$VERSION';/" "$CONSOLE_FILE" sed -i -e "s/\s*\$pandora_version\s*=.*/\$pandora_version = 'v$VERSION';/" "$CONSOLE_FILE"
sed -i -e "s/\s*\$build_version\s*=.*/\$build_version = 'PC$BUILD';/" "$CONSOLE_FILE" sed -i -e "s/\s*\$build_version\s*=.*/\$build_version = 'PC$BUILD';/" "$CONSOLE_FILE"
echo "Updating Pandora Console installer version..." echo "Updating Pandora Console installer version..."
sed -i -e "s/\s*\$version\s*=.*/\$version = '$VERSION';/" "$CONSOLE_INSTALL_FILE" sed -i -e "s/\(\s*\$version\s*=\s\).*/\1'$VERSION';/" "$CONSOLE_INSTALL_FILE"
sed -i -e "s/\s*\$build\s*=.*/\$build = '$BUILD';/" "$CONSOLE_INSTALL_FILE" sed -i -e "s/\(\s*\$build\s*=\s\).*/\1'$BUILD';/" "$CONSOLE_INSTALL_FILE"
echo "Setting develop_bypass to 0..." echo "Setting develop_bypass to 0..."
sed -i -e "s/\s*if\s*(\s*[!]\s*isset\s*(\s*$develop_bypass\s*)\s*)\s*$develop_bypass\s*=.*/if ([!]isset($develop_bypass)) $develop_bypass = 0;/" "$CONSOLE_FILE" sed -i -e "s/\s*if\s*(\s*[!]\s*isset\s*(\s*$develop_bypass\s*)\s*)\s*$develop_bypass\s*=.*/if ([!]isset($develop_bypass)) $develop_bypass = 0;/" "$CONSOLE_FILE"

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.732-190311 Version: 7.0NG.732-190319
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.732-190311" pandora_version="7.0NG.732-190319"
echo "Test if you has the tools for to make the packages." echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -42,7 +42,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.732'; use constant AGENT_VERSION => '7.0NG.732';
use constant AGENT_BUILD => '190311'; use constant AGENT_BUILD => '190319';
# Agent log default file size maximum and instances # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.732 %define version 7.0NG.732
%define release 190311 %define release 190319
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.732 %define version 7.0NG.732
%define release 190311 %define release 190319
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.732" PI_VERSION="7.0NG.732"
PI_BUILD="190311" PI_BUILD="190319"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{190311} {190319}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils; using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1 #define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.732(Build 190311)") #define PANDORA_VERSION ("7.0NG.732(Build 190319)")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST" VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent" VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.732(Build 190311))" VALUE "ProductVersion", "(7.0NG.732(Build 190319))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.732-190311 Version: 7.0NG.732-190319
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.732-190311" pandora_version="7.0NG.732-190319"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

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

@ -82,42 +82,30 @@ if (!empty($page) && !empty($sec)) {
} }
$login_body_style = ''; $login_body_style = '';
// Overrides the default background with the defined by the user // Overrides the default background with the defined by the user.
if (!empty($config['login_background'])) { if (!empty($config['login_background'])) {
$background_url = 'images/backgrounds/'.$config['login_background']; $background_url = 'images/backgrounds/'.$config['login_background'];
$login_body_style = "style=\"background-image: url('$background_url');\""; $login_body_style = "style=\"background:linear-gradient(74deg, #02020255 36%, transparent 36%), url('".$background_url."');\"";
} }
// Get the custom icons // Get the custom icons.
$docs_logo = ui_get_docs_logo(); $docs_logo = ui_get_docs_logo();
$support_logo = ui_get_support_logo(); $support_logo = ui_get_support_logo();
echo '<div id="login_body" '.$login_body_style.'>'; echo '<div id="login_body" '.$login_body_style.'>';
echo '<div id="header_login">'; echo '<div id="header_login">';
echo '<div id="icon_custom_pandora">';
if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) { echo '<div id="list_icon_docs_support"><ul>';
if (isset($config['custom_logo'])) {
echo '<img src="enterprise/images/custom_logo/'.$config['custom_logo'].'" alt="monitoring_console">';
} else {
echo '<img src="images/custom_logo/pandora_logo_head_4.png" alt="monitoring_console">';
}
} else {
echo '<img src="images/custom_logo/pandora_logo_head_3.png" alt="monitoring_console">';
}
echo '</div>';
echo '<div id="list_icon_docs_support"><ul style="line-height: 36px;">';
if ($docs_logo !== false) { if ($docs_logo !== false) {
echo '<li><a href="'.$config['custom_docs_url'].'" target="_blank"><img src="'.$docs_logo.'" alt="docs"></a></li>'; echo '<li><a href="'.$config['custom_docs_url'].'" target="_blank"><img src="'.$docs_logo.'" alt="docs"></a></li>';
} }
echo '<li><a style="color: white; font-size:inherit;" href="'.$config['custom_docs_url'].'" target="_blank">'.__('Docs').'</li>'; echo '<li><a href="'.$config['custom_docs_url'].'" target="_blank">'.__('Docs').'</li>';
if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) { if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) {
if ($support_logo !== false) { if ($support_logo !== false) {
echo '<li id="li_margin_left"><a href="'.$config['custom_support_url'].'" target="_blank"><img src="'.$support_logo.'" alt="support"></a></li>'; echo '<li id="li_margin_left"><a href="'.$config['custom_support_url'].'" target="_blank"><img src="'.$support_logo.'" alt="support"></a></li>';
} }
echo '<li><a style="color: white; font-size:inherit;" href="'.$config['custom_support_url'].'" target="_blank">'.__('Support').'</li>'; echo '<li><a href="'.$config['custom_support_url'].'" target="_blank">'.__('Support').'</li>';
} else { } else {
echo '<li id="li_margin_left"><a href="https://pandorafms.com/monitoring-services/support/" target="_blank"><img src="'.$support_logo.'" alt="support"></a></li>'; echo '<li id="li_margin_left"><a href="https://pandorafms.com/monitoring-services/support/" target="_blank"><img src="'.$support_logo.'" alt="support"></a></li>';
echo '<li>'.__('Support').'</li>'; echo '<li>'.__('Support').'</li>';
@ -151,7 +139,8 @@ if (defined('METACONSOLE')) {
html_print_image('images/custom_logo_login/'.$config['custom_logo_login'], false, ['class' => 'login_logo', 'alt' => 'logo', 'border' => 0, 'title' => $logo_title], false, true); html_print_image('images/custom_logo_login/'.$config['custom_logo_login'], false, ['class' => 'login_logo', 'alt' => 'logo', 'border' => 0, 'title' => $logo_title], false, true);
} }
echo "<br><span style='font-size:120%;color:white;top:10px;position:relative;'>Community edition</span>"; // I comment this in case in the future we put a logo without text.
// echo "<br><span style='font-size:120%;color:white;top:10px;position:relative;'>Community edition</span>";.
} }
echo '</a></div>'; echo '</a></div>';
@ -167,9 +156,6 @@ switch ($login_screen) {
if ($config['auth'] == 'saml') { if ($config['auth'] == 'saml') {
echo '<div id="log_nick" class="login_nick" style="display: none;">'; echo '<div id="log_nick" class="login_nick" style="display: none;">';
echo '<div>';
html_print_image('/images/usuario_login.png', false);
echo '</div>';
html_print_input_text_extended( html_print_input_text_extended(
'nick', 'nick',
'', '',
@ -184,9 +170,6 @@ switch ($login_screen) {
echo '</div>'; echo '</div>';
echo '<div id="log_pass" class="login_pass" style="display: none;">'; echo '<div id="log_pass" class="login_pass" style="display: none;">';
echo '<div>';
html_print_image('/images/candado_login.png', false);
echo '</div>';
html_print_input_text_extended( html_print_input_text_extended(
'pass', 'pass',
'', '',
@ -202,22 +185,19 @@ switch ($login_screen) {
); );
echo '</div>'; echo '</div>';
echo '<div id="log_button" class="login_button" style="display: none; margin-bottom: 20px;">'; echo '<div id="log_button" class="login_button" style="display: none;">';
html_print_submit_button(__('Login as admin'), 'login_button', false, 'class="sub next_login"'); html_print_submit_button(__('Login as admin'), 'login_button', false, 'class="sub next_login"');
echo '</div>'; echo '</div>';
echo '<div class="login_button" id="remove_button" style="margin-bottom: 20px;">'; echo '<div class="login_button" id="remove_button">';
echo '<input type="button" id="input_saml" value="Login as admin" onclick="show_normal_menu()">'; echo '<input type="button" id="input_saml" value="Login as admin" onclick="show_normal_menu()">';
echo '</div>'; echo '</div>';
echo '<div class="login_button">'; echo '<div class="login_button login_button_saml">';
html_print_submit_button(__('Login with SAML'), 'login_button_saml', false, ''); html_print_submit_button(__('Login with SAML'), 'login_button_saml', false, '');
echo '</div>'; echo '</div>';
} else { } else {
echo '<div class="login_nick">'; echo '<div class="login_nick">';
echo '<div>';
html_print_image('/images/usuario_login.png', false);
echo '</div>';
html_print_input_text_extended( html_print_input_text_extended(
'nick', 'nick',
'', '',
@ -231,9 +211,6 @@ switch ($login_screen) {
); );
echo '</div>'; echo '</div>';
echo '<div class="login_pass">'; echo '<div class="login_pass">';
echo '<div>';
html_print_image('/images/candado_login.png', false);
echo '</div>';
html_print_input_text_extended( html_print_input_text_extended(
'pass', 'pass',
'', '',
@ -289,9 +266,9 @@ switch ($login_screen) {
if ($config['enterprise_installed']) { if ($config['enterprise_installed']) {
if ($config['reset_pass_option']) { if ($config['reset_pass_option']) {
$reset_pass_link = 'reset_pass.php'; $reset_pass_link = 'reset_pass.php';
// Reset password link // Reset password link.
echo '<div style="width:70%; height:40px; margin-right:auto; margin-left:auto; margin-top:20px; text-align:center;">'; echo '<div class="reset_password">';
echo '<a style="color: white !important;" href="index.php?reset=true&first=true">'.__('Forgot your password?'); echo '<a href="index.php?reset=true&first=true">'.__('Forgot your password?');
echo '</a>'; echo '</a>';
echo '</div>'; echo '</div>';
} }
@ -544,7 +521,7 @@ ui_require_jquery_file('jquery-ui.min');
?> ?>
<?php <?php
// Hidden div to forced title // Hidden div to forced title.
html_print_div(['id' => 'forced_title_layer', 'class' => 'forced_title_layer', 'hidden' => true]); html_print_div(['id' => 'forced_title_layer', 'class' => 'forced_title_layer', 'hidden' => true]);
// html_print_div(array('id' => 'modal_alert', 'hidden' => true)); // html_print_div(array('id' => 'modal_alert', 'hidden' => true));

View File

@ -321,6 +321,8 @@ if ($create_modules) {
$module_type = 2; $module_type = 2;
} else if (preg_match('/ifAdminStatus/', $name_array[1])) { } else if (preg_match('/ifAdminStatus/', $name_array[1])) {
$module_type = 2; $module_type = 2;
} else if (preg_match('/ifOperStatus/', $name_array[1])) {
$module_type = 18;
} else { } else {
$module_type = 4; $module_type = 4;
} }

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;
@ -475,37 +703,72 @@ 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();

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 B

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

After

Width:  |  Height:  |  Size: 454 B

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC190311'; $build_version = 'PC190319';
$pandora_version = 'v7.0NG.732'; $pandora_version = 'v7.0NG.732';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -1828,11 +1828,11 @@ function config_process_config()
} }
if (!isset($config['custom_title1_login'])) { if (!isset($config['custom_title1_login'])) {
config_update_value('custom_title1_login', __('WELCOME TO PANDORA FMS')); config_update_value('custom_title1_login', __('PANDORA FMS'));
} }
if (!isset($config['custom_title2_login'])) { if (!isset($config['custom_title2_login'])) {
config_update_value('custom_title2_login', __('NEXT GENERATION')); config_update_value('custom_title2_login', __('ONE TOOL TO MONITOR THEM ALL'));
} }
if (!isset($config['custom_docs_url'])) { if (!isset($config['custom_docs_url'])) {

View File

@ -701,19 +701,20 @@ function events_comment(
$first_event = reset($id_event); $first_event = reset($id_event);
} }
$event_comments = db_get_value( $event_comments = mysql_db_process_sql(
'user_comment', 'SELECT user_comment FROM '.$event_table.' WHERE id_evento = '.$first_event,
$event_table, 'affected_rows',
'id_evento', '',
$first_event false
); );
$event_comments_array = []; $event_comments_array = [];
if ($event_comments == '') { if ($event_comments[0]['user_comment'] == '') {
$comments_format = 'new'; $comments_format = 'new';
} else { } else {
// 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); $event_comments_array = json_decode($event_comments[0]['user_comment']);
if (empty($event_comments_array)) { if (empty($event_comments_array)) {
$comments_format = 'old'; $comments_format = 'old';
@ -2513,9 +2514,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 +2666,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 +3135,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 +3298,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 +3316,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 +3336,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

@ -506,8 +506,6 @@ function menu_add_extras(&$menu)
$menu_extra['workspace']['sub']['operation/incidents/incident_detail']['text'] = __('Manage incident'); $menu_extra['workspace']['sub']['operation/incidents/incident_detail']['text'] = __('Manage incident');
$menu_extra['reporting']['sub']['godmode/reporting/visual_console_builder']['text'] = __('Manage visual console');
// Duplicate extensions as sec=extension to check it from url // Duplicate extensions as sec=extension to check it from url
foreach ($menu as $k => $m) { foreach ($menu as $k => $m) {
if (!isset($m['sub'])) { if (!isset($m['sub'])) {
@ -645,6 +643,7 @@ function menu_get_sec_pages($sec, $menu_hash=false)
/** /**
* Get the pages in a section2 * Get the pages in a section2
* $menu
* *
* @param string sec code * @param string sec code
* @param string menu hash. All the menu structure (For example * @param string menu hash. All the menu structure (For example

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

@ -476,7 +476,7 @@ function visual_map_print_item(
} }
} else if ($is_a_link_to_other_visualconsole) { } else if ($is_a_link_to_other_visualconsole) {
if (!is_metaconsole()) { if (!is_metaconsole()) {
$url = $config['homeurl'].'index.php?sec=reporting&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked']; $url = $config['homeurl'].'index.php?sec=network&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked'];
} else { } else {
$url = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure=0&id_visualmap='.$layoutData['id_layout_linked'].'&refr=0'; $url = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure=0&id_visualmap='.$layoutData['id_layout_linked'].'&refr=0';
} }
@ -567,7 +567,7 @@ function visual_map_print_item(
if (METACONSOLE == 1) { if (METACONSOLE == 1) {
$url = $config['homeurl'].'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure=0&id_visualmap='.$layoutData['id_layout_linked'].'&refr=300'; $url = $config['homeurl'].'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure=0&id_visualmap='.$layoutData['id_layout_linked'].'&refr=300';
} else { } else {
$url = $config['homeurl'].'index.php?sec=reporting&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked']; $url = $config['homeurl'].'index.php?sec=network&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked'];
} }
} else { } else {
if (METACONSOLE == 1) { if (METACONSOLE == 1) {
@ -581,7 +581,7 @@ function visual_map_print_item(
case LABEL: case LABEL:
if ($layoutData['id_layout_linked'] != 0) { if ($layoutData['id_layout_linked'] != 0) {
// Link to a map // Link to a map
$url = $config['homeurl'].'index.php?sec=reporting&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked']; $url = $config['homeurl'].'index.php?sec=network&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked'];
} }
break; break;
@ -590,7 +590,7 @@ function visual_map_print_item(
if ($layoutData['id_layout_linked'] != 0) { if ($layoutData['id_layout_linked'] != 0) {
// Link to a map // Link to a map
if (empty($layoutData['id_metaconsole'])) { if (empty($layoutData['id_metaconsole'])) {
$url = 'index.php?sec=reporting&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked']; $url = 'index.php?sec=network&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked'];
} else { } else {
$pure = get_parameter('pure', 0); $pure = get_parameter('pure', 0);
$url = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_visualmap='.$layoutData['id_layout_linked'].'&refr=0'; $url = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_visualmap='.$layoutData['id_layout_linked'].'&refr=0';
@ -638,7 +638,7 @@ function visual_map_print_item(
} else if ($layoutData['id_layout_linked'] > 0) { } else if ($layoutData['id_layout_linked'] > 0) {
// Link to a map // Link to a map
if (empty($layoutData['id_metaconsole'])) { if (empty($layoutData['id_metaconsole'])) {
$url = 'index.php?sec=reporting&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked']; $url = 'index.php?sec=network&amp;sec2=operation/visual_console/render_view&amp;pure='.$config['pure'].'&amp;id='.$layoutData['id_layout_linked'];
} else { } else {
$pure = get_parameter('pure', 0); $pure = get_parameter('pure', 0);
$url = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_visualmap='.$layoutData['id_layout_linked'].'&refr=0'; $url = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_visualmap='.$layoutData['id_layout_linked'].'&refr=0';

View File

@ -52,6 +52,7 @@ Apart from the defined module macros, the following macros are also available:
<li>_event_extra_id_ : (Only event alerts) Extra id.</li> <li>_event_extra_id_ : (Only event alerts) Extra id.</li>
<li>_event_id_: (Only event alerts) ID of the event that triggered the alert.</li> <li>_event_id_: (Only event alerts) ID of the event that triggered the alert.</li>
<li>_event_text_severity_: (Only event alerts) Event text severity (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li> <li>_event_text_severity_: (Only event alerts) Event text severity (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li>
<li>_eventTimestamp_: Timestamp in which the event was created.</li>
<li>_field1_: User defined field 1.</li> <li>_field1_: User defined field 1.</li>
<li>_field2_: User defined field 2.</li> <li>_field2_: User defined field 2.</li>
<li>_field3_: User defined field 3.</li> <li>_field3_: User defined field 3.</li>

View File

@ -37,6 +37,7 @@ Besides the defined module macros, the following macros are available:
<li>_event_extra_id_: (Only event alerts) Extra id.</li> <li>_event_extra_id_: (Only event alerts) Extra id.</li>
<li>_event_id_: (Only event alerts) ID of the event that triggered the alert.</li> <li>_event_id_: (Only event alerts) ID of the event that triggered the alert.</li>
<li>_event_text_severity_: (Only event alerts) Event text severity (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li> <li>_event_text_severity_: (Only event alerts) Event text severity (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li>
<li>_eventTimestamp_: Timestamp in which the event was created.</li>
<li>_field1_: User defined field 1.</li> <li>_field1_: User defined field 1.</li>
<li>_field2_: User defined field 2.</li> <li>_field2_: User defined field 2.</li>
<li>_field3_: User defined field 3.</li> <li>_field3_: User defined field 3.</li>

View File

@ -54,6 +54,7 @@ Además de las macros de módulo definidas, las siguientes macros están disponi
<li>_event_extra_id_ : (Solo alertas de evento) Id extra.</li> <li>_event_extra_id_ : (Solo alertas de evento) Id extra.</li>
<li>_event_id_: (Solo alertas de evento) Id del evento que disparó la alerta.</li> <li>_event_id_: (Solo alertas de evento) Id del evento que disparó la alerta.</li>
<li>_event_text_severity_: (Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li> <li>_event_text_severity_: (Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li>
<li>_eventTimestamp_: Timestamp en el que se creo el evento.</li>
<li>_field1_: Campo 1 definido por el usuario.</li> <li>_field1_: Campo 1 definido por el usuario.</li>
<li>_field2_: Campo 2 definido por el usuario.</li> <li>_field2_: Campo 2 definido por el usuario.</li>
<li>_field3_: Campo 3 definido por el usuario.</li> <li>_field3_: Campo 3 definido por el usuario.</li>

View File

@ -37,6 +37,7 @@ Además de las macros de módulo definidas, las siguientes macros están disponi
<li>_event_extra_id_ : (Solo alertas de evento) Id extra.</li> <li>_event_extra_id_ : (Solo alertas de evento) Id extra.</li>
<li>_event_id_: (Solo alertas de evento) Id del evento que disparó la alerta.</li> <li>_event_id_: (Solo alertas de evento) Id del evento que disparó la alerta.</li>
<li>_event_text_severity_:(Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li> <li>_event_text_severity_:(Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).</li>
<li>_eventTimestamp_: Timestamp en el que se creo el evento.</li>
<li>_field1_: Campo 1 definido por el usuario.</li> <li>_field1_: Campo 1 definido por el usuario.</li>
<li>_field2_: Campo 2 definido por el usuario.</li> <li>_field2_: Campo 2 definido por el usuario.</li>
<li>_field3_: Campo 3 definido por el usuario.</li> <li>_field3_: Campo 3 definido por el usuario.</li>

View File

@ -53,6 +53,7 @@ email アクションを設定するには、_field1_ (送信先アドレス)、
<li>_event_extra_id_: (イベントアラートのみ) 拡張 ID</li> <li>_event_extra_id_: (イベントアラートのみ) 拡張 ID</li>
<li>_event_id_ : (イベントアラートのみ) アラート発生元のイベントID</li> <li>_event_id_ : (イベントアラートのみ) アラート発生元のイベントID</li>
<li>_event_text_severity_ : (イベントアラートのみ) イベント(アラートの発生元)のテキストでの重要度 (Maintenance, Informational, Normal Minor, Warning, Major, Critical)</li> <li>_event_text_severity_ : (イベントアラートのみ) イベント(アラートの発生元)のテキストでの重要度 (Maintenance, Informational, Normal Minor, Warning, Major, Critical)</li>
<li>_eventTimestamp_: Timestamp in which the event was created.</li>
<li>_field1_ : ユーザ定義フィールド1</li> <li>_field1_ : ユーザ定義フィールド1</li>
<li>_field2_ : ユーザ定義フィールド2</li> <li>_field2_ : ユーザ定義フィールド2</li>
<li>_field3_ : ユーザ定義フィールド3</li> <li>_field3_ : ユーザ定義フィールド3</li>

View File

@ -37,6 +37,7 @@
<li>_event_extra_id_: (Only event alerts) Extra id.</li> <li>_event_extra_id_: (Only event alerts) Extra id.</li>
<li>_event_id_ : (イベントアラートのみ) アラート発生元のイベントID</li> <li>_event_id_ : (イベントアラートのみ) アラート発生元のイベントID</li>
<li>_event_text_severity_ : (イベントアラートのみ) イベント(アラートの発生元)のテキストでの重要度 (Maintenance, Informational, Normal Minor, Warning, Major, Critical)</li> <li>_event_text_severity_ : (イベントアラートのみ) イベント(アラートの発生元)のテキストでの重要度 (Maintenance, Informational, Normal Minor, Warning, Major, Critical)</li>
<li>_eventTimestamp_: Timestamp in which the event was created.</li>
<li>_field1_ : ユーザ定義フィールド1</li> <li>_field1_ : ユーザ定義フィールド1</li>
<li>_field2_ : ユーザ定義フィールド2</li> <li>_field2_ : ユーザ定義フィールド2</li>
<li>_field3_ : ユーザ定義フィールド3</li> <li>_field3_ : ユーザ定義フィールド3</li>

View File

@ -29,41 +29,11 @@ div#error_buttons a {
width: 100%; width: 100%;
z-index: -9999; z-index: -9999;
position: absolute; position: absolute;
background-image: url("../../images/backgrounds/background_pandora_console_keys.jpg"); background: linear-gradient(74deg, #02020255 36%, transparent 36%),
url("../../images/backgrounds/background_pandora_console_keys.jpg");
background-repeat: repeat; background-repeat: repeat;
} }
/*@media screen and (max-width: 1024px) { /* Specific to this particular image */
/* #login_body {
left: 50%;
margin-left: -512px; /* 50% */
/* }
}
@media screen and (max-width: 1100px) { /* Specific to this particular image */
/* #login_body {
background-image: url("../../images/backgrounds/background_pandora_console_keys.jpg");
background-repeat: repeat;
}
}
@media screen and (max-width: 1400px) { /* Specific to this particular image */
/* #login_body {
background-image: url("../../images/backgrounds/background_pandora_console_keys.jpg");
background-repeat: repeat;
}
}
@media screen and (max-width: 2000px) { /* Specific to this particular image */
/* #login_body {
background-image: url("../../images/backgrounds/background_pandora_console_keys.jpg");
background-repeat: repeat;
}
}
@media screen and (min-width: 2000px) { /* Specific to this particular image */
/* #login_body {
background-image: url("../../images/backgrounds/background_pandora_console_keys.jpg");
background-repeat: repeat;
}
}*/
p.log_in { p.log_in {
color: #fff !important; color: #fff !important;
padding: 0px 10px; padding: 0px 10px;
@ -77,7 +47,6 @@ h1#log_f {
} }
div#error_login { div#error_login {
text-align: center;
margin-top: 5px; margin-top: 5px;
margin-left: 5px; margin-left: 5px;
width: 75%; width: 75%;
@ -104,8 +73,11 @@ div#login_f {
width: 100%; width: 100%;
position: absolute; position: absolute;
bottom: 10px; bottom: 10px;
color: #fff; color: #878787;
text-align: center; text-align: center;
font-family: "Open Sans", sans-serif;
font-weight: 700;
font-size: 8.5pt;
} }
/* /*
@ -118,23 +90,17 @@ div#login_f {
div#header_login { div#header_login {
width: 100%; width: 100%;
height: 65px; height: 65px;
background-color: rgba(255, 255, 255, 0.06);
}
div#icon_custom_pandora {
float: left;
margin-top: 5px;
margin-left: 4%;
} }
div#list_icon_docs_support { div#list_icon_docs_support {
float: right; float: left;
margin-top: 8px; margin-top: 25px;
margin-right: 4%; margin-left: 5%;
} }
div#list_icon_docs_support ul { div#list_icon_docs_support ul {
margin-top: 5px; margin-top: 5px;
line-height: 36px;
} }
div#list_icon_docs_support ul li { div#list_icon_docs_support ul li {
@ -145,6 +111,11 @@ div#list_icon_docs_support ul li {
font-size: 10pt; font-size: 10pt;
} }
div#list_icon_docs_support ul li a {
color: #979797;
font-size: 10pt;
}
li#li_margin_left { li#li_margin_left {
margin-left: 30px; margin-left: 30px;
} }
@ -162,14 +133,6 @@ div.login_page {
float: left; float: left;
} }
div.login_page form {
border-right: 1px solid #868686;
padding-top: 30px;
padding-bottom: 50px;
min-width: 400px;
max-height: 600px;
}
div.login_logo_icon { div.login_logo_icon {
margin-bottom: 40px; margin-bottom: 40px;
text-align: center; text-align: center;
@ -177,7 +140,7 @@ div.login_logo_icon {
div.login_logo_icon img { div.login_logo_icon img {
margin: 0 auto; margin: 0 auto;
width: 150px; max-width: 70%;
} }
div.login_double_auth_code, div.login_double_auth_code,
@ -186,27 +149,36 @@ div.login_pass {
margin: 0 auto; margin: 0 auto;
width: 70%; width: 70%;
height: 40px; height: 40px;
background-color: rgba(255, 255, 255, 0.2) !important;
margin-bottom: 25px; margin-bottom: 25px;
min-width: 260px; min-width: 260px;
background-color: #fff;
opacity: 0.77;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
border-radius: 3px;
} }
div.login_nick img, div.login_nick input {
div.login_pass img { background-image: url("../../images/usuario_login.png");
vertical-align: middle; }
margin: 3px;
div.login_pass input {
background-image: url("../../images/candado_login.png");
} }
div.login_nick input, div.login_nick input,
div.login_pass input { div.login_pass input {
background-color: rgba(255, 255, 255, 0) !important;
border: 0px !important; border: 0px !important;
color: white !important; color: #343434;
border-radius: 0px; border-radius: 3px;
width: 89%; width: 100%;
height: 40px; height: 40px;
font-size: 9pt; font-size: 10pt;
padding: 0px !important; padding: 0px 0px 0px 35px !important;
background-repeat: no-repeat;
background-size: 27px;
background-position: left center;
font-family: "Open Sans", sans-serif;
box-sizing: border-box;
} }
div.login_nick input:focus, div.login_nick input:focus,
@ -224,46 +196,76 @@ div.login_pass input:-webkit-autofill:focus,
div.login_pass input:-webkit-autofill:active { div.login_pass input:-webkit-autofill:active {
transition: background-color 10000s ease-in-out 0s; transition: background-color 10000s ease-in-out 0s;
-webkit-box-shadow: 0 0 0px 0px transparent inset !important; -webkit-box-shadow: 0 0 0px 0px transparent inset !important;
-webkit-text-fill-color: white !important; -webkit-text-fill-color: #343434 !important;
border: 0px; border: 0px;
width: 89%; width: 89%;
} }
div.login_nick input::-webkit-input-placeholder, div.login_nick input::-webkit-input-placeholder,
div.login_pass input::-webkit-input-placeholder { div.login_pass input::-webkit-input-placeholder {
color: white; color: #343434;
} }
div.login_pass img, div.login_button,
div.login_nick img { div.login_button_saml {
width: 30px;
}
div.login_pass div,
div.login_nick div {
float: left;
width: 11%;
}
div.login_button {
margin: 0 auto; margin: 0 auto;
width: 70%; width: 40%;
height: 40px; height: 40px;
background-color: rgb(25, 25, 25);
border: 1px solid white;
min-width: 260px; min-width: 260px;
margin-bottom: 20px;
} }
div.login_button input { div.login_button input {
width: 100%; width: 100%;
background-color: rgb(25, 25, 25) !important; background-color: #82b92e !important;
text-align: center; text-align: center;
border: 0px;
border-radius: 0px;
height: 40px; height: 40px;
padding: 0px; padding: 0px;
font-size: 9pt; font-size: 11pt;
color: white; color: #fff !important;
border: 1px solid #82b92e;
border-radius: 3px;
}
div.login_button_saml input {
border: 1px solid #fff;
background-color: #fff !important;
color: #000 !important;
background-image: url("../../images/saml_login.png");
background-repeat: no-repeat;
background-position: right 5% center;
}
div.login_button input:hover {
background-color: #fff !important;
color: #000 !important;
border: 1px solid #fff !important;
}
div.login_button_saml input:hover {
background-image: url("../../images/saml_login_hover.png");
background-color: transparent !important;
color: #fff !important;
border: 1px solid #fff !important;
}
#remove_button input {
background-image: url("../../images/user_login.png") !important;
background-repeat: no-repeat;
background-position: right 5% center;
}
#remove_button input:hover {
background-image: url("../../images/user_login_hover.png") !important;
}
.login_back input {
background-image: url("../../images/back_login.png") !important;
background-position: left 5% center !important;
}
.login_back input:hover {
background-image: url("../../images/back_login_hover.png") !important;
} }
div.login_data { div.login_data {
@ -307,6 +309,21 @@ div.img_banner_login img {
min-height: 50%; min-height: 50%;
} }
.reset_password {
width: 70%;
height: 40px;
margin-right: auto;
margin-left: auto;
margin-top: 20px;
text-align: center;
}
.reset_password a {
color: #ddd !important;
font-family: "Open Sans", sans-serif;
font-size: 8.5pt;
}
@media all and (max-width: 1200px) { @media all and (max-width: 1200px) {
span.span1 { span.span1 {
font-size: 30pt; font-size: 30pt;

View File

@ -129,7 +129,7 @@
<div style='height: 10px'> <div style='height: 10px'>
<?php <?php
$version = '7.0NG.732'; $version = '7.0NG.732';
$build = '190311'; $build = '190319';
$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 = _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('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'});
}); });

View File

@ -88,6 +88,16 @@ $sort = get_parameter('sort', 'none');
$id_module = (int) get_parameter('id_module', 0); $id_module = (int) get_parameter('id_module', 0);
$ag_custom_fields = (array) get_parameter('ag_custom_fields', []); $ag_custom_fields = (array) get_parameter('ag_custom_fields', []);
$module_option = (int) get_parameter('module_option', 1); $module_option = (int) get_parameter('module_option', 1);
$autosearch = false;
// It is validated if it receives parameters different from those it has by default
if ($ag_freestring !== '' || $moduletype !== '' || $datatype !== ''
|| $ag_modulename !== '' || $refr !== 0 || $offset !== 0 || $status !== 4
|| $modulegroup !== -1 || $tag_filter !== 0 || $sortField !== ''
|| $sort !== 'none' || $id_module !== 0 || $module_option !== 1
) {
$autosearch = true;
}
if (!is_metaconsole()) { if (!is_metaconsole()) {
$ag_group = (int) get_parameter('ag_group', 0); $ag_group = (int) get_parameter('ag_group', 0);
@ -969,10 +979,8 @@ $sql = 'SELECT
ORDER BY '.$order['field'].' '.$order['order'].' ORDER BY '.$order['field'].' '.$order['order'].'
LIMIT '.$offset.','.$limit_sql; LIMIT '.$offset.','.$limit_sql;
// When you enter for the first time you have less than 4 query params in the url
$first_interaction = count($_GET) > 4;
// We do not show the modules until the user searches with the filter // We do not show the modules until the user searches with the filter
if ($first_interaction) { if ($autosearch) {
if (! defined('METACONSOLE')) { if (! defined('METACONSOLE')) {
$result = db_get_all_rows_sql($sql); $result = db_get_all_rows_sql($sql);
@ -1057,6 +1065,7 @@ if (($config['dbtype'] == 'oracle') && ($result !== false)) {
} }
} }
// Start Build List Result // Start Build List Result
// //
if (!empty($result)) { if (!empty($result)) {

View File

@ -1068,9 +1068,6 @@ function validate_event_advanced(id, new_status) {
next_row_id = row_id_name + '-' + row_id_number_next; next_row_id = row_id_name + '-' + row_id_number_next;
$("#"+previous_row_id).css('display', 'none'); $("#"+previous_row_id).css('display', 'none');
$("#"+current_row_id).css('display', 'none');
$("#"+selected_row_id).css('display', 'none');
$("#"+next_row_id).css('display', 'none');
} }
}); });

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.732 %define version 7.0NG.732
%define release 190311 %define release 190319
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.732 %define version 7.0NG.732
%define release 190311 %define release 190319
%define httpd_name httpd %define httpd_name httpd
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name apache2 %define httpd_name apache2

View File

@ -1,5 +1,5 @@
package: pandorafms-server package: pandorafms-server
Version: 7.0NG.732-190311 Version: 7.0NG.732-190319
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.732-190311" pandora_version="7.0NG.732-190319"
package_cpan=0 package_cpan=0
package_pandora=1 package_pandora=1

View File

@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.732"; my $pandora_version = "7.0NG.732";
my $pandora_build = "190311"; my $pandora_build = "190319";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash # Setup hash

View File

@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.732"; my $pandora_version = "7.0NG.732";
my $pandora_build = "190311"; my $pandora_build = "190319";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our %EXPORT_TAGS = ( 'all' => [ qw() ] );
@ -2018,6 +2018,12 @@ sub snmp_walk {
$timeout = $snmp->{timeout}; $timeout = $snmp->{timeout};
} }
if ($^O =~ /lin/i && "`which snmpwalk`" eq "") {
return {
'error' => 'snmpwalk not found'
};
}
$snmp->{extra} = '' unless defined $snmp->{extra}; $snmp->{extra} = '' unless defined $snmp->{extra};
if ( defined ($snmp->{version} ) if ( defined ($snmp->{version} )
@ -2131,6 +2137,12 @@ sub snmp_get {
$timeout = $snmp->{timeout}; $timeout = $snmp->{timeout};
} }
if ($^O =~ /lin/i && "`which snmpwalk`" eq "") {
return {
'error' => 'snmpwalk not found'
};
}
$snmp->{extra} = '' unless defined $snmp->{extra}; $snmp->{extra} = '' unless defined $snmp->{extra};
if ( defined ($snmp->{version} ) if ( defined ($snmp->{version} )

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.732 %define version 7.0NG.732
%define release 190311 %define release 190319
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.732 %define version 7.0NG.732
%define release 190311 %define release 190319
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -9,7 +9,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.732" PI_VERSION="7.0NG.732"
PI_BUILD="190311" PI_BUILD="190319"
MODE=$1 MODE=$1
if [ $# -gt 1 ]; then if [ $# -gt 1 ]; then

View File

@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB; use PandoraFMS::DB;
# version: define current version # version: define current version
my $version = "7.0NG.732 PS190311"; my $version = "7.0NG.732 PS190319";
# Pandora server configuration # Pandora server configuration
my %conf; my %conf;

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv; Encode::Locale::decode_argv;
# version: define current version # version: define current version
my $version = "7.0NG.732 PS190311"; my $version = "7.0NG.732 PS190319";
# save program name for logging # save program name for logging
my $progname = basename($0); my $progname = basename($0);