10953-New styles local component

This commit is contained in:
Pablo Aragon 2023-06-21 13:41:11 +02:00
commit 404e2ca484
127 changed files with 29664 additions and 26663 deletions

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, AIX version
# Version 7.0NG.772, AIX version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, FreeBSD Version
# Version 7.0NG.772, FreeBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, HP-UX Version
# Version 7.0NG.772, HP-UX Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, GNU/Linux
# Version 7.0NG.772, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, GNU/Linux
# Version 7.0NG.772, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, Solaris Version
# Version 7.0NG.772, Solaris Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2021 Artica Soluciones Tecnologicas
# Version 7.0NG.771
# Version 7.0NG.772
# 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

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.771, AIX version
# Version 7.0NG.772, AIX version
# General Parameters
# ==================

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.771
# Version 7.0NG.772
# FreeBSD/IPSO version
# Licenced under GPL licence, 2003-2007 Sancho Lerena

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.771, HPUX Version
# Version 7.0NG.772, HPUX Version
# General Parameters
# ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771
# Version 7.0NG.772
# Licensed under GPL license v2,
# (c) 2003-2021 Artica Soluciones Tecnologicas
# please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771
# Version 7.0NG.772
# Licensed under GPL license v2,
# (c) 2003-2021 Artica Soluciones Tecnologicas
# please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771
# Version 7.0NG.772
# Licensed under GPL license v2,
# please visit http://pandora.sourceforge.net

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.771, Solaris version
# Version 7.0NG.772, Solaris version
# General Parameters
# ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, AIX version
# Version 7.0NG.772, AIX version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.771-230605
Version: 7.0NG.772-230621
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -31,7 +31,7 @@ fi
if [ "$#" -ge 2 ]; then
VERSION="$2"
else
VERSION="7.0NG.771"
VERSION="7.0NG.772"
fi
# Path for the generated DMG file

View 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.771" onConclusion="none">pandorafms_src.pdk</pkg-ref>
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.772" 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.771" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.772" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
<!-- <installation-check script="check()" />
<script>
<![CDATA[

View File

@ -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.771</string>
<key>CFBundleGetInfoString</key> <string>7.0NG.771 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string>
<key>CFBundleShortVersionString</key> <string>7.0NG.771</string>
<key>CFBundleVersion</key> <string>7.0NG.772</string>
<key>CFBundleGetInfoString</key> <string>7.0NG.772 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</string>
<key>CFBundleShortVersionString</key> <string>7.0NG.772</string>
<key>NSPrincipalClass</key><string>NSApplication</string>
<key>NSMainNibFile</key><string>MainMenu</string>

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, GNU/Linux
# Version 7.0NG.772, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, FreeBSD Version
# Version 7.0NG.772, FreeBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, HP-UX Version
# Version 7.0NG.772, HP-UX Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,31 +1,31 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, GNU/Linux
# Version 7.0NG.772
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com
# Copyright (c) 2004-2023 Pandora FMS
# https://pandorafms.com
# General Parameters
# ==================
server_ip localhost
server_path /var/spool/pandora/data_in
server_ip localhost
server_path /var/spool/pandora/data_in
temporal /tmp
logfile /var/log/pandora/pandora_agent.log
#include /etc/pandora/pandora_agent_alt.conf
#broker_agent name_agent
# Interval in seconds, 300 by default
interval 300
# Interval in seconds, 300 by default (5 minutes)
interval 300
# Debug mode renames XML in the temp folder and continues running
debug 0
debug 0
# Optional. UDP Server to receive orders from outside
# By default is disabled, set 1 to enable
# Set port (41122 by default)
# Set address to restrict who can order a agent restart (0.0.0.0 = anybody)
#
udp_server 0
udp_server_port 41122
udp_server_auth_address 0.0.0.0
@ -33,12 +33,13 @@ udp_server_auth_address 0.0.0.0
#process_xeyes_start xeyes
#process_xeyes_stop killall xeyes
# By default, agent takes machine name
#agent_name adama
# By default, agent takes hostname
#agent_name adama
# To define agent name by specific command, define 'agent_name_cmd'.
# (In the following example, agent name is 'hostname_IP')
# If set to __rand__ the agent will generate a random name.
# If set to __rand__ the agent will generate a random name, used by default to generate a unique name
#agent_name_cmd LANG=C; /bin/echo -n `hostname`; /bin/echo -n "_"; /bin/echo `/sbin/ifconfig eth0 | /bin/grep 'inet addr' | /usr/bin/awk '{print $2;}' | /usr/bin/cut -d: -f2`
agent_name_cmd __rand__
@ -52,7 +53,7 @@ agent_name_cmd __rand__
#agent_alias_cmd
# Agent description
#description This is a demo agent for Linux
#description This is an agent running Linux
# Group assigned for this agent (descriptive, p.e: Servers)
group Servers
@ -78,20 +79,19 @@ address auto
# Those parameters define the geographical position of the agent
# gis_exec: Call a script that returns a string with a fixed
# format of latitude,longitude,altitude
# format of latitude, longitude, altitude. Used for custom integration with GIS
# i.e.: 41.377,-5.105,2.365
#gis_exec /tmp/gis.sh
#gis_exec /mypath/my_gis_script.sh
# This sets the GIS coordinates as fixed values:
# latitude
#latitude 0
# longitude
#longitude 0
# altitude
#altitude 0
#GPS Position description
#position_description Madrid, centro
# By default agent try to take default encoding defined in host.
@ -133,7 +133,8 @@ transfer_mode tentacle
# is much more safe
#cron_mode
# If set to 1 allows the agent to be configured via the web console (Only Enterprise version)
# If set to 1 allows the agent to be configured via the web console (Only use this in Enterprise version)
# when is set to 1, local .conf file changes are overwritten. Set to 0 if you want to edit the .conf file
remote_config 0
# Default 0, set to 1 to avoid module executions and report to server
@ -157,7 +158,7 @@ remote_config 0
# Number of threads to execute modules in parallel
#agent_threads 1
# User the agent will run as
# User the agent will run as. By default uses root, but could be configured to run as other user
#pandora_user pandora
# Enable or disable XML buffer.
@ -177,9 +178,9 @@ temporal_max_files 1024
# Agent mode: Learn (default), No-learn, Autodisable
# agent_mode autodisable
# eHorus agent configuration file path:
# Pandora RC (former eHorus) agent configuration file path.
# The agent will create a custom field named eHorusID that contains
# the eHorus agent's identifying key
# the PandoraRC agent's identifying key
ehorus_conf /etc/ehorus/ehorus_agent.conf
# Secondary groups. You can select several groups separated by comma.
@ -272,10 +273,22 @@ module_plugin autodiscover --default
# Plugin for inventory on the agent.
#module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users route
# Log collection modules. Only for enterprise version, this will collect log files for forensic analysis.
# This is for LOG monitoring, only on enterprise version
# Log collection modules. This will collect log files for forensic analysis and store everything
# This is for LOG monitoring. Different than log monitoring.
#module_plugin grep_log_module /var/log/messages Syslog \.\*
# Another samples of monitoring modules
# Command snapshot
#module_begin
#module_name process_table
#module_type generic_data_string
#module_exec ps aux
#module_description Command snapshot of running processes
#module_group System
#module_end
#module_begin
#module_name HTTPD_Status
#module_type generic_proc

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, GNU/Linux
# Version 7.0NG.772, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, NetBSD Version
# Version 7.0NG.772, NetBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.771, Solaris Version
# Version 7.0NG.772, Solaris Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1022,8 +1022,8 @@ my $Sem = undef;
# Semaphore used to control the number of threads
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.771';
use constant AGENT_BUILD => '230605';
use constant AGENT_VERSION => '7.0NG.772';
use constant AGENT_BUILD => '230621';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.771
%define release 230605
%define version 7.0NG.772
%define release 230621
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.771
%define release 230605
%define version 7.0NG.772
%define release 230621
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -9,8 +9,8 @@
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG.771"
PI_BUILD="230605"
PI_VERSION="7.0NG.772"
PI_BUILD="230621"
OS_NAME=`uname -s`
FORCE=0

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2023 Pandora FMS
# Version 7.0NG.771
# Version 7.0NG.772
# 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

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1a0d742e4e1944a599fe7609544719c82ab560590784f0a82733fdba8a7964a3
size 7630848
oid sha256:ad4d006cf2662a57f2e062b5adbfe8702d2147ec4c4d3dc9a1019938fe7d5b22
size 16557020

View File

@ -3,7 +3,7 @@ AllowLanguageSelection
{Yes}
AppName
{Pandora FMS Windows Agent v7.0NG.771}
{Pandora FMS Windows Agent v7.0NG.772}
ApplicationID
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{230605}
{230621}
ViewReadme
{Yes}

View File

@ -12,6 +12,14 @@ use warnings;
use File::Basename;
BEGIN { push @INC, '/usr/lib/perl5'; }
# NOTE: The binary compiled with PAR::Packer for Pandora FMS doesn't work well
# with JSON:XS, probably because JSON::Backend::XS is defined in the __DATA__
# section of JSON.pm and that doesn't work well with PAR::Filter. If this
# becomes a bottleneck, a workaround would be possible (e.g., redefining
# JSON::Backend::XS here).
BEGIN { $ENV{PERL_JSON_BACKEND} = 'JSON::PP' };
use PandoraFMS::PluginTools;
use PandoraFMS::Omnishell;
@ -90,4 +98,4 @@ if ($@) {
exit 0;
}
exit 0;
exit 0;

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.771 Build 230605")
#define PANDORA_VERSION ("7.0NG.772 Build 230621")
string pandora_path;
string pandora_dir;

View File

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

View File

@ -99,7 +99,7 @@ Pandora_Wmi::isServiceRunning (string service_name) {
string query;
char *state;
string str_state;
int retval;
int retval = -1;
query = "SELECT * FROM Win32_Service WHERE Name = \"" + service_name + "\"";
@ -112,23 +112,27 @@ Pandora_Wmi::isServiceRunning (string service_name) {
FOR_EACH (quickfix, quickfixes, NULL) {
dhGetValue (L"%s", &state, quickfix,
L".State");
str_state = state;
if (str_state == "Running") {
retval = 1;
}
else {
retval = 0;
if (retval == -1) {
str_state = state;
if (str_state == "Running") {
retval = 1;
}
else {
retval = 0;
}
}
dhFreeString (state);
return retval;
} NEXT_THROW (quickfix);
} catch (string errstr) {
pandoraLog ("isServiceRunning error. %s", errstr.c_str ());
}
pandoraDebug ("Service %s not found.", service_name.c_str ());
return 0;
if (retval == -1) {
pandoraDebug ("Service %s not found.", service_name.c_str ());
return 0;
}
return retval;
}
/**
@ -1261,7 +1265,7 @@ Pandora_Wmi::getSystemAddress () {
CDispPtr wmi_svc = NULL, nic_info = NULL;
VARIANT ip_addresses;
char *caption = NULL, *mac_address = NULL;
string ret = "";
string str_addr, ret = "";
try {
@ -1274,12 +1278,12 @@ Pandora_Wmi::getSystemAddress () {
dhGetValue (L"%v", &ip_addresses, nic_info_item,
L".IPAddress");
if (&ip_addresses != NULL)
if (&ip_addresses != NULL && ret == "")
{
ret = getIPs(&ip_addresses);
if(ret != "0.0.0.0") {
break;
}
str_addr = getIPs(&ip_addresses);
if (str_addr != "0.0.0.0") {
ret = str_addr;
}
}
} NEXT_THROW (nic_info_item);
} catch (string errstr) {

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.771-230605
Version: 7.0NG.772-230621
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -220,7 +220,7 @@ function pandora_realtime_graphs()
false,
'',
'white-box-content',
'box-flat white_table_graph fixed_filter_bar'
'box-flat white_table_graph fixed_filter_bar top_0px_important mrgn_btn_35px_imp'
);
$chart[time()]['graph'] = '0';

View File

@ -83,4 +83,6 @@ ADD COLUMN `metaconsole_data_section` VARCHAR(255) NOT NULL DEFAULT '' AFTER `me
ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `default_event_filter`;
UPDATE tconfig SET value = 'Renaissance' WHERE token LIKE 'lts_name';
COMMIT;

View File

@ -912,7 +912,7 @@ foreach ($simple_alerts as $alert) {
1,
'padding:0px; width: 22px; height: 22px;',
true,
['class' => 'filter_none main_menu_icon']
['class' => 'invert_filter main_menu_icon']
);
$data[4] .= html_print_input_hidden('enable_alert', 1, true);
} else {

View File

@ -524,6 +524,17 @@ function edit_massive_agent(
alerts_validate_alert_agent($id_agent);
}
}
if (empty($values['id_grupo']) === false) {
// Check if group and secondary group match and remove.
$remove_sg = (bool) db_process_sql_delete(
'tagent_secondary_group',
[
'id_agent' => (int) $id_agent,
'id_group' => (int) $values['id_grupo'],
]
);
}
}
$info = [];

View File

@ -31,7 +31,7 @@ check_login();
global $config;
if (users_is_admin() === false) {
if (check_acl($config['id_user'], 0, 'UM') !== 1) {
db_pandora_audit(
AUDIT_LOG_ACL_VIOLATION,
'Trying to access massive edit users'

View File

@ -70,16 +70,13 @@ $options_agents = [
];
if (check_acl($config['id_user'], 0, 'UM')) {
$options_users['edit_users'] = __('Edit users in bulk');
if (is_metaconsole() === false) {
$options_users = [
'add_profiles' => __('Bulk profile add'),
'delete_profiles' => __('Bulk profile delete'),
];
}
if (users_is_admin() === true) {
$options_users['edit_users'] = __('Edit users in bulk');
}
} else {
$options_users = [];
}

View File

@ -80,6 +80,12 @@ if ((bool) check_acl($config['id_user'], 0, 'AR') === true
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
enterprise_hook('applications_menu');
enterprise_hook('cloud_menu');
}
if ((bool) check_acl($config['id_user'], 0, 'RW') === true
|| (bool) check_acl($config['id_user'], 0, 'RM') === true
|| (bool) check_acl($config['id_user'], 0, 'PM') === true
) {
enterprise_hook('console_task_menu');
}
}

View File

@ -168,8 +168,8 @@ if ($delete_layout || $copy_layout) {
// ACL for the visual console
// $vconsole_read = check_acl ($config['id_user'], $group_id, "VR");
$vconsole_write = check_acl_restricted_all($config['id_user'], $group_id, 'VW');
$vconsole_manage = check_acl_restricted_all($config['id_user'], $group_id, 'VM');
$vconsole_write = check_acl_restricted_all($config['id_user'], $group_id, 'VW', true);
$vconsole_manage = check_acl_restricted_all($config['id_user'], $group_id, 'VM', true);
if (!$vconsole_write && !$vconsole_manage) {
db_pandora_audit(

View File

@ -6776,6 +6776,8 @@ function chooseType() {
$("#row_dyn_height").show();
$("#row_servers").show();
$("#row_historical_db_check").show();
$("#sql_example").hide();
$("#sql_entry").show();
break;
case 'url':

View File

@ -2198,10 +2198,6 @@ switch ($action) {
);
if ($values['treport_custom_sql_id'] == 0) {
$sql = get_parameter('sql', '');
if ($sql !== '') {
$good_format = db_validate_sql($sql);
}
$values['external_source'] = $sql;
}
@ -2218,6 +2214,28 @@ switch ($action) {
} else {
$values['server_name'] = get_parameter('combo_server');
}
if ($sql !== '') {
if ($values['server_name'] === 'all') {
$servers_connection = metaconsole_get_connections();
foreach ($servers_connection as $key => $s) {
$good_format = db_validate_sql($sql, $s['server_name']);
}
// Reconnected in nodo if exist.
if ($server_id !== 0) {
$connection = metaconsole_get_connection_by_id(
$server_id
);
metaconsole_connect($connection);
}
} else if ($server_id === 0) {
// Connect with node if not exist conexion.
$good_format = db_validate_sql($sql, (is_metaconsole() === true) ? $values['server_name'] : false);
} else {
$good_format = db_validate_sql($sql);
}
}
} else if ($values['type'] == 'url') {
$values['external_source'] = get_parameter('url');
} else if ($values['type'] == 'event_report_group') {
@ -2947,10 +2965,6 @@ switch ($action) {
);
if ($values['treport_custom_sql_id'] == 0) {
$sql = get_parameter('sql', '');
if ($sql !== '') {
$good_format = db_validate_sql($sql);
}
$values['external_source'] = $sql;
}
@ -2958,6 +2972,37 @@ switch ($action) {
'historical_db_check'
);
$values['top_n_value'] = get_parameter('max_items');
if ($values['type'] === 'sql_graph_hbar'
|| ($values['type'] === 'sql_graph_vbar')
|| ($values['type'] === 'sql_graph_pie')
) {
$values['server_name'] = get_parameter('combo_server_sql');
} else {
$values['server_name'] = get_parameter('combo_server');
}
if ($sql !== '') {
if ($values['server_name'] === 'all') {
$servers_connection = metaconsole_get_connections();
foreach ($servers_connection as $key => $s) {
$good_format = db_validate_sql($sql, $s['server_name']);
}
// Reconnected in nodo if exist.
if ($server_id !== 0) {
$connection = metaconsole_get_connection_by_id(
$server_id
);
metaconsole_connect($connection);
}
} else if ($server_id === 0) {
// Connect with node if not exist conexion.
$good_format = db_validate_sql($sql, (is_metaconsole() === true) ? $values['server_name'] : false);
} else {
$good_format = db_validate_sql($sql);
}
}
} else if ($values['type'] == 'url') {
$values['external_source'] = get_parameter('url');
} else if ($values['type'] == 'event_report_group') {

View File

@ -635,15 +635,20 @@ switch ($activeTab) {
} else {
if (is_metaconsole() === true) {
$agents_ids = [];
$servers_ids = [];
foreach ($id_agents as $id_agent_id) {
$server_and_agent = explode('|', $id_agent_id);
$agents_ids[] = $server_and_agent[1];
$servers_ids[] = $server_and_agent[0];
}
$rows = db_get_all_rows_filter(
'tmetaconsole_agent',
['id_tagente' => $agents_ids]
[
'id_tagente' => $agents_ids,
'id_tmetaconsole_setup' => $servers_ids,
]
);
$agents = [];
@ -688,7 +693,9 @@ switch ($activeTab) {
foreach ($modules_serial as $data_serialized) {
$data = explode('|', $data_serialized);
$id_modules[] = $data[0];
if ($id_server == $data[2]) {
$id_modules[] = $data[0];
}
}
}
} else {

View File

@ -425,7 +425,7 @@ $table_styles->data[$row][] = html_print_label_input_block(
);
$table_styles->data[$row][] = html_print_label_input_block(
__('Custom background logo'),
__('Custom background login'),
html_print_div(
[
'class' => 'select-with-sibling',

View File

@ -1460,7 +1460,7 @@ class HostDevices extends Wizard
}
include_once $config['homedir'].'/include/class/CredentialStore.class.php';
$available_keys = CredentialStore::getKeys('CUSTOM');
$available_keys = CredentialStore::getKeys('WMI');
if (check_acl($config['id_user'], 0, 'UM')) {
$link_to_cs = '<a class="ext_link" href="'.ui_get_full_url(
'index.php?sec=gmodules&sec2=godmode/groups/group_list&tab=credbox'
@ -1482,7 +1482,7 @@ class HostDevices extends Wizard
'arguments' => [
'type' => 'select',
'name' => 'auth_strings[]',
'fields' => CredentialStore::getKeys('CUSTOM'),
'fields' => CredentialStore::getKeys('WMI'),
'selected' => explode(
',',
$this->task['auth_strings']

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

View File

@ -228,12 +228,25 @@ if ($get_agent_alerts_agent_view) {
} else {
$whereAlertSimple .= sprintf(
' AND id_agent_module IN (
SELECT tam.id_agente_modulo
FROM tagente_modulo tam
WHERE tam.id_agente IN (SELECT ta.id_agente
FROM tagente ta LEFT JOIN tagent_secondary_group tasg ON
ta.id_agente = tasg.id_agent
WHERE (ta.id_grupo IN (%s) OR tasg.id_group IN (%s)))) ',
SELECT tam.id_agente_modulo
FROM tagente_modulo tam
WHERE tam.id_agente IN (
SELECT
ta.id_agente
FROM
tagente ta
WHERE
ta.id_grupo IN (%s)
)
OR tam.id_agente IN (
SELECT
DISTINCT(tasg.id_agent)
FROM
tagent_secondary_group tasg
WHERE
tasg.id_group IN (%s)
)
) ',
implode(',', $id_groups),
implode(',', $id_groups)
);
@ -833,12 +846,20 @@ if ($get_agent_alerts_datatable === true) {
} else {
$whereAlertSimple .= sprintf(
' AND id_agent_module IN (
SELECT tam.id_agente_modulo
FROM tagente_modulo tam
WHERE tam.id_agente IN (SELECT ta.id_agente
FROM tagente ta LEFT JOIN tagent_secondary_group tasg ON
ta.id_agente = tasg.id_agent
WHERE (ta.id_grupo IN (%s) OR tasg.id_group IN (%s)))) ',
SELECT tam.id_agente_modulo
FROM tagente_modulo tam
WHERE
tam.id_agente IN (
SELECT ta.id_agente
FROM tagente ta
WHERE ta.id_grupo IN (%s)
)
OR tam.id_agente IN (
SELECT DISTINCT(tasg.id_agent)
FROM tagent_secondary_group tasg
WHERE tasg.id_group IN (%s)
)
) ',
implode(',', $id_groups),
implode(',', $id_groups)
);

View File

@ -20,8 +20,8 @@
/**
* Pandora build version and version
*/
$build_version = 'PC230605';
$pandora_version = 'v7.0NG.771';
$build_version = 'PC230621';
$pandora_version = 'v7.0NG.772';
// Do not overwrite default timezone set if defined.
$script_tz = @date_default_timezone_get();

View File

@ -2191,15 +2191,19 @@ function get_group_alerts(
} else {
$subQuery = 'SELECT id_agente_modulo
FROM tagente_modulo tam
WHERE delete_pending = 0 AND tam.disabled = 0
AND id_agente IN (SELECT id_agente
FROM tagente ta
LEFT JOIN tagent_secondary_group tasg
ON ta.id_agente = tasg.id_agent
WHERE ta.disabled = 0
AND
id_grupo IN ('.implode(',', $id_group).')
OR id_group IN ('.implode(',', $id_group).'))';
WHERE delete_pending = 0
AND tam.disabled = 0
AND id_agente IN (
SELECT ta.id_agente
FROM tagente ta
WHERE ta.disabled = 0
AND ta.id_grupo IN ('.implode(',', $id_group).')
)
OR tam.id_agente IN (
SELECT DISTINCT(tasg.id_agent)
FROM tagent_secondary_group tasg
WHERE tasg.id_group IN ('.implode(',', $id_group).')
)';
}
} else {
$subQuery = 'SELECT id_agente_modulo
@ -3111,7 +3115,7 @@ function alerts_get_alert_fired($filters=[], $groupsBy=[])
$fields[] = $table.'.id_agente as agent';
$group_array[] = $table.'.id_agente';
$names_search = agents_get_alias_array(
array_values($filters['agents'])
array_values(($filters['agents'] ?? []))
);
if (is_metaconsole() === true) {

View File

@ -2560,12 +2560,20 @@ function db_get_column_type(string $table, string $column='')
/**
* Validate sql query.
*
* @param string $sql Query for validate.
* @param string $sql Query for validate.
* @param mixed $server Server name where sql must connect.
*
* @return boolean True if query is valid.
*/
function db_validate_sql(string $sql)
function db_validate_sql(string $sql, $server=false)
{
if ($server !== false && is_metaconsole() === true) {
$setup = metaconsole_get_connection($server);
if (metaconsole_connect($setup) !== NOERR) {
return false;
}
}
try {
error_reporting(0);
db_process_sql_begin();
@ -2578,5 +2586,9 @@ function db_validate_sql(string $sql)
error_reporting(E_ALL);
}
if ($server !== false && is_metaconsole() === true) {
metaconsole_restore_db();
}
return ($result !== false) ? true : false;
}

View File

@ -4410,8 +4410,8 @@ function graph_netflow_aggregate_area($data, $period, $width, $height, $ttl=1, $
foreach ($data['sources'] as $key => $value) {
$i = 0;
foreach ($data['data'] as $k => $v) {
$chart['netflow_'.$key]['data'][$i][0] = ($k * 1000);
$chart['netflow_'.$key]['data'][$i][1] = $v[$key];
$chart[$key]['data'][$i][0] = ($k * 1000);
$chart[$key]['data'][$i][1] = $v[$key];
$i++;
}
}

View File

@ -707,17 +707,6 @@ function inventory_get_datatable(
) {
global $config;
if ($utimestamp === 0) {
$data_last = db_get_row_sql(
sprintf(
'SELECT `utimestamp`, `timestamp`
FROM tagente_datos_inventory
ORDER BY utimestamp DESC'
)
);
$utimestamp = $data_last['utimestamp'];
}
$offset = (int) get_parameter('offset');
$where = [];
@ -753,7 +742,7 @@ function inventory_get_datatable(
}
if ($utimestamp > 0) {
array_push($where, 'tagente_datos_inventory.utimestamp = '.$utimestamp.' ');
array_push($where, 'tagente_datos_inventory.utimestamp <= '.$utimestamp.' ');
}
$sql = sprintf(
@ -772,13 +761,22 @@ function inventory_get_datatable(
ON tagente.id_agente = tagent_module_inventory.id_agente
WHERE %s
ORDER BY tmodule_inventory.id_module_inventory
LIMIT %d, %d',
implode(' AND ', $where),
$offset,
$config['block_size']
ORDER BY tmodule_inventory.id_module_inventory
',
implode(' AND ', $where)
);
if ($inventory_module_name[0] !== '0'
&& $inventory_module_name !== ''
&& $inventory_module_name !== 'all'
) {
$sql .= sprintf(
'LIMIT %d, %d',
$offset,
$config['block_size']
);
}
$rows = db_get_all_rows_sql($sql);
if ($order_by_agent === false) {
@ -803,12 +801,29 @@ function inventory_get_datatable(
$agent_data = [];
$rows_tmp = [];
foreach ($rows as $row) {
$agent_data[$row['id_agente']][] = $row;
$replace_agent_data = false;
if (isset($agent_data[$row['id_agente']]) === true) {
foreach ($agent_data[$row['id_agente']] as $key => $compare_data) {
if ($compare_data['id_module_inventory'] === $row['id_module_inventory']
&& $row['last_update'] > $compare_data['last_update']
) {
$agent_data[$row['id_agente']][$key] = $row;
$replace_agent_data = true;
}
}
}
if ($replace_agent_data === false) {
$agent_data[$row['id_agente']][] = $row;
}
}
foreach ($agent_data as $id_agent => $data_agent) {
$rows_tmp['agent'] = $data_agent['name_agent'];
foreach ($data_agent as $key => $agent_row) {
if (isset($rows_tmp['agent']) === false) {
$rows_tmp['agent'] = $agent_row['name_agent'];
}
$data_agent[$key]['timestamp'] = $agent_row['last_update_timestamp'];
$data_agent[$key]['utimestamp'] = $agent_row['last_update'];

View File

@ -879,6 +879,11 @@ if (is_ajax()) {
$php_sys = json_decode($d->getPHPSetup());
$system_date = json_decode($d->getSystemDate());
$lts_name = '';
if (empty($config['lts_name']) === false) {
$lts_name = ' <i>'.$config['lts_name'].'</i>';
}
$fragmentation_status = '';
if ($db_fragmentation->data->tablesFragmentationStatus->status === 1) {
$fragmentation_status = html_print_image(
@ -955,7 +960,7 @@ if (is_ajax()) {
</th>
<th style="width: 60%; text-align: left; border: 0px;">
<h1>'.$product_name.'</h1>
<p><span>'.__('Version').' '.$pandora_version.' - '.(enterprise_installed() ? 'Enterprise' : 'Community').'</span></p>
<p><span>'.__('Version').' '.$pandora_version.$lts_name.' - '.(enterprise_installed() ? 'Enterprise' : 'Community').'</span></p>
<p><span>'.__('MR version').'</span> MR'.$config['MR'].'</p>
<p><span>Build</span>'.$build_version.'</p>
<p style="margin-bottom: 20px!important;"><span>'.__('Support expires').'</span>'.$license_expiry_date.'</p>';

View File

@ -23,9 +23,10 @@ function os_agents_critical($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
critical_count>0 AND id_os=%d',
$table,
$table,
$id_os
)
);
@ -36,10 +37,11 @@ function os_agents_critical($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
critical_count>0 AND
id_os=%d AND id_grupo IN (%s)',
$table,
$table,
$id_os,
implode(',', $groups)
)
@ -60,9 +62,10 @@ function os_agents_ok($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
normal_count=total_count AND id_os=%d',
$table,
$table,
$id_os
)
);
@ -73,10 +76,11 @@ function os_agents_ok($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
normal_count=total_count AND
id_os=%d AND id_grupo IN (%s)',
$table,
$table,
$id_os,
implode(',', $groups)
)
@ -97,10 +101,11 @@ function os_agents_warning($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
critical_count=0 AND warning_count>0
AND id_os=%d',
$table,
$table,
$id_os
)
);
@ -111,10 +116,11 @@ function os_agents_warning($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
critical_count=0 AND warning_count>0 AND
id_os=%d AND id_grupo IN (%s)',
$table,
$table,
$id_os,
implode(',', $groups)
)
@ -135,10 +141,11 @@ function os_agents_unknown($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
critical_count=0 AND warning_count=0 AND
unknown_count>0 AND id_os=%d',
$table,
$table,
$id_os
)
);
@ -149,10 +156,11 @@ function os_agents_unknown($id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND
WHERE %s.disabled=0 AND
critical_count=0 AND warning_count=0 AND
unknown_count>0 AND id_os=%d AND id_grupo IN (%s)',
$table,
$table,
$id_os,
implode(',', $groups)
)
@ -179,7 +187,8 @@ function os_agents_total(int $id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND id_os=%d',
WHERE %s.disabled=0 AND id_os=%d',
$table,
$table,
$id_os
)
@ -191,7 +200,8 @@ function os_agents_total(int $id_os)
sprintf(
'SELECT COUNT(*)
FROM %s
WHERE tagente.disabled=0 AND id_os=%d AND id_grupo IN (%s)',
WHERE %s.disabled=0 AND id_os=%d AND id_grupo IN (%s)',
$table,
$table,
$id_os,
implode(',', $groups)

View File

@ -4253,7 +4253,9 @@ function reporting_group_report($report, $content)
$data_node = reporting_groups_nodes($content);
$count_events += $data_node['count_events'];
foreach ($data_node['group_stats'] as $key => $value) {
$group_stats[$key] += $value;
if (array_key_exists($key, $group_stats)) {
$group_stats[$key] += $value;
}
}
if (is_metaconsole() === true) {

View File

@ -654,6 +654,18 @@ function snmp_browser_print_oid(
);
}
if (isset($_POST['print_copy_oid'])) {
// Hidden by default.
$output .= html_print_button(
__('Use this OID'),
'use_iod',
false,
'use_oid()',
'class="sub add invisible"',
true
);
}
// Select agent modal.
$output .= snmp_browser_print_create_modules(true);
@ -1134,6 +1146,14 @@ function snmp_browser_print_container(
false,
'id_agent_module'
);
$output .= html_print_input_hidden(
'is_policy_agent',
1,
true,
false,
false,
'is_policy_agent'
);
$output .= html_print_table($table, true);
$output .= html_print_div(
[

View File

@ -5616,6 +5616,9 @@ function ui_print_agent_autocomplete_input($parameters)
if ($config['style'] === 'pandora_black' && !is_metaconsole()) {
$text_color = 'style="color: white"';
$icon_agent = 'images/agent_mc.menu.png';
$background_results = 'background: #111;';
} else {
$background_results = 'background: #a8e7eb;';
}
$icon_image = html_print_image($icon_agent, true, false, true);
@ -6289,7 +6292,7 @@ function ui_print_agent_autocomplete_input($parameters)
.appendTo(ul);
break;
case \'alias\':
return $("<li style=\'background: #a8e7eb;\'></li>")
return $("<li style=\"'.$background_results.'\"></li>")
.data("item.autocomplete", item)
.append(text)
.appendTo(ul);

View File

@ -2298,6 +2298,8 @@ var formatterDataVerticalBar = function(value, ctx) {
$(document).ready(function() {
$("#icon_about").click(function() {
$("#icon_about").addClass("selected");
// Hidden tips modal.
$(".window").css("display", "none");
jQuery.post(
"ajax.php",

View File

@ -284,7 +284,7 @@ function show_response_dialog(response_id, response) {
}
// Perform a response and put the output into a div
function perform_response(response, response_id, index) {
function perform_response(response, response_id, index = "") {
$("#re_exec_command" + index).hide();
$("#response_loading_command" + index).show();
$("#response_out" + index).html("");

View File

@ -7,6 +7,10 @@ function snmpBrowse() {
// Hide the data div
hideOIDData();
$("#button-srcbutton")
.find("div")
.addClass("rotation");
// Reset previous searches
$("#search_results").css("display", "none");
$("#hidden-search_count").val(-1);
@ -258,7 +262,7 @@ function snmpGet(oid) {
var ajax_url = $("#hidden-ajax_url").val();
var server_to_exec = $("#server_to_exec").val();
var target_port = $("#target_port").val();
var print_create_agent_module = true;
var is_policy_or_agent = $("#is_policy_agent").val();
// Check for a custom action
var custom_action = $("#hidden-custom_action").val();
@ -283,7 +287,11 @@ function snmpGet(oid) {
params["custom_action"] = custom_action;
params["page"] = "include/ajax/snmp_browser.ajax";
params["target_port"] = target_port;
params["print_create_agent_module"] = print_create_agent_module;
if (typeof is_policy_or_agent !== "undefined") {
params["print_copy_oid"] = 1;
} else {
params["print_create_agent_module"] = 1;
}
// SNMP get!
jQuery.ajax({

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -143,6 +143,9 @@ class BlockHistogram extends Widget
$widgetId
);
// Include.
include_once $config['homedir'].'/include/functions_reporting.php';
// Width.
$this->width = $width;

View File

@ -354,6 +354,8 @@ class ColorModuleTabs extends Widget
{
global $config;
include_once $config['homedir'].'/include/functions_graph.php';
$size = parent::getSize();
$output = '';

View File

@ -135,6 +135,7 @@ class EventCardboard extends Widget
include_once $config['homedir'].'/include/functions_agents.php';
include_once $config['homedir'].'/include/functions_modules.php';
include_once $config['homedir'].'/include/functions_events.php';
// WARNING: Do not edit. This chunk must be in the constructor.
parent::__construct(

View File

@ -170,6 +170,9 @@ class GroupedMeterGraphs extends Widget
$widgetId
);
// Include.
include_once $config['homedir'].'/include/functions_reporting.php';
// Width.
$this->width = $width;

View File

@ -351,7 +351,7 @@ class GraphModuleHistogramWidget extends Widget
'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;',
'filter_modules' => (users_access_to_agent($values['agentId']) === false) ? [$values['moduleId']] : [],
'filter_modules' => (users_access_to_agent($values['agentId'], 'AR', false, is_metaconsole()) === false) ? [$values['moduleId']] : [],
'nothing' => __('None'),
'nothing_value' => 0,
],

View File

@ -384,7 +384,7 @@ class ModuleIconWidget extends Widget
'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;',
'filter_modules' => users_access_to_agent($values['agentId']) === false ? [$values['moduleId']] : [],
'filter_modules' => (users_access_to_agent($values['agentId'], 'AR', false, is_metaconsole()) === false) ? [$values['moduleId']] : [],
'nothing' => __('None'),
'nothing_value' => 0,
],
@ -563,10 +563,12 @@ class ModuleIconWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center';
} else {
$orientation = 'grid';
$margin_bottom = 'mrgn_btn_15px';
}
// General div.
@ -596,7 +598,7 @@ class ModuleIconWidget extends Widget
// Div image.
$style_icon = 'flex: 0 1 '.$sizeIcon.'px;';
$output .= '<div class="pdd_l_15px pdd_r_15px mrgn_btn_25px" style="flex: 0 1 '.$sizeIcon.'px; height: '.$sizeIcon.'px;">';
$output .= '<div class="pdd_l_15px pdd_r_15px '.$margin_bottom.'" style="flex: 0 1 '.$sizeIcon.'px; height: '.$sizeIcon.'px;">';
$output .= html_print_image(
'images/console/icons/'.$icon.$color_icon.'.png',
true,
@ -604,7 +606,7 @@ class ModuleIconWidget extends Widget
);
$output .= '</div>';
// Div value.
$output .= '<div class="mrgn_btn_15px" style="flex: 0 1 10px; line-height: '.$sizeValue.'px; font-size:'.$sizeValue.'px;">';
$output .= '<div class="'.$margin_bottom.'" style="flex: 0 1 10px; line-height: '.$sizeValue.'px; font-size:'.$sizeValue.'px;">';
$output .= remove_right_zeros(
number_format($data_module, $config['graph_precision'], $config['decimal_separator'], $config['thousand_separator'])
).$unit;

View File

@ -375,7 +375,7 @@ class ModuleStatusWidget extends Widget
'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;',
'filter_modules' => (users_access_to_agent($values['agentId']) === false) ? [$values['moduleId']] : [],
'filter_modules' => (users_access_to_agent($values['agentId'], 'AR', false, is_metaconsole()) === false) ? [$values['moduleId']] : [],
'nothing' => __('None'),
'nothing_value' => 0,
],
@ -560,17 +560,19 @@ class ModuleStatusWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center';
} else {
$orientation = 'grid';
$margin_bottom = 'mrgn_btn_15px';
}
// General div.
$output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">';
// Div image.
$output .= '<div class="pdd_l_15px pdd_r_15px mrgn_btn_25px" style="flex: 0 1 '.$sizeIcon.'px; height: '.$sizeIcon.'px;">';
$output .= '<div class="pdd_l_15px pdd_r_15px '.$margin_bottom.'" style="flex: 0 1 '.$sizeIcon.'px; height: '.$sizeIcon.'px;">';
$output .= html_print_image(
'images/console/icons/'.$icon,
true,

View File

@ -351,12 +351,12 @@ class ModuleTableValueWidget extends Widget
];
$fields = [
'&#x0a;' => __('Carriage Return'),
'|' => __('Vertical Bar'),
';' => __('Semicolon'),
':' => __('Colon'),
',' => __('Commas'),
'&#x20;' => __('Blank'),
htmlentities('&#x0a;&#x0a;', ENT_QUOTES) => __('Carriage Return'),
'|' => __('Vertical Bar'),
';' => __('Semicolon'),
':' => __('Colon'),
',' => __('Commas'),
htmlentities('&#x20;', ENT_QUOTES) => __('Blank'),
];
$inputs[] = [
@ -407,11 +407,11 @@ class ModuleTableValueWidget extends Widget
$size_text = $this->values['sizeLabel'];
$data_module = modules_get_last_value($id_module);
$value = (string) $data_module;
$value = nl2br((string) $data_module);
$value = str_replace(
io_safe_output($this->values['separator']),
'<br/>',
'<br />',
nl2br(io_safe_output(html_entity_decode($this->values['separator']))),
$value
);

View File

@ -359,7 +359,7 @@ class ModuleValueWidget extends Widget
'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;',
'filter_modules' => (users_access_to_agent($values['agentId']) === false) ? [$values['moduleId']] : [],
'filter_modules' => (users_access_to_agent($values['agentId'], 'AR', false, is_metaconsole()) === false) ? [$values['moduleId']] : [],
'nothing' => __('None'),
'nothing_value' => 0,
],
@ -471,17 +471,19 @@ class ModuleValueWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center';
} else {
$orientation = 'grid';
$margin_bottom = 'mrgn_btn_20px';
}
// General div.
$output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">';
// Div value.
$output .= '<div class="pdd_l_15px pdd_r_15px mrgn_btn_20px" style="flex: 0 1 '.$sizeValue.'px; line-height: '.$sizeValue.'px; font-size:'.$sizeValue.'px; color: '.$color.'">';
$output .= '<div class="pdd_l_15px pdd_r_15px '.$margin_bottom.'" style="flex: 0 1 '.$sizeValue.'px; line-height: '.$sizeValue.'px; font-size:'.$sizeValue.'px; color: '.$color.'">';
if (is_numeric($data_module) === true) {
$dataDatos = remove_right_zeros(

View File

@ -133,6 +133,7 @@ class OsQuickReportWidget extends Widget
// Includes.
enterprise_include_once('/include/functions_services.php');
enterprise_include_once('/include/functions_servicemap.php');
include_once $config['homedir'].'/include/functions_os.php';
// WARNING: Do not edit. This chunk must be in the constructor.
parent::__construct(

View File

@ -397,7 +397,7 @@ class SingleGraphWidget extends Widget
$module_name = \modules_get_agentmodule_name($this->values['moduleId']);
$units_name = \modules_get_unit($this->values['moduleId']);
$trickHight = 10;
$trickHight = 0;
if ($this->values['showLegend'] === 1) {
// Needed for legend.
$trickHight = 40;
@ -405,7 +405,7 @@ class SingleGraphWidget extends Widget
$params = [
'agent_module_id' => $this->values['moduleId'],
'width' => ((int) $size['width'] - 5),
'width' => '100%',
'height' => ((int) $size['height'] - $trickHight),
'period' => $this->values['period'],
'title' => $module_name,

View File

@ -516,16 +516,18 @@ class SLAPercentWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center';
} else {
$orientation = 'grid';
$margin_bottom = 'mrgn_btn_20px';
}
// General div.
$output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">';
// Div value.
$output .= '<div class="pdd_l_15px pdd_r_15px mrgn_btn_20px" style="flex: 0 1 '.$sizeValue.'px; line-height: '.$sizeValue.'px; font-size:'.$sizeValue.'px;">';
$output .= '<div class="pdd_l_15px pdd_r_15px '.$margin_bottom.'" style="flex: 0 1 '.$sizeValue.'px; line-height: '.$sizeValue.'px; font-size:'.$sizeValue.'px;">';
$output .= $sla_array['sla_fixed'].'%';
$output .= '</div>';

View File

@ -395,6 +395,12 @@ class SystemGroupStatusWidget extends Widget
$user_groups = users_get_groups(false, 'AR', $return_all_group);
$selected_groups = explode(',', $this->values['groupId'][0]);
if (in_array(0, $selected_groups) === true) {
$selected_groups = [];
foreach (groups_get_all() as $key => $name_group) {
$selected_groups[] = groups_get_id($name_group);
}
}
// Recursion.
if ($this->values['groupRecursion'] === true) {

View File

@ -181,7 +181,7 @@ final class Container extends Model
null
);
return ($backgroundImage === 'None.png') ? null : str_replace(' ', '%20', $backgroundImage);
return ($backgroundImage === 'None.png' || $backgroundImage === null) ? null : str_replace(' ', '%20', $backgroundImage);
}

View File

@ -1865,6 +1865,10 @@ class Item extends CachedModel
$save = array_merge($dataModelEncode, $dataEncode);
if (!empty($save['label'])) {
$save['label'] = io_safe_output(io_safe_input(str_replace("'", "\'", $save['label'])));
}
$result = \db_process_sql_update(
'tlayout_data',
$save,

View File

@ -90,11 +90,11 @@ final class Label extends Item
// Default values.
if (isset($values['width']) === false) {
$values['width'] = 10;
$values['width'] = 50;
}
if (isset($values['height']) === false) {
$values['height'] = 10;
$values['height'] = 50;
}
return $values;

View File

@ -142,7 +142,9 @@ h1 {
img {
cursor: pointer;
}
#modal-add-widget {
min-height: 566px !important;
}
#modal-add-widget .container-list-widgets {
display: flex;
flex-direction: row;

View File

@ -26,7 +26,7 @@
}
#div_display::-webkit-scrollbar:vertical {
width: 5px;
width: 0px;
}
#div_display::-webkit-scrollbar-button:increment,
@ -57,7 +57,7 @@
}
#div_management::-webkit-scrollbar:vertical {
width: 5px;
width: 0px;
}
#div_management::-webkit-scrollbar-button:increment,

View File

@ -534,11 +534,6 @@ ul.datatable_filter > li > div.action-buttons > button {
margin-bottom: 0px !important;
}
#backgroundMaskId {
bottom: 0px !important;
height: auto !important;
}
#image-1,
#image-2 {
padding-left: 0px !important;

View File

@ -7162,6 +7162,10 @@ div.graph div.legend table {
margin-bottom: 35px;
}
.mrgn_btn_35px_imp {
margin-bottom: 35px !important;
}
.mrgn_btn_40px {
margin-bottom: 40px;
}
@ -11528,6 +11532,12 @@ span.subsection_header_title.secondary {
margin-left: 0px;
}
.table-about p span i {
color: #454545;
font-size: 15px;
font-weight: bold;
}
.table-about p.about-last-p {
padding-bottom: 17px;
}
@ -11860,6 +11870,10 @@ div.relative > div > div#ui-datepicker-div {
width: 400px;
}
#message_dialog_connection {
height: auto !important;
}
#module_relations > thead > tr {
border: none !important;
border-bottom: 1px solid #e2e2e2 !important;
@ -12231,6 +12245,11 @@ div.parent_graph > p.legend_background > table > tbody > tr {
margin: 0px !important;
}
div#visual-console-container * {
font-size: unset;
line-height: unset;
}
.combo-oid-button {
display: flex !important;
flex-direction: row !important;

View File

@ -39,7 +39,7 @@ select,
.selection,
button.sub,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
.select2-container {
background-color: #111 !important;
color: #fff !important;
}
@ -252,7 +252,7 @@ tr.group_view_data,
.group_view_data,
ol.steps li span,
ol.steps li a {
color: #fff;
color: #fff !important;
}
/* Tabs icons change color */
@ -394,7 +394,7 @@ table.black_table_modal_alternate tr:nth-child(even) td {
.info_table tr:first-child > th,
.info_table th {
background-color: #222;
background-color: #222 !important;
color: #fff;
}
@ -753,7 +753,7 @@ form ul.form_flex {
.invert_filter,
.labels {
filter: invert(100%);
filter: invert(100%) !important;
}
.info_table .invert_filter,
@ -1435,8 +1435,9 @@ button.submitButton.secondary:hover > div {
}
select[multiple] option:checked,
select[multiple] option:active {
background: #008d86;
select[multiple] option:active,
select[multiple] option:hover {
background: #008d86 !important;
}
.select2-search.select2-search--dropdown,
@ -1562,7 +1563,7 @@ a.autorefresh_txt,
.info_table,
.filter_table {
border: 1px solid #333;
border: 1px solid #333 !important;
}
.info_table.events > tbody > tr > td {
@ -1610,3 +1611,7 @@ a.pandora_pagination,
.font-title-font {
color: #fff;
}
#visual-console-container a p {
color: #3f3f3f;
}

View File

@ -250,6 +250,10 @@ p.error-p-validate {
color: #c00;
}
#modalVCItemForm #textarea_label_ifr {
background-color: #c9cfcd;
}
/* Styles for the solid icons */
.fa {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More