Solution conflict
This commit is contained in:
commit
87946161f3
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, AIX version
|
||||
# Version 7.0NG.770, AIX version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, FreeBSD Version
|
||||
# Version 7.0NG.770, FreeBSD Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, HP-UX Version
|
||||
# Version 7.0NG.770, HP-UX Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, GNU/Linux
|
||||
# Version 7.0NG.770, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, GNU/Linux
|
||||
# Version 7.0NG.770, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, Solaris Version
|
||||
# Version 7.0NG.770, Solaris Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Base config file for Pandora FMS Windows Agent
|
||||
# (c) 2006-2021 Artica Soluciones Tecnologicas
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# This program is Free Software, you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public Licence as published by the Free Software
|
||||
# Foundation; either version 2 of the Licence or any later version
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.769, AIX version
|
||||
# Version 7.0NG.770, AIX version
|
||||
|
||||
# General Parameters
|
||||
# ==================
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# FreeBSD/IPSO version
|
||||
# Licenced under GPL licence, 2003-2007 Sancho Lerena
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.769, HPUX Version
|
||||
# Version 7.0NG.770, HPUX Version
|
||||
|
||||
# General Parameters
|
||||
# ==================
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# Licensed under GPL license v2,
|
||||
# (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# please visit http://pandora.sourceforge.net
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# Licensed under GPL license v2,
|
||||
# (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# please visit http://pandora.sourceforge.net
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# Licensed under GPL license v2,
|
||||
# please visit http://pandora.sourceforge.net
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.769, Solaris version
|
||||
# Version 7.0NG.770, Solaris version
|
||||
|
||||
# General Parameters
|
||||
# ==================
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, AIX version
|
||||
# Version 7.0NG.770, AIX version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.769-230327
|
||||
Version: 7.0NG.770-230328
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.769-230327"
|
||||
pandora_version="7.0NG.770-230328"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -31,7 +31,7 @@ fi
|
|||
if [ "$#" -ge 2 ]; then
|
||||
VERSION="$2"
|
||||
else
|
||||
VERSION="7.0NG.769"
|
||||
VERSION="7.0NG.770"
|
||||
fi
|
||||
|
||||
# Path for the generated DMG file
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
<choice id="com.pandorafms.pandorafms_src" visible="false">
|
||||
<pkg-ref id="com.pandorafms.pandorafms_src"/>
|
||||
</choice>
|
||||
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.769" onConclusion="none">pandorafms_src.pdk</pkg-ref>
|
||||
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.770" onConclusion="none">pandorafms_src.pdk</pkg-ref>
|
||||
<choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
|
||||
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
|
||||
</choice>
|
||||
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.769" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
|
||||
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.770" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
|
||||
<!-- <installation-check script="check()" />
|
||||
<script>
|
||||
<![CDATA[
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
<key>CFBundleIconFile</key> <string>pandorafms.icns</string>
|
||||
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
|
||||
|
||||
<key>CFBundleVersion</key> <string>7.0NG.769</string>
|
||||
<key>CFBundleGetInfoString</key> <string>7.0NG.769 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string>
|
||||
<key>CFBundleShortVersionString</key> <string>7.0NG.769</string>
|
||||
<key>CFBundleVersion</key> <string>7.0NG.770</string>
|
||||
<key>CFBundleGetInfoString</key> <string>7.0NG.770 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string>
|
||||
<key>CFBundleShortVersionString</key> <string>7.0NG.770</string>
|
||||
|
||||
<key>NSPrincipalClass</key><string>NSApplication</string>
|
||||
<key>NSMainNibFile</key><string>MainMenu</string>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, GNU/Linux
|
||||
# Version 7.0NG.770, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, FreeBSD Version
|
||||
# Version 7.0NG.770, FreeBSD Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, HP-UX Version
|
||||
# Version 7.0NG.770, HP-UX Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, GNU/Linux
|
||||
# Version 7.0NG.770, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, GNU/Linux
|
||||
# Version 7.0NG.770, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, NetBSD Version
|
||||
# Version 7.0NG.770, NetBSD Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.769, Solaris Version
|
||||
# Version 7.0NG.770, Solaris Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1022,8 +1022,8 @@ my $Sem = undef;
|
|||
# Semaphore used to control the number of threads
|
||||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.769';
|
||||
use constant AGENT_BUILD => '230327';
|
||||
use constant AGENT_VERSION => '7.0NG.770';
|
||||
use constant AGENT_BUILD => '230328';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#
|
||||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_agent_linux
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#
|
||||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_agent_linux
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.769"
|
||||
PI_BUILD="230327"
|
||||
PI_VERSION="7.0NG.770"
|
||||
PI_BUILD="230328"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Base config file for Pandora FMS Windows Agent
|
||||
# (c) 2006-2021 Artica Soluciones Tecnologicas
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# This program is Free Software, you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public Licence as published by the Free Software
|
||||
# Foundation; either version 2 of the Licence or any later version
|
||||
|
|
|
@ -3,7 +3,7 @@ AllowLanguageSelection
|
|||
{Yes}
|
||||
|
||||
AppName
|
||||
{Pandora FMS Windows Agent v7.0NG.769}
|
||||
{Pandora FMS Windows Agent v7.0NG.770}
|
||||
|
||||
ApplicationID
|
||||
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
|
||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{230327}
|
||||
{230328}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.769 Build 230327")
|
||||
#define PANDORA_VERSION ("7.0NG.770 Build 230328")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
|||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(7.0NG.769(Build 230327))"
|
||||
VALUE "ProductVersion", "(7.0NG.770(Build 230328))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.769-230327
|
||||
Version: 7.0NG.770-230328
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.769-230327"
|
||||
pandora_version="7.0NG.770-230328"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -741,8 +741,8 @@ $outputForm .= ui_toggle(
|
|||
false,
|
||||
true,
|
||||
'',
|
||||
'',
|
||||
'box-flat white_table_flex white_table_graph_fixed'
|
||||
'white-box-content no_border',
|
||||
'filter-datatable-main box-flat white_table_graph'
|
||||
);
|
||||
|
||||
$outputForm .= ui_toggle(
|
||||
|
@ -753,8 +753,8 @@ $outputForm .= ui_toggle(
|
|||
true,
|
||||
true,
|
||||
'',
|
||||
'',
|
||||
'box-flat white_table_flex white_table_graph_fixed'
|
||||
'white-box-content no_border',
|
||||
'filter-datatable-main box-flat white_table_graph'
|
||||
);
|
||||
|
||||
$outputForm .= ui_toggle(
|
||||
|
@ -765,8 +765,8 @@ $outputForm .= ui_toggle(
|
|||
true,
|
||||
true,
|
||||
'',
|
||||
'',
|
||||
'box-flat white_table_flex white_table_graph_fixed'
|
||||
'white-box-content no_border',
|
||||
'filter-datatable-main box-flat white_table_graph'
|
||||
);
|
||||
|
||||
if ((int) $moduletype !== 13) {
|
||||
|
@ -784,8 +784,8 @@ if ((int) $moduletype !== 13) {
|
|||
true,
|
||||
true,
|
||||
'',
|
||||
'',
|
||||
'box-flat white_table_flex white_table_graph_fixed'
|
||||
'white-box-content no_border',
|
||||
'filter-datatable-main box-flat white_table_graph'
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -615,6 +615,7 @@ if (modules_is_string_type($id_module_type) === false || (bool) $edit === true)
|
|||
$table_simple->data['thresholds_table'][1] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
|
||||
}
|
||||
|
||||
$table_simple->rowclass['caption_historical_data'] = 'mrgn_top_10px';
|
||||
$table_simple->data['caption_historical_data'][0] = __('Historical data');
|
||||
if ($disabledBecauseInPolicy) {
|
||||
// If is disabled, we send a hidden in his place and print a false
|
||||
|
@ -1470,7 +1471,6 @@ $params['use_hidden_input_idagent'] = true;
|
|||
$params['print_hidden_input_idagent'] = true;
|
||||
$params['hidden_input_idagent_id'] = 'hidden-autocomplete_id_agent';
|
||||
$params['javascript_function_action_after_select_js_call'] = 'change_modules_autocomplete_input();';
|
||||
|
||||
$table_new_relations->data[0][0] = html_print_label_input_block(
|
||||
__('Agent'),
|
||||
ui_print_agent_autocomplete_input($params)
|
||||
|
@ -1503,9 +1503,11 @@ $table_new_relations->data[0][2] = html_print_label_input_block(
|
|||
)
|
||||
);
|
||||
|
||||
$table_new_relations->cellstyle[1][0] = 'width:100% !important;';
|
||||
$table_new_relations->cellclass[1][0] = 'flex flex-end';
|
||||
$table_new_relations->data[1][0] = "<div id='add_relation_status' class='inline_line' style='margin-right:10px'></div>".html_print_button(
|
||||
$table_new_relations->data[1][0] = ' ';
|
||||
$table_new_relations->data[1][1] = ' ';
|
||||
$table_new_relations->cellstyle[1][2] = 'width:100% !important;';
|
||||
$table_new_relations->cellclass[1][2] = 'flex flex-end';
|
||||
$table_new_relations->data[1][2] = "<div id='add_relation_status' class='inline_line' style='margin-right:10px'></div>".html_print_button(
|
||||
__('Add relationship')."<div id='add_relation_status'></div>",
|
||||
'add_relation',
|
||||
false,
|
||||
|
@ -1514,7 +1516,7 @@ $table_new_relations->data[1][0] = "<div id='add_relation_status' class='inline_
|
|||
'class' => 'mini',
|
||||
'icon' => 'next',
|
||||
'mode' => 'secondary',
|
||||
'style' => 'margin-top: 10px',
|
||||
'style' => 'margin-top: 10px; margin-right: 10px',
|
||||
],
|
||||
true
|
||||
);
|
||||
|
|
|
@ -152,9 +152,7 @@ foreach ($password_fields as $k => $p) {
|
|||
load_plugin_macros_fields('simple-macro');
|
||||
|
||||
forced_title_callback();
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
observerInputPassword();
|
||||
});
|
||||
$('select#id_plugin').select2('close');
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -42,8 +42,6 @@ if (empty($edit_module)) {
|
|||
}
|
||||
|
||||
$data = [];
|
||||
$data[0] = __('Target IP').' '.ui_print_help_icon('wmi_module_tab', true);
|
||||
|
||||
if ($page == 'enterprise/godmode/policies/policy_modules') {
|
||||
if ($ip_target != 'auto' && $ip_target != '') {
|
||||
$custom_ip_target = $ip_target;
|
||||
|
@ -60,7 +58,7 @@ if ($page == 'enterprise/godmode/policies/policy_modules') {
|
|||
$target_ip_values['force_pri'] = __('Force primary key');
|
||||
$target_ip_values['custom'] = __('Custom');
|
||||
|
||||
$data[1] = html_print_select(
|
||||
$inputs = html_print_select(
|
||||
$target_ip_values,
|
||||
'ip_target',
|
||||
$ip_target,
|
||||
|
@ -72,109 +70,171 @@ if ($page == 'enterprise/godmode/policies/policy_modules') {
|
|||
false,
|
||||
'',
|
||||
false,
|
||||
'width:200px;'
|
||||
'width: 100%; margin-top: 10px;'
|
||||
);
|
||||
|
||||
$data[1] .= html_print_input_text('custom_ip_target', $custom_ip_target, '', 15, 60, true);
|
||||
$inputs .= html_print_input_text('custom_ip_target', $custom_ip_target, '', 15, 60, true);
|
||||
} else {
|
||||
if ($ip_target == 'auto') {
|
||||
$ip_target = agents_get_address($id_agente);
|
||||
}
|
||||
|
||||
$data[1] = html_print_input_text('ip_target', $ip_target, '', 15, 60, true);
|
||||
$inputs = html_print_input_text(
|
||||
'ip_target',
|
||||
$ip_target,
|
||||
'',
|
||||
15,
|
||||
60,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'mrgn_top_10px w100p'
|
||||
);
|
||||
}
|
||||
|
||||
$data[2] = __('Namespace').ui_print_help_tip(__('Optional. WMI namespace. If unsure leave blank.'), true);
|
||||
$data[3] = html_print_input_text(
|
||||
'tcp_send',
|
||||
$tcp_send,
|
||||
'',
|
||||
5,
|
||||
20,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
$data[0] = html_print_label_input_block(
|
||||
__('Target IP').' <span class="help_icon_15px">'.ui_print_help_icon('wmi_module_tab', true),
|
||||
$inputs,
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w100p mrgn_right_20px',
|
||||
]
|
||||
);
|
||||
|
||||
$data[2] = html_print_label_input_block(
|
||||
__('Namespace').ui_print_help_tip(__('Optional. WMI namespace. If unsure leave blank.'), true),
|
||||
html_print_input_text(
|
||||
'tcp_send',
|
||||
$tcp_send,
|
||||
'',
|
||||
5,
|
||||
20,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy.' mrgn_top_10px w100p'
|
||||
),
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w100p mrgn_right_20px',
|
||||
]
|
||||
);
|
||||
push_table_simple($data, 'target_ip');
|
||||
|
||||
$data = [];
|
||||
$data[0] = __('Username');
|
||||
$data[1] = html_print_input_text(
|
||||
'plugin_user',
|
||||
$plugin_user,
|
||||
'',
|
||||
15,
|
||||
60,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
$data[0] = html_print_label_input_block(
|
||||
__('Username'),
|
||||
html_print_input_text(
|
||||
'plugin_user',
|
||||
$plugin_user,
|
||||
'',
|
||||
15,
|
||||
60,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy.' w100p'
|
||||
),
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w100p display-grid mrgn_right_20px',
|
||||
]
|
||||
);
|
||||
$data[2] = __('Password');
|
||||
$data[3] = html_print_input_password(
|
||||
'plugin_pass',
|
||||
'',
|
||||
'',
|
||||
15,
|
||||
60,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
$classdisabledBecauseInPolicy,
|
||||
'new-password'
|
||||
|
||||
$data[2] = html_print_label_input_block(
|
||||
__('Password'),
|
||||
html_print_input_password(
|
||||
'plugin_pass',
|
||||
'',
|
||||
'',
|
||||
15,
|
||||
60,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
$classdisabledBecauseInPolicy.' w100p',
|
||||
'new-password',
|
||||
true
|
||||
),
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w100p display-grid mrgn_right_20px',
|
||||
]
|
||||
);
|
||||
$table_simple->rowclass['user_pass'] = 'w100p mrgn_top_10px';
|
||||
|
||||
push_table_simple($data, 'user_pass');
|
||||
|
||||
$data = [];
|
||||
$data[0] = __('WMI query');
|
||||
$data[1] = html_print_input_text(
|
||||
'snmp_oid',
|
||||
$snmp_oid,
|
||||
'',
|
||||
35,
|
||||
255,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
$data[0] = html_print_label_input_block(
|
||||
__('WMI query'),
|
||||
html_print_input_text(
|
||||
'snmp_oid',
|
||||
$snmp_oid,
|
||||
'',
|
||||
35,
|
||||
255,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
),
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w100p display-grid mrgn_right_20px',
|
||||
]
|
||||
);
|
||||
$table_simple->colspan['wmi_query'][1] = 3;
|
||||
|
||||
$data[2] = html_print_label_input_block(
|
||||
__('Key string').ui_print_help_tip(__('Optional. Substring to look for in the WQL query result. The module returns 1 if found, 0 if not.'), true),
|
||||
html_print_input_text(
|
||||
'snmp_community',
|
||||
$snmp_community,
|
||||
'',
|
||||
20,
|
||||
60,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
),
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w100p display-grid mrgn_right_20px',
|
||||
]
|
||||
);
|
||||
$table_simple->rowclass['wmi_query'] = 'w100p mrgn_top_10px';
|
||||
|
||||
push_table_simple($data, 'wmi_query');
|
||||
|
||||
$data = [];
|
||||
$data[0] = __('Key string').ui_print_help_tip(__('Optional. Substring to look for in the WQL query result. The module returns 1 if found, 0 if not.'), true);
|
||||
$data[1] = html_print_input_text(
|
||||
'snmp_community',
|
||||
$snmp_community,
|
||||
'',
|
||||
20,
|
||||
60,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
);
|
||||
$data[2] = __('Field number').ui_print_help_tip(__('Column number to retrieve from the WQL query result (starting from zero).'), true);
|
||||
$data[3] = html_print_input_text(
|
||||
'tcp_port',
|
||||
$tcp_port,
|
||||
'',
|
||||
5,
|
||||
15,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
$data[0] = html_print_label_input_block(
|
||||
__('Field number').ui_print_help_tip(__('Column number to retrieve from the WQL query result (starting from zero).'), true),
|
||||
html_print_input_text(
|
||||
'tcp_port',
|
||||
$tcp_port,
|
||||
'',
|
||||
5,
|
||||
15,
|
||||
true,
|
||||
$disabledBecauseInPolicy,
|
||||
false,
|
||||
'',
|
||||
$classdisabledBecauseInPolicy.' mrgn_right_20px'
|
||||
),
|
||||
[
|
||||
'label_class' => 'font-title-font',
|
||||
'div_class' => 'w50p display-grid',
|
||||
]
|
||||
);
|
||||
|
||||
$table_simple->rowclass['key_field'] = 'w100p mrgn_top_10px';
|
||||
|
||||
push_table_simple($data, 'key_field');
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
|
@ -191,11 +251,6 @@ $(document).ready (function () {
|
|||
$("#text-custom_ip_target").hide();
|
||||
}
|
||||
});
|
||||
|
||||
// Add input password values with js to hide it in browser inspector.
|
||||
$('#password-plugin_pass').val('<?php echo $plugin_pass; ?>');
|
||||
|
||||
observerInputPassword();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -228,11 +228,24 @@ if (isset($_GET['server']) === true) {
|
|||
$advanced_editor = false;
|
||||
|
||||
if ($server_type === 13) {
|
||||
echo "<table cellpadding='4' cellspacing='4' class='databox filters font_bold margin-bottom-10' width='100%'>
|
||||
echo "<table cellpadding='4' cellspacing='4' class='databox filters margin-bottom-10 max_floating_element_size filter-table-adv'>
|
||||
<tr>";
|
||||
echo '<td class="w100p">';
|
||||
echo __('Dynamic search').' ';
|
||||
html_print_input_text('search_config_token', $search, '', 12);
|
||||
echo html_print_label_input_block(
|
||||
__('Dynamic search'),
|
||||
html_print_input_text(
|
||||
'search_config_token',
|
||||
$search,
|
||||
'',
|
||||
12,
|
||||
255,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'',
|
||||
'w400px'
|
||||
)
|
||||
);
|
||||
echo '</td>';
|
||||
echo '</tr></table>';
|
||||
}
|
||||
|
|
|
@ -254,7 +254,7 @@ foreach ($servers as $server) {
|
|||
|
||||
$data[8] .= '<a href="'.ui_get_full_url('index.php?sec=gservers&sec2=godmode/servers/modificar_server&server_remote='.$server['id_server'].'&ext='.$ext).'">';
|
||||
$data[8] .= html_print_image(
|
||||
'images/remote_configuration@svg.svg',
|
||||
'images/remote-configuration@svg.svg',
|
||||
true,
|
||||
[
|
||||
'title' => __('Remote configuration'),
|
||||
|
|
|
@ -640,7 +640,6 @@ if ($update_user) {
|
|||
}
|
||||
|
||||
$values = [];
|
||||
$values['id_user'] = (string) get_parameter('id_user');
|
||||
$values['fullname'] = (string) get_parameter('fullname');
|
||||
$values['firstname'] = (string) get_parameter('firstname');
|
||||
$values['lastname'] = (string) get_parameter('lastname');
|
||||
|
@ -658,7 +657,7 @@ if ($update_user) {
|
|||
$values['time_autorefresh'] = (int) get_parameter('time_autorefresh');
|
||||
// API Token information.
|
||||
$apiTokenRenewed = (bool) get_parameter('renewAPIToken');
|
||||
$values['api_token'] = ($apiTokenRenewed === true) ? api_token_generate() : users_get_API_token($values['id_user']);
|
||||
$values['api_token'] = ($apiTokenRenewed === true) ? api_token_generate() : users_get_API_token($id);
|
||||
|
||||
if (users_is_admin() === false && (bool) $values['is_admin'] !== false) {
|
||||
db_pandora_audit(
|
||||
|
@ -806,7 +805,7 @@ if ($update_user) {
|
|||
$has_skin = false;
|
||||
$has_wizard = false;
|
||||
|
||||
$info = '{"id_user":"'.$values['id_user'].'",
|
||||
$info = '{"id_user":"'.$id.'",
|
||||
"FullName":"'.$values['fullname'].'",
|
||||
"Firstname":"'.$values['firstname'].'",
|
||||
"Lastname":"'.$values['lastname'].'",
|
||||
|
@ -1264,10 +1263,12 @@ if ($new_user) {
|
|||
|
||||
if (is_metaconsole() === false) {
|
||||
// User only can change skins if has more than one group.
|
||||
if (count($usr_groups) > 1) {
|
||||
if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) {
|
||||
$skin = '<div class="label_select"><p class="edit_user_labels">'.__('Skin').'</p>';
|
||||
$skin .= skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true).'</div>';
|
||||
if (function_exists('skins_print_select')) {
|
||||
if (count($usr_groups) > 1) {
|
||||
if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) {
|
||||
$skin = '<div class="label_select"><p class="edit_user_labels">'.__('Skin').'</p>';
|
||||
$skin .= skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true).'</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1045,20 +1045,6 @@ if ($is_management_allowed === true) {
|
|||
} else {
|
||||
echo '<i>'.__("The current authentication scheme doesn't support creating users on %s", get_product_name()).'</i>';
|
||||
}
|
||||
} else {
|
||||
html_print_action_buttons(
|
||||
html_print_submit_button(
|
||||
__('Create user'),
|
||||
'none',
|
||||
true,
|
||||
[ 'icon' => 'wand' ],
|
||||
true
|
||||
),
|
||||
[
|
||||
'type' => 'form_action',
|
||||
'right_content' => $tablePagination,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -157,7 +157,7 @@ if ($new_user === true) {
|
|||
true
|
||||
);
|
||||
} else {
|
||||
// TODO. Show the user id with a label.
|
||||
$userManagementTable->data['fields_iduser'][0] = html_print_input_hidden('id', $id, false, false, false, 'id');
|
||||
}
|
||||
|
||||
// User Full name.
|
||||
|
@ -572,8 +572,10 @@ if (is_metaconsole() === true) {
|
|||
$userManagementTable->data['line2_looknfeel'][1] = $outputMetaAccess[1];
|
||||
}
|
||||
} else {
|
||||
$userManagementTable->data['line1_looknfeel'][1] = __('User color scheme');
|
||||
$userManagementTable->data['line2_looknfeel'][1] = skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true);
|
||||
if (function_exists('skins_print_select')) {
|
||||
$userManagementTable->data['line1_looknfeel'][1] = __('User color scheme');
|
||||
$userManagementTable->data['line2_looknfeel'][1] = skins_print_select($id_usr, 'skin', $user_info['id_skin'], '', __('None'), 0, true);
|
||||
}
|
||||
}
|
||||
|
||||
$userManagementTable->rowclass['captions_blocksize_eventfilter'] = 'field_half_width';
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
|
@ -26,6 +26,8 @@
|
|||
* ============================================================================
|
||||
*/
|
||||
|
||||
use PandoraFMS\Enterprise\Metaconsole\Node;
|
||||
|
||||
if (is_ajax() === true) {
|
||||
global $config;
|
||||
|
||||
|
@ -216,6 +218,12 @@ if (is_ajax() === true) {
|
|||
if ($getInfo === true) {
|
||||
enterprise_include_once('include/functions_agents.php');
|
||||
$id = get_parameter('id', 0);
|
||||
$id_server = get_parameter('id_server', 0);
|
||||
if (empty($id_server) === false) {
|
||||
$nd = new Node($id_server);
|
||||
$nd->connect();
|
||||
}
|
||||
|
||||
switch ($type) {
|
||||
case 3:
|
||||
case 2:
|
||||
|
@ -375,6 +383,10 @@ if (is_ajax() === true) {
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (empty($id_server) === false) {
|
||||
$nd->disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -162,7 +162,7 @@ class SatelliteAgent extends HTML
|
|||
[
|
||||
'id' => $this->tableId,
|
||||
'class' => 'info_table',
|
||||
'style' => 'width: 100%',
|
||||
'style' => 'width: 99%',
|
||||
'columns' => $columns,
|
||||
'column_names' => $column_names,
|
||||
'ajax_url' => $this->ajaxController,
|
||||
|
@ -200,6 +200,7 @@ class SatelliteAgent extends HTML
|
|||
],
|
||||
],
|
||||
],
|
||||
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
|
||||
]
|
||||
);
|
||||
} catch (Exception $e) {
|
||||
|
@ -213,10 +214,7 @@ class SatelliteAgent extends HTML
|
|||
|
||||
echo $modal.$msg.$aux;
|
||||
|
||||
echo '<div style="display: flex;justify-content: space-between;">';
|
||||
|
||||
echo '<div class="flex-content-left">';
|
||||
html_print_select(
|
||||
$select = html_print_select(
|
||||
[
|
||||
'0' => 'Disable / Enable selected agents',
|
||||
'1' => 'Delete / Create selected agents',
|
||||
|
@ -226,30 +224,32 @@ class SatelliteAgent extends HTML
|
|||
'',
|
||||
'',
|
||||
0,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
html_print_submit_button(
|
||||
$execute = html_print_submit_button(
|
||||
__('Execute action'),
|
||||
'submit_satellite_action',
|
||||
false,
|
||||
'class="sub next"'
|
||||
[
|
||||
'icon' => 'cog',
|
||||
'class' => 'secondary',
|
||||
],
|
||||
true
|
||||
);
|
||||
echo '</div>';
|
||||
|
||||
// Create button add host.
|
||||
echo '<div class="flex-content-right">';
|
||||
html_print_submit_button(
|
||||
$add = html_print_submit_button(
|
||||
__('Add host'),
|
||||
'create',
|
||||
false,
|
||||
'class="sub next"'
|
||||
['icon' => 'next'],
|
||||
true
|
||||
);
|
||||
echo '</div>';
|
||||
|
||||
echo '</div>';
|
||||
html_print_action_buttons($add.$execute.$select);
|
||||
|
||||
// Load own javascript file.
|
||||
echo $this->loadJS();
|
||||
|
@ -503,6 +503,7 @@ class SatelliteAgent extends HTML
|
|||
'arguments' => [
|
||||
'name' => 'address',
|
||||
'type' => 'text',
|
||||
'class' => 'w100p',
|
||||
'value' => $values['address'],
|
||||
'return' => true,
|
||||
],
|
||||
|
@ -514,6 +515,7 @@ class SatelliteAgent extends HTML
|
|||
'arguments' => [
|
||||
'name' => 'name',
|
||||
'type' => 'text',
|
||||
'class' => 'w100p',
|
||||
'value' => $values['name'],
|
||||
'return' => true,
|
||||
],
|
||||
|
@ -1244,7 +1246,7 @@ class SatelliteAgent extends HTML
|
|||
$('input[name*=check_]').prop('checked', check);
|
||||
});
|
||||
|
||||
$('#submit-submit_satellite_action').click(function() {
|
||||
$('#button-submit_satellite_action').click(function() {
|
||||
const checks = $('input[name*=check_]:checked');
|
||||
const action = $('#satellite_action').val();
|
||||
let agent_delete_error = [];
|
||||
|
|
|
@ -142,7 +142,7 @@ class SatelliteCollection extends HTML
|
|||
[
|
||||
'id' => $this->tableId,
|
||||
'class' => 'info_table',
|
||||
'style' => 'width: 100%',
|
||||
'style' => 'width: 99%',
|
||||
'columns' => $columns,
|
||||
'column_names' => $column_names,
|
||||
'ajax_url' => $this->ajaxController,
|
||||
|
@ -164,10 +164,12 @@ class SatelliteCollection extends HTML
|
|||
'label' => __('Search'),
|
||||
'type' => 'text',
|
||||
'name' => 'filter_search',
|
||||
'class' => 'w400px',
|
||||
'size' => 12,
|
||||
],
|
||||
],
|
||||
],
|
||||
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
|
||||
]
|
||||
);
|
||||
} catch (Exception $e) {
|
||||
|
@ -176,6 +178,7 @@ class SatelliteCollection extends HTML
|
|||
|
||||
echo '<div id="aux" class="invisible"></div>';
|
||||
echo '<div id="msg" class="invisible"></div>';
|
||||
html_print_action_buttons('');
|
||||
|
||||
// Load own javascript file.
|
||||
echo $this->loadJS();
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC230327';
|
||||
$pandora_version = 'v7.0NG.769';
|
||||
$build_version = 'PC230328';
|
||||
$pandora_version = 'v7.0NG.770';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
$script_tz = @date_default_timezone_get();
|
||||
|
|
|
@ -281,6 +281,7 @@ function menu_print_menu(&$menu)
|
|||
if (($sec2 == $subsec2 || $allsec2 == $subsec2
|
||||
|| $selected_submenu2) && isset($sub[$subsec2]['options'])
|
||||
&& (get_parameter_get($sub[$subsec2]['options']['name']) == $sub[$subsec2]['options']['value'])
|
||||
&& $main['id'] !== 'fav-menu'
|
||||
) {
|
||||
// If the subclass is selected and there are options and that options value is true.
|
||||
$class .= 'submenu_selected selected';
|
||||
|
@ -288,7 +289,7 @@ function menu_print_menu(&$menu)
|
|||
$menu2_selected = $sub['id'];
|
||||
$selected = true;
|
||||
$visible = true;
|
||||
} else if (($sec2 === $subsec2 || $allsec2 === $subsec2 || $selected_submenu2 === true) && isset($sub[$subsec2]['options']) === false) {
|
||||
} else if (($sec2 === $subsec2 || $allsec2 === $subsec2 || $selected_submenu2 === true) && isset($sub[$subsec2]['options']) === false && $main['id'] !== 'fav-menu') {
|
||||
$class .= 'submenu_selected selected';
|
||||
$selected = true;
|
||||
$menu_selected = true;
|
||||
|
@ -410,7 +411,7 @@ function menu_print_menu(&$menu)
|
|||
|
||||
$class = 'sub_subMenu';
|
||||
|
||||
if ($key == $sec2) {
|
||||
if ($key == $sec2 && $main['id'] !== 'fav-menu') {
|
||||
$class .= ' selected';
|
||||
}
|
||||
|
||||
|
|
|
@ -1562,3 +1562,36 @@ function showManualThresholds(element) {
|
|||
$(".dashboard-input-threshold-critical").addClass("invisible_important");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {void}
|
||||
*/
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
function type_change() {
|
||||
var type = document.getElementById("type").value;
|
||||
|
||||
switch (type) {
|
||||
case "3":
|
||||
$("#li_tags").hide();
|
||||
$("#li_groups").hide();
|
||||
$("#li_module_groups").hide();
|
||||
break;
|
||||
case "2":
|
||||
$("#li_tags").hide();
|
||||
$("#li_groups").hide();
|
||||
$("#li_module_groups").show();
|
||||
break;
|
||||
case "1":
|
||||
$("#li_tags").show();
|
||||
$("#li_groups").hide();
|
||||
$("#li_module_groups").hide();
|
||||
break;
|
||||
|
||||
default:
|
||||
case "0":
|
||||
$("#li_tags").hide();
|
||||
$("#li_groups").show();
|
||||
$("#li_module_groups").hide();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -652,13 +652,10 @@ var TreeController = {
|
|||
typeof element.icon != "undefined" &&
|
||||
element.icon.length > 0
|
||||
) {
|
||||
console.log("a");
|
||||
console.log(controller);
|
||||
$content.append(
|
||||
'<div class="node-icon"><div class="node-icon-container"><img src="' +
|
||||
(controller.baseURL.length > 0 ? controller.baseURL : "") +
|
||||
(treeController.meta != undefined &&
|
||||
treeController.meta == 1
|
||||
(controller.meta != undefined && controller.meta == 1
|
||||
? "../../images/"
|
||||
: "images/") +
|
||||
element.icon +
|
||||
|
|
|
@ -426,6 +426,10 @@ class Widget
|
|||
$className .= '\\'.$name;
|
||||
break;
|
||||
|
||||
case 'heatmap':
|
||||
$className .= '\HeatmapWidget';
|
||||
break;
|
||||
|
||||
default:
|
||||
$className = false;
|
||||
break;
|
||||
|
|
|
@ -0,0 +1,478 @@
|
|||
<?php
|
||||
/**
|
||||
* Widget Heatmap Pandora FMS Console
|
||||
*
|
||||
* @category Console Class
|
||||
* @package Pandora FMS
|
||||
* @subpackage Widget Heatmap
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2023 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.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
namespace PandoraFMS\Dashboard;
|
||||
|
||||
global $config;
|
||||
|
||||
require_once $config['homedir'].'/include/class/Heatmap.class.php';
|
||||
|
||||
use PandoraFMS\Heatmap;
|
||||
|
||||
/**
|
||||
* Heatmap Widgets.
|
||||
*/
|
||||
class HeatmapWidget extends Widget
|
||||
{
|
||||
|
||||
/**
|
||||
* Name widget.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* Title widget.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $title;
|
||||
|
||||
/**
|
||||
* Page widget;
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $page;
|
||||
|
||||
/**
|
||||
* Class name widget.
|
||||
*
|
||||
* @var [type]
|
||||
*/
|
||||
protected $className;
|
||||
|
||||
/**
|
||||
* Values options for each widget.
|
||||
*
|
||||
* @var [type]
|
||||
*/
|
||||
protected $values;
|
||||
|
||||
/**
|
||||
* Configuration required.
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $configurationRequired;
|
||||
|
||||
/**
|
||||
* Error load widget.
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $loadError;
|
||||
|
||||
/**
|
||||
* Width.
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
protected $width;
|
||||
|
||||
/**
|
||||
* Heigth.
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
protected $height;
|
||||
|
||||
/**
|
||||
* Dashboard ID.
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
protected $dashboardId;
|
||||
|
||||
/**
|
||||
* Cell ID.
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
protected $cellId;
|
||||
|
||||
|
||||
/**
|
||||
* Construct.
|
||||
*
|
||||
* @param integer $cellId Cell ID.
|
||||
* @param integer $dashboardId Dashboard ID.
|
||||
* @param integer $widgetId Widget ID.
|
||||
* @param integer|null $width New width.
|
||||
* @param integer|null $height New height.
|
||||
*/
|
||||
public function __construct(
|
||||
int $cellId,
|
||||
int $dashboardId=0,
|
||||
int $widgetId=0,
|
||||
?int $width=0,
|
||||
?int $height=0
|
||||
) {
|
||||
global $config;
|
||||
|
||||
// Includes.
|
||||
// WARNING: Do not edit. This chunk must be in the constructor.
|
||||
parent::__construct(
|
||||
$cellId,
|
||||
$dashboardId,
|
||||
$widgetId
|
||||
);
|
||||
|
||||
// Width.
|
||||
$this->width = $width;
|
||||
|
||||
// Height.
|
||||
$this->height = $height;
|
||||
|
||||
// Cell Id.
|
||||
$this->cellId = $cellId;
|
||||
|
||||
// Widget ID.
|
||||
$this->widgetId = $widgetId;
|
||||
|
||||
// Dashboard ID.
|
||||
$this->dashboardId = $dashboardId;
|
||||
|
||||
// Options.
|
||||
$this->values = $this->decoders($this->getOptionsWidget());
|
||||
|
||||
// Page.
|
||||
$this->page = basename(__FILE__);
|
||||
|
||||
// ClassName.
|
||||
$class = new \ReflectionClass($this);
|
||||
$this->className = $class->getShortName();
|
||||
|
||||
// Title.
|
||||
$this->title = __('Heatmap');
|
||||
|
||||
// Name.
|
||||
if (empty($this->name) === true) {
|
||||
$this->name = 'heatmap';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Decoders hack for retrocompability.
|
||||
*
|
||||
* @param array $decoder Values.
|
||||
*
|
||||
* @return array Returns the values with the correct key.
|
||||
*/
|
||||
public function decoders(array $decoder): array
|
||||
{
|
||||
$values = [];
|
||||
// Retrieve global - common inputs.
|
||||
$values = parent::decoders($decoder);
|
||||
|
||||
if (isset($decoder['search']) === true) {
|
||||
$values['search'] = $decoder['search'];
|
||||
}
|
||||
|
||||
if (isset($decoder['type']) === true) {
|
||||
$values['type'] = $decoder['type'];
|
||||
}
|
||||
|
||||
if (isset($decoder['groups']) === true) {
|
||||
$values['groups'] = $decoder['groups'];
|
||||
}
|
||||
|
||||
if (isset($decoder['tags']) === true) {
|
||||
$values['tags'] = $decoder['tags'];
|
||||
}
|
||||
|
||||
if (isset($decoder['module_groups']) === true) {
|
||||
$values['module_groups'] = $decoder['module_groups'];
|
||||
}
|
||||
|
||||
return $values;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generates inputs for form (specific).
|
||||
*
|
||||
* @return array Of inputs.
|
||||
*
|
||||
* @throws Exception On error.
|
||||
*/
|
||||
public function getFormInputs(): array
|
||||
{
|
||||
global $config;
|
||||
// Retrieve global - common inputs.
|
||||
$inputs = parent::getFormInputs();
|
||||
|
||||
$values = $this->values;
|
||||
|
||||
// Search.
|
||||
$inputs[] = [
|
||||
'label' => \__('Search'),
|
||||
'arguments' => [
|
||||
'name' => 'search',
|
||||
'type' => 'text',
|
||||
'class' => 'event-widget-input',
|
||||
'value' => $values['search'],
|
||||
'return' => true,
|
||||
'size' => 30,
|
||||
],
|
||||
];
|
||||
|
||||
$inputs[] = [
|
||||
'label' => __('Type'),
|
||||
'arguments' => [
|
||||
'type' => 'select',
|
||||
'fields' => [
|
||||
0 => __('Group agents'),
|
||||
1 => __('Group modules by tag'),
|
||||
2 => __('Group modules by module group'),
|
||||
3 => __('Group modules by agents'),
|
||||
],
|
||||
'name' => 'type',
|
||||
'selected' => $values['type'],
|
||||
'script' => 'type_change()',
|
||||
'return' => true,
|
||||
],
|
||||
];
|
||||
|
||||
// Filters.
|
||||
$inputs[] = [
|
||||
'label' => __('Groups'),
|
||||
'style' => ($values['type'] === '0') ? '' : 'display:none',
|
||||
'id' => 'li_groups',
|
||||
'arguments' => [
|
||||
'type' => 'select_groups',
|
||||
'name' => 'groups[]',
|
||||
'returnAllGroup' => true,
|
||||
'privilege' => 'AR',
|
||||
'selected' => explode(',', $values['groups'][0]),
|
||||
'return' => true,
|
||||
'multiple' => true,
|
||||
],
|
||||
];
|
||||
|
||||
if (tags_has_user_acl_tags($config['id_user']) === false) {
|
||||
$tags = db_get_all_rows_sql(
|
||||
'SELECT id_tag, name FROM ttag WHERE id_tag ORDER BY name'
|
||||
);
|
||||
} else {
|
||||
$user_tags = tags_get_user_tags($config['id_user'], 'AR');
|
||||
if (empty($user_tags) === false) {
|
||||
$id_user_tags = array_keys($user_tags);
|
||||
$tags = db_get_all_rows_sql(
|
||||
'SELECT id_tag, name FROM ttag
|
||||
WHERE id_tag IN ('.implode(',', $id_user_tags).')
|
||||
ORDER BY name'
|
||||
);
|
||||
} else {
|
||||
$tags = db_get_all_rows_sql(
|
||||
'SELECT id_tag, name FROM ttag WHERE id_tag ORDER BY name'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$inputs[] = [
|
||||
'label' => __('Tag'),
|
||||
'style' => ($values['type'] === '1') ? '' : 'display:none',
|
||||
'id' => 'li_tags',
|
||||
'arguments' => [
|
||||
'type' => 'select',
|
||||
'fields' => $tags,
|
||||
'name' => 'tags[]',
|
||||
'selected' => explode(',', $values['tags'][0]),
|
||||
'return' => true,
|
||||
'multiple' => true,
|
||||
],
|
||||
];
|
||||
|
||||
$module_groups_aux = db_get_all_rows_sql(
|
||||
'SELECT id_mg, name FROM tmodule_group ORDER BY name'
|
||||
);
|
||||
|
||||
$module_groups = [];
|
||||
foreach ($module_groups_aux as $key => $module_group) {
|
||||
$module_groups[$module_group['id_mg']] = $module_group['name'];
|
||||
}
|
||||
|
||||
$inputs[] = [
|
||||
'label' => __('Module group'),
|
||||
'style' => ($values['type'] === '2') ? '' : 'display:none',
|
||||
'id' => 'li_module_groups',
|
||||
'arguments' => [
|
||||
'type' => 'select',
|
||||
'fields' => $module_groups,
|
||||
'name' => 'module_groups[]',
|
||||
'selected' => explode(',', $values['module_groups'][0]),
|
||||
'return' => true,
|
||||
'multiple' => true,
|
||||
'nothing' => __('Not assigned'),
|
||||
'nothing_value' => 0,
|
||||
],
|
||||
];
|
||||
|
||||
return $inputs;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get Post for widget.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getPost(): array
|
||||
{
|
||||
// Retrieve global - common inputs.
|
||||
$values = parent::getPost();
|
||||
|
||||
$values['search'] = \get_parameter('search', '');
|
||||
$values['type'] = \get_parameter('type', 0);
|
||||
|
||||
switch ((int) $values['type']) {
|
||||
case 2:
|
||||
$values['module_groups'] = \get_parameter('module_groups', 0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$values['tags'] = \get_parameter('tags', 0);
|
||||
break;
|
||||
|
||||
case 0:
|
||||
$values['groups'] = \get_parameter('groups', 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Do nothing.
|
||||
break;
|
||||
}
|
||||
|
||||
return $values;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get description.
|
||||
*
|
||||
* @return string.
|
||||
*/
|
||||
public static function getDescription()
|
||||
{
|
||||
return __('Heatmap');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get Name.
|
||||
*
|
||||
* @return string.
|
||||
*/
|
||||
public static function getName()
|
||||
{
|
||||
return 'heatmap';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get size Modal Configuration.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getSizeModalConfiguration(): array
|
||||
{
|
||||
$size = [
|
||||
'width' => 500,
|
||||
'height' => 300,
|
||||
];
|
||||
|
||||
return $size;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Draw widget.
|
||||
*
|
||||
* @return string;
|
||||
*/
|
||||
public function load()
|
||||
{
|
||||
global $config;
|
||||
|
||||
\ui_require_css_file('heatmap', 'include/styles/', true);
|
||||
|
||||
$values = $this->values;
|
||||
$search = (empty($values['search']) === false) ? $values['search'] : '';
|
||||
$type = (empty($values['type']) === false) ? $values['type'] : 0;
|
||||
$filter = [];
|
||||
if (isset($values['groups'])) {
|
||||
$filter = explode(',', $values['groups'][0]);
|
||||
}
|
||||
|
||||
if (isset($values['tags'])) {
|
||||
$filter = explode(',', $values['tags'][0]);
|
||||
}
|
||||
|
||||
if (isset($values['module_groups'])) {
|
||||
$filter = explode(',', $values['module_groups'][0]);
|
||||
}
|
||||
|
||||
// Control call flow.
|
||||
$heatmap = new Heatmap($type, $filter, null, 300, 400, 200, $search, 0, true);
|
||||
// AJAX controller.
|
||||
if (is_ajax() === true) {
|
||||
$method = get_parameter('method');
|
||||
|
||||
if ($method === 'drawWidget') {
|
||||
// Run.
|
||||
$heatmap->run();
|
||||
} else {
|
||||
if (method_exists($heatmap, $method) === true) {
|
||||
if ($heatmap->ajaxMethod($method) === true) {
|
||||
$heatmap->{$method}();
|
||||
} else {
|
||||
echo 'Unavailable method';
|
||||
}
|
||||
} else {
|
||||
echo 'Method not found';
|
||||
}
|
||||
|
||||
// Stop any execution.
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
// Run.
|
||||
$heatmap->run();
|
||||
|
||||
// Dialog.
|
||||
echo '<div id="config_dialog" style="padding:15px" class="invisible"></div>';
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -11463,31 +11463,6 @@ p.trademark-copyright {
|
|||
height: 24px;
|
||||
}
|
||||
|
||||
form#satellite_conf_edit {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-items: baseline;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
form#satellite_conf_edit > fieldset {
|
||||
background-color: #fff;
|
||||
// border: 1px solid #e2e2e2;
|
||||
padding: 0.5em;
|
||||
margin: 0px 1em;
|
||||
margin-bottom: 20px;
|
||||
position: relative;
|
||||
border-radius: 5px;
|
||||
flex: 1 1 700px;
|
||||
}
|
||||
|
||||
form#satellite_conf_edit > fieldset.full-column {
|
||||
width: 100%;
|
||||
flex: none;
|
||||
margin: 0 0 20px;
|
||||
}
|
||||
|
||||
.input_sub_placeholder {
|
||||
font-size: 8pt;
|
||||
color: #8a96a6;
|
||||
|
@ -11772,3 +11747,7 @@ div.relative > div > div#ui-datepicker-div {
|
|||
border: none !important;
|
||||
border-bottom: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
|
||||
span.help_icon_15px > img {
|
||||
height: 15px !important;
|
||||
}
|
||||
|
|
|
@ -741,6 +741,10 @@ tr.datos2 > td.datos2 > div > div > label {
|
|||
line-height: 16px;
|
||||
}
|
||||
|
||||
td[id^="basic_thresholds-"] .switch_radio_button > label[id^="label-radius"] {
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.mgn_tp_0_imp {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
|
@ -823,3 +827,13 @@ div[id^="auto-os-"] > img {
|
|||
.w22px {
|
||||
width: 22px;
|
||||
}
|
||||
|
||||
table#simple.floating_form tr[id^="simple-plugin_"],
|
||||
table#simple.floating_form tr[id^="simple-macro_field"] {
|
||||
display: grid;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
table#simple.floating_form tr[id^="simple-macro_field"] > td > input {
|
||||
width: 50%;
|
||||
}
|
||||
|
|
|
@ -130,8 +130,8 @@
|
|||
</div>
|
||||
<div style='padding-bottom: 50px'>
|
||||
<?php
|
||||
$version = '7.0NG.769';
|
||||
$build = '230327';
|
||||
$version = '7.0NG.770';
|
||||
$build = '230328';
|
||||
$banner = "v$version Build $build";
|
||||
error_reporting(0);
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ if ($agent_a === false && $agent_w === false) {
|
|||
}
|
||||
|
||||
require_once $config['homedir'].'/include/class/Heatmap.class.php';
|
||||
use PandoraFMS\Heatmap;
|
||||
|
||||
$pure = (bool) get_parameter('pure', false);
|
||||
$type = get_parameter('type', 0);
|
||||
|
@ -61,6 +62,8 @@ if ($group_sent === true) {
|
|||
$group = (int) get_parameter('group', true);
|
||||
}
|
||||
|
||||
$dashboard = (bool) get_parameter('dashboard', false);
|
||||
|
||||
$is_ajax = is_ajax();
|
||||
if ($is_ajax === false && $pure === false) {
|
||||
$viewtab['config'] = '<a id="config" href="">'.html_print_image(
|
||||
|
@ -191,6 +194,7 @@ if ($is_ajax === false && $pure === true) {
|
|||
html_print_input_hidden('type', $type);
|
||||
html_print_input_hidden('search', $search);
|
||||
html_print_input_hidden('filter', implode(',', $filter));
|
||||
html_print_input_hidden('dashboard', $dashboard);
|
||||
echo '</form>';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
|
@ -229,7 +233,7 @@ if ($is_ajax === false && $pure === true) {
|
|||
// Control call flow.
|
||||
try {
|
||||
// Heatmap construct.
|
||||
$heatmap = new Heatmap($type, $filter, $randomId, $refresh, $width, $height, $search, $group);
|
||||
$heatmap = new Heatmap($type, $filter, $randomId, $refresh, $width, $height, $search, $group, $dashboard);
|
||||
} catch (Exception $e) {
|
||||
if (is_ajax() === true) {
|
||||
echo json_encode(['error' => '[Heatmap]'.$e->getMessage() ]);
|
||||
|
|
|
@ -618,7 +618,7 @@ if ($favorite_menu !== false) {
|
|||
$sub[$section]['text'] = __(str_replace('_', ' ', $section));
|
||||
$sub[$section]['type'] = 'direct';
|
||||
$sub[$section]['subtype'] = 'nolink';
|
||||
$sub[$section]['id'] = $row['section'];
|
||||
$sub[$section]['id'] = $row['section'].'-fav-menu';
|
||||
|
||||
$sub2[$row['url']]['text'] = io_safe_output($row['label']);
|
||||
$sub[$section]['sub2'] = $sub2;
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Pandora FMS Console
|
||||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Pandora FMS Console
|
||||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Pandora FMS Console
|
||||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# This code is licensed under GPL 2.0 license.
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.769"
|
||||
PI_VERSION="7.0NG.770"
|
||||
FORCE=0
|
||||
DESTDIR=""
|
||||
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
||||
|
|
|
@ -216,11 +216,12 @@ $enable_disable['text'] = html_print_div(
|
|||
// New Widget.
|
||||
$newWidget['text'] = '<a href="#" id="add-widget" class="invisible">';
|
||||
$newWidget['text'] .= html_print_image(
|
||||
'images/add.png',
|
||||
'images/plus@svg.svg',
|
||||
true,
|
||||
[
|
||||
'title' => __('Add Cell'),
|
||||
'class' => 'invert_filter',
|
||||
'class' => 'main_menu_icon invert_filter',
|
||||
'style' => 'margin-top:5px;',
|
||||
]
|
||||
);
|
||||
$newWidget['text'] .= '</a>';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-server
|
||||
Version: 7.0NG.769-230327
|
||||
Version: 7.0NG.770-230328
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.769-230327"
|
||||
pandora_version="7.0NG.770-230328"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#############################################################################
|
||||
# Pandora FMS Server Parameters
|
||||
# Pandora FMS, the Flexible Monitoring System.
|
||||
# Version 7.0NG.769
|
||||
# Version 7.0NG.770
|
||||
# Licensed under GPL license v2,
|
||||
# (c) 2003-2021 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -45,8 +45,8 @@ our @EXPORT = qw(
|
|||
);
|
||||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.769";
|
||||
my $pandora_build = "230327";
|
||||
my $pandora_version = "7.0NG.770";
|
||||
my $pandora_build = "230328";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
|
|
@ -33,8 +33,8 @@ use base 'Exporter';
|
|||
our @ISA = qw(Exporter);
|
||||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.769";
|
||||
my $pandora_build = "230327";
|
||||
my $pandora_version = "7.0NG.770";
|
||||
my $pandora_build = "230328";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#
|
||||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
#
|
||||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.769
|
||||
%define release 230327
|
||||
%define version 7.0NG.770
|
||||
%define release 230328
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
# This code is licensed under GPL 2.0 license.
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.769"
|
||||
PI_BUILD="230327"
|
||||
PI_VERSION="7.0NG.770"
|
||||
PI_BUILD="230328"
|
||||
|
||||
MODE=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
|
|
|
@ -35,7 +35,7 @@ use PandoraFMS::Config;
|
|||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.769 Build 230327";
|
||||
my $version = "7.0NG.770 Build 230328";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.769 Build 230327";
|
||||
my $version = "7.0NG.770 Build 230328";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|
|
Loading…
Reference in New Issue