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 # Base config file for Pandora FMS agents
# Version 7.0NG.771, AIX version # Version 7.0NG.772, AIX version
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

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

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # 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, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent # Base config file for Pandora FMS Windows Agent
# (c) 2006-2021 Artica Soluciones Tecnologicas # (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 # 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 # 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 # 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 # Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents # Base config file for Pandora agents
# Version 7.0NG.771, AIX version # Version 7.0NG.772, AIX version
# General Parameters # General Parameters
# ================== # ==================

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -19,11 +19,11 @@
<choice id="com.pandorafms.pandorafms_src" visible="false"> <choice id="com.pandorafms.pandorafms_src" visible="false">
<pkg-ref id="com.pandorafms.pandorafms_src"/> <pkg-ref id="com.pandorafms.pandorafms_src"/>
</choice> </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"> <choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/> <pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
</choice> </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()" /> <!-- <installation-check script="check()" />
<script> <script>
<![CDATA[ <![CDATA[

View File

@ -5,9 +5,9 @@
<key>CFBundleIconFile</key> <string>pandorafms.icns</string> <key>CFBundleIconFile</key> <string>pandorafms.icns</string>
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string> <key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
<key>CFBundleVersion</key> <string>7.0NG.771</string> <key>CFBundleVersion</key> <string>7.0NG.772</string>
<key>CFBundleGetInfoString</key> <string>7.0NG.771 Pandora FMS Agent uninstaller for MacOS by Artica ST on Aug 2020</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.771</string> <key>CFBundleShortVersionString</key> <string>7.0NG.772</string>
<key>NSPrincipalClass</key><string>NSApplication</string> <key>NSPrincipalClass</key><string>NSApplication</string>
<key>NSMainNibFile</key><string>MainMenu</string> <key>NSMainNibFile</key><string>MainMenu</string>

View File

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

View File

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

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents # 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, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2003-2021 Artica Soluciones Tecnologicas
# http://www.pandorafms.com # http://www.pandorafms.com

View File

@ -1,31 +1,31 @@
# Base config file for Pandora FMS agents # Base config file for Pandora FMS agents
# Version 7.0NG.771, GNU/Linux # Version 7.0NG.772
# Licensed under GPL license v2, # Licensed under GPL license v2,
# Copyright (c) 2003-2021 Artica Soluciones Tecnologicas # Copyright (c) 2004-2023 Pandora FMS
# http://www.pandorafms.com # https://pandorafms.com
# General Parameters # General Parameters
# ================== # ==================
server_ip localhost server_ip localhost
server_path /var/spool/pandora/data_in server_path /var/spool/pandora/data_in
temporal /tmp temporal /tmp
logfile /var/log/pandora/pandora_agent.log logfile /var/log/pandora/pandora_agent.log
#include /etc/pandora/pandora_agent_alt.conf #include /etc/pandora/pandora_agent_alt.conf
#broker_agent name_agent #broker_agent name_agent
# Interval in seconds, 300 by default # Interval in seconds, 300 by default (5 minutes)
interval 300 interval 300
# Debug mode renames XML in the temp folder and continues running # Debug mode renames XML in the temp folder and continues running
debug 0 debug 0
# Optional. UDP Server to receive orders from outside # Optional. UDP Server to receive orders from outside
# By default is disabled, set 1 to enable # By default is disabled, set 1 to enable
# Set port (41122 by default) # Set port (41122 by default)
# Set address to restrict who can order a agent restart (0.0.0.0 = anybody) # Set address to restrict who can order a agent restart (0.0.0.0 = anybody)
#
udp_server 0 udp_server 0
udp_server_port 41122 udp_server_port 41122
udp_server_auth_address 0.0.0.0 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_start xeyes
#process_xeyes_stop killall xeyes #process_xeyes_stop killall xeyes
# By default, agent takes machine name # By default, agent takes hostname
#agent_name adama #agent_name adama
# To define agent name by specific command, define 'agent_name_cmd'. # To define agent name by specific command, define 'agent_name_cmd'.
# (In the following example, agent name is 'hostname_IP') # (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 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__ agent_name_cmd __rand__
@ -52,7 +53,7 @@ agent_name_cmd __rand__
#agent_alias_cmd #agent_alias_cmd
# Agent description # 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 assigned for this agent (descriptive, p.e: Servers)
group Servers group Servers
@ -78,20 +79,19 @@ address auto
# Those parameters define the geographical position of the agent # Those parameters define the geographical position of the agent
# gis_exec: Call a script that returns a string with a fixed # 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 # 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: # This sets the GIS coordinates as fixed values:
# latitude
#latitude 0 #latitude 0
# longitude
#longitude 0 #longitude 0
# altitude
#altitude 0 #altitude 0
#GPS Position description #GPS Position description
#position_description Madrid, centro #position_description Madrid, centro
# By default agent try to take default encoding defined in host. # By default agent try to take default encoding defined in host.
@ -133,7 +133,8 @@ transfer_mode tentacle
# is much more safe # is much more safe
#cron_mode #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 remote_config 0
# Default 0, set to 1 to avoid module executions and report to server # 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 # Number of threads to execute modules in parallel
#agent_threads 1 #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 #pandora_user pandora
# Enable or disable XML buffer. # Enable or disable XML buffer.
@ -177,9 +178,9 @@ temporal_max_files 1024
# Agent mode: Learn (default), No-learn, Autodisable # Agent mode: Learn (default), No-learn, Autodisable
# agent_mode 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 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 ehorus_conf /etc/ehorus/ehorus_agent.conf
# Secondary groups. You can select several groups separated by comma. # Secondary groups. You can select several groups separated by comma.
@ -272,10 +273,22 @@ module_plugin autodiscover --default
# Plugin for inventory on the agent. # Plugin for inventory on the agent.
#module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users route #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. # Log collection modules. This will collect log files for forensic analysis and store everything
# This is for LOG monitoring, only on enterprise version # This is for LOG monitoring. Different than log monitoring.
#module_plugin grep_log_module /var/log/messages Syslog \.\* #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_begin
#module_name HTTPD_Status #module_name HTTPD_Status
#module_type generic_proc #module_type generic_proc

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent # Base config file for Pandora FMS Windows Agent
# (c) 2006-2023 Pandora FMS # (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 # 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 # 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 # 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 version https://git-lfs.github.com/spec/v1
oid sha256:1a0d742e4e1944a599fe7609544719c82ab560590784f0a82733fdba8a7964a3 oid sha256:ad4d006cf2662a57f2e062b5adbfe8702d2147ec4c4d3dc9a1019938fe7d5b22
size 7630848 size 16557020

View File

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

View File

@ -12,6 +12,14 @@ use warnings;
use File::Basename; use File::Basename;
BEGIN { push @INC, '/usr/lib/perl5'; } 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::PluginTools;
use PandoraFMS::Omnishell; use PandoraFMS::Omnishell;
@ -90,4 +98,4 @@ if ($@) {
exit 0; exit 0;
} }
exit 0; exit 0;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -220,7 +220,7 @@ function pandora_realtime_graphs()
false, false,
'', '',
'white-box-content', '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'; $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` ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `default_event_filter`; 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; COMMIT;

View File

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

View File

@ -524,6 +524,17 @@ function edit_massive_agent(
alerts_validate_alert_agent($id_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 = []; $info = [];

View File

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

View File

@ -70,16 +70,13 @@ $options_agents = [
]; ];
if (check_acl($config['id_user'], 0, 'UM')) { if (check_acl($config['id_user'], 0, 'UM')) {
$options_users['edit_users'] = __('Edit users in bulk');
if (is_metaconsole() === false) { if (is_metaconsole() === false) {
$options_users = [ $options_users = [
'add_profiles' => __('Bulk profile add'), 'add_profiles' => __('Bulk profile add'),
'delete_profiles' => __('Bulk profile delete'), 'delete_profiles' => __('Bulk profile delete'),
]; ];
} }
if (users_is_admin() === true) {
$options_users['edit_users'] = __('Edit users in bulk');
}
} else { } else {
$options_users = []; $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) { if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
enterprise_hook('applications_menu'); enterprise_hook('applications_menu');
enterprise_hook('cloud_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'); enterprise_hook('console_task_menu');
} }
} }

View File

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

View File

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

View File

@ -2198,10 +2198,6 @@ switch ($action) {
); );
if ($values['treport_custom_sql_id'] == 0) { if ($values['treport_custom_sql_id'] == 0) {
$sql = get_parameter('sql', ''); $sql = get_parameter('sql', '');
if ($sql !== '') {
$good_format = db_validate_sql($sql);
}
$values['external_source'] = $sql; $values['external_source'] = $sql;
} }
@ -2218,6 +2214,28 @@ switch ($action) {
} else { } else {
$values['server_name'] = get_parameter('combo_server'); $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') { } else if ($values['type'] == 'url') {
$values['external_source'] = get_parameter('url'); $values['external_source'] = get_parameter('url');
} else if ($values['type'] == 'event_report_group') { } else if ($values['type'] == 'event_report_group') {
@ -2947,10 +2965,6 @@ switch ($action) {
); );
if ($values['treport_custom_sql_id'] == 0) { if ($values['treport_custom_sql_id'] == 0) {
$sql = get_parameter('sql', ''); $sql = get_parameter('sql', '');
if ($sql !== '') {
$good_format = db_validate_sql($sql);
}
$values['external_source'] = $sql; $values['external_source'] = $sql;
} }
@ -2958,6 +2972,37 @@ switch ($action) {
'historical_db_check' 'historical_db_check'
); );
$values['top_n_value'] = get_parameter('max_items'); $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') { } else if ($values['type'] == 'url') {
$values['external_source'] = get_parameter('url'); $values['external_source'] = get_parameter('url');
} else if ($values['type'] == 'event_report_group') { } else if ($values['type'] == 'event_report_group') {

View File

@ -635,15 +635,20 @@ switch ($activeTab) {
} else { } else {
if (is_metaconsole() === true) { if (is_metaconsole() === true) {
$agents_ids = []; $agents_ids = [];
$servers_ids = [];
foreach ($id_agents as $id_agent_id) { foreach ($id_agents as $id_agent_id) {
$server_and_agent = explode('|', $id_agent_id); $server_and_agent = explode('|', $id_agent_id);
$agents_ids[] = $server_and_agent[1]; $agents_ids[] = $server_and_agent[1];
$servers_ids[] = $server_and_agent[0];
} }
$rows = db_get_all_rows_filter( $rows = db_get_all_rows_filter(
'tmetaconsole_agent', 'tmetaconsole_agent',
['id_tagente' => $agents_ids] [
'id_tagente' => $agents_ids,
'id_tmetaconsole_setup' => $servers_ids,
]
); );
$agents = []; $agents = [];
@ -688,7 +693,9 @@ switch ($activeTab) {
foreach ($modules_serial as $data_serialized) { foreach ($modules_serial as $data_serialized) {
$data = explode('|', $data_serialized); $data = explode('|', $data_serialized);
$id_modules[] = $data[0]; if ($id_server == $data[2]) {
$id_modules[] = $data[0];
}
} }
} }
} else { } 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( $table_styles->data[$row][] = html_print_label_input_block(
__('Custom background logo'), __('Custom background login'),
html_print_div( html_print_div(
[ [
'class' => 'select-with-sibling', 'class' => 'select-with-sibling',

View File

@ -1460,7 +1460,7 @@ class HostDevices extends Wizard
} }
include_once $config['homedir'].'/include/class/CredentialStore.class.php'; 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')) { if (check_acl($config['id_user'], 0, 'UM')) {
$link_to_cs = '<a class="ext_link" href="'.ui_get_full_url( $link_to_cs = '<a class="ext_link" href="'.ui_get_full_url(
'index.php?sec=gmodules&sec2=godmode/groups/group_list&tab=credbox' 'index.php?sec=gmodules&sec2=godmode/groups/group_list&tab=credbox'
@ -1482,7 +1482,7 @@ class HostDevices extends Wizard
'arguments' => [ 'arguments' => [
'type' => 'select', 'type' => 'select',
'name' => 'auth_strings[]', 'name' => 'auth_strings[]',
'fields' => CredentialStore::getKeys('CUSTOM'), 'fields' => CredentialStore::getKeys('WMI'),
'selected' => explode( 'selected' => explode(
',', ',',
$this->task['auth_strings'] $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 { } else {
$whereAlertSimple .= sprintf( $whereAlertSimple .= sprintf(
' AND id_agent_module IN ( ' AND id_agent_module IN (
SELECT tam.id_agente_modulo SELECT tam.id_agente_modulo
FROM tagente_modulo tam FROM tagente_modulo tam
WHERE tam.id_agente IN (SELECT ta.id_agente WHERE tam.id_agente IN (
FROM tagente ta LEFT JOIN tagent_secondary_group tasg ON SELECT
ta.id_agente = tasg.id_agent ta.id_agente
WHERE (ta.id_grupo IN (%s) OR tasg.id_group IN (%s)))) ', 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),
implode(',', $id_groups) implode(',', $id_groups)
); );
@ -833,12 +846,20 @@ if ($get_agent_alerts_datatable === true) {
} else { } else {
$whereAlertSimple .= sprintf( $whereAlertSimple .= sprintf(
' AND id_agent_module IN ( ' AND id_agent_module IN (
SELECT tam.id_agente_modulo SELECT tam.id_agente_modulo
FROM tagente_modulo tam FROM tagente_modulo tam
WHERE tam.id_agente IN (SELECT ta.id_agente WHERE
FROM tagente ta LEFT JOIN tagent_secondary_group tasg ON tam.id_agente IN (
ta.id_agente = tasg.id_agent SELECT ta.id_agente
WHERE (ta.id_grupo IN (%s) OR tasg.id_group IN (%s)))) ', 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),
implode(',', $id_groups) implode(',', $id_groups)
); );

View File

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

View File

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

View File

@ -2560,12 +2560,20 @@ function db_get_column_type(string $table, string $column='')
/** /**
* Validate sql query. * 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. * @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 { try {
error_reporting(0); error_reporting(0);
db_process_sql_begin(); db_process_sql_begin();
@ -2578,5 +2586,9 @@ function db_validate_sql(string $sql)
error_reporting(E_ALL); error_reporting(E_ALL);
} }
if ($server !== false && is_metaconsole() === true) {
metaconsole_restore_db();
}
return ($result !== false) ? true : false; 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) { foreach ($data['sources'] as $key => $value) {
$i = 0; $i = 0;
foreach ($data['data'] as $k => $v) { foreach ($data['data'] as $k => $v) {
$chart['netflow_'.$key]['data'][$i][0] = ($k * 1000); $chart[$key]['data'][$i][0] = ($k * 1000);
$chart['netflow_'.$key]['data'][$i][1] = $v[$key]; $chart[$key]['data'][$i][1] = $v[$key];
$i++; $i++;
} }
} }

View File

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

View File

@ -879,6 +879,11 @@ if (is_ajax()) {
$php_sys = json_decode($d->getPHPSetup()); $php_sys = json_decode($d->getPHPSetup());
$system_date = json_decode($d->getSystemDate()); $system_date = json_decode($d->getSystemDate());
$lts_name = '';
if (empty($config['lts_name']) === false) {
$lts_name = ' <i>'.$config['lts_name'].'</i>';
}
$fragmentation_status = ''; $fragmentation_status = '';
if ($db_fragmentation->data->tablesFragmentationStatus->status === 1) { if ($db_fragmentation->data->tablesFragmentationStatus->status === 1) {
$fragmentation_status = html_print_image( $fragmentation_status = html_print_image(
@ -955,7 +960,7 @@ if (is_ajax()) {
</th> </th>
<th style="width: 60%; text-align: left; border: 0px;"> <th style="width: 60%; text-align: left; border: 0px;">
<h1>'.$product_name.'</h1> <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>'.__('MR version').'</span> MR'.$config['MR'].'</p>
<p><span>Build</span>'.$build_version.'</p> <p><span>Build</span>'.$build_version.'</p>
<p style="margin-bottom: 20px!important;"><span>'.__('Support expires').'</span>'.$license_expiry_date.'</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( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
critical_count>0 AND id_os=%d', critical_count>0 AND id_os=%d',
$table, $table,
$table,
$id_os $id_os
) )
); );
@ -36,10 +37,11 @@ function os_agents_critical($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
critical_count>0 AND critical_count>0 AND
id_os=%d AND id_grupo IN (%s)', id_os=%d AND id_grupo IN (%s)',
$table, $table,
$table,
$id_os, $id_os,
implode(',', $groups) implode(',', $groups)
) )
@ -60,9 +62,10 @@ function os_agents_ok($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
normal_count=total_count AND id_os=%d', normal_count=total_count AND id_os=%d',
$table, $table,
$table,
$id_os $id_os
) )
); );
@ -73,10 +76,11 @@ function os_agents_ok($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
normal_count=total_count AND normal_count=total_count AND
id_os=%d AND id_grupo IN (%s)', id_os=%d AND id_grupo IN (%s)',
$table, $table,
$table,
$id_os, $id_os,
implode(',', $groups) implode(',', $groups)
) )
@ -97,10 +101,11 @@ function os_agents_warning($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
critical_count=0 AND warning_count>0 critical_count=0 AND warning_count>0
AND id_os=%d', AND id_os=%d',
$table, $table,
$table,
$id_os $id_os
) )
); );
@ -111,10 +116,11 @@ function os_agents_warning($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
critical_count=0 AND warning_count>0 AND critical_count=0 AND warning_count>0 AND
id_os=%d AND id_grupo IN (%s)', id_os=%d AND id_grupo IN (%s)',
$table, $table,
$table,
$id_os, $id_os,
implode(',', $groups) implode(',', $groups)
) )
@ -135,10 +141,11 @@ function os_agents_unknown($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
critical_count=0 AND warning_count=0 AND critical_count=0 AND warning_count=0 AND
unknown_count>0 AND id_os=%d', unknown_count>0 AND id_os=%d',
$table, $table,
$table,
$id_os $id_os
) )
); );
@ -149,10 +156,11 @@ function os_agents_unknown($id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND WHERE %s.disabled=0 AND
critical_count=0 AND warning_count=0 AND critical_count=0 AND warning_count=0 AND
unknown_count>0 AND id_os=%d AND id_grupo IN (%s)', unknown_count>0 AND id_os=%d AND id_grupo IN (%s)',
$table, $table,
$table,
$id_os, $id_os,
implode(',', $groups) implode(',', $groups)
) )
@ -179,7 +187,8 @@ function os_agents_total(int $id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s FROM %s
WHERE tagente.disabled=0 AND id_os=%d', WHERE %s.disabled=0 AND id_os=%d',
$table,
$table, $table,
$id_os $id_os
) )
@ -191,7 +200,8 @@ function os_agents_total(int $id_os)
sprintf( sprintf(
'SELECT COUNT(*) 'SELECT COUNT(*)
FROM %s 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, $table,
$id_os, $id_os,
implode(',', $groups) implode(',', $groups)

View File

@ -4253,7 +4253,9 @@ function reporting_group_report($report, $content)
$data_node = reporting_groups_nodes($content); $data_node = reporting_groups_nodes($content);
$count_events += $data_node['count_events']; $count_events += $data_node['count_events'];
foreach ($data_node['group_stats'] as $key => $value) { 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) { 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. // Select agent modal.
$output .= snmp_browser_print_create_modules(true); $output .= snmp_browser_print_create_modules(true);
@ -1134,6 +1146,14 @@ function snmp_browser_print_container(
false, false,
'id_agent_module' '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_table($table, true);
$output .= html_print_div( $output .= html_print_div(
[ [

View File

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

View File

@ -2298,6 +2298,8 @@ var formatterDataVerticalBar = function(value, ctx) {
$(document).ready(function() { $(document).ready(function() {
$("#icon_about").click(function() { $("#icon_about").click(function() {
$("#icon_about").addClass("selected"); $("#icon_about").addClass("selected");
// Hidden tips modal.
$(".window").css("display", "none");
jQuery.post( jQuery.post(
"ajax.php", "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 // 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(); $("#re_exec_command" + index).hide();
$("#response_loading_command" + index).show(); $("#response_loading_command" + index).show();
$("#response_out" + index).html(""); $("#response_out" + index).html("");

View File

@ -7,6 +7,10 @@ function snmpBrowse() {
// Hide the data div // Hide the data div
hideOIDData(); hideOIDData();
$("#button-srcbutton")
.find("div")
.addClass("rotation");
// Reset previous searches // Reset previous searches
$("#search_results").css("display", "none"); $("#search_results").css("display", "none");
$("#hidden-search_count").val(-1); $("#hidden-search_count").val(-1);
@ -258,7 +262,7 @@ function snmpGet(oid) {
var ajax_url = $("#hidden-ajax_url").val(); var ajax_url = $("#hidden-ajax_url").val();
var server_to_exec = $("#server_to_exec").val(); var server_to_exec = $("#server_to_exec").val();
var target_port = $("#target_port").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 // Check for a custom action
var custom_action = $("#hidden-custom_action").val(); var custom_action = $("#hidden-custom_action").val();
@ -283,7 +287,11 @@ function snmpGet(oid) {
params["custom_action"] = custom_action; params["custom_action"] = custom_action;
params["page"] = "include/ajax/snmp_browser.ajax"; params["page"] = "include/ajax/snmp_browser.ajax";
params["target_port"] = target_port; 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! // SNMP get!
jQuery.ajax({ 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 $widgetId
); );
// Include.
include_once $config['homedir'].'/include/functions_reporting.php';
// Width. // Width.
$this->width = $width; $this->width = $width;

View File

@ -354,6 +354,8 @@ class ColorModuleTabs extends Widget
{ {
global $config; global $config;
include_once $config['homedir'].'/include/functions_graph.php';
$size = parent::getSize(); $size = parent::getSize();
$output = ''; $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_agents.php';
include_once $config['homedir'].'/include/functions_modules.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. // WARNING: Do not edit. This chunk must be in the constructor.
parent::__construct( parent::__construct(

View File

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

View File

@ -351,7 +351,7 @@ class GraphModuleHistogramWidget extends Widget
'agent_id' => $values['agentId'], 'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'], 'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;', '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' => __('None'),
'nothing_value' => 0, 'nothing_value' => 0,
], ],

View File

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

View File

@ -375,7 +375,7 @@ class ModuleStatusWidget extends Widget
'agent_id' => $values['agentId'], 'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'], 'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;', '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' => __('None'),
'nothing_value' => 0, 'nothing_value' => 0,
], ],
@ -560,17 +560,19 @@ class ModuleStatusWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">'; $output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = ''; $orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) { if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center'; $orientation = 'flex aligni_center';
} else { } else {
$orientation = 'grid'; $orientation = 'grid';
$margin_bottom = 'mrgn_btn_15px';
} }
// General div. // General div.
$output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">'; $output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">';
// Div image. // 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( $output .= html_print_image(
'images/console/icons/'.$icon, 'images/console/icons/'.$icon,
true, true,

View File

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

View File

@ -359,7 +359,7 @@ class ModuleValueWidget extends Widget
'agent_id' => $values['agentId'], 'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'], 'metaconsole_id' => $values['metaconsoleId'],
'style' => 'width: inherit;', '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' => __('None'),
'nothing_value' => 0, 'nothing_value' => 0,
], ],
@ -471,17 +471,19 @@ class ModuleValueWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">'; $output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = ''; $orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) { if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center'; $orientation = 'flex aligni_center';
} else { } else {
$orientation = 'grid'; $orientation = 'grid';
$margin_bottom = 'mrgn_btn_20px';
} }
// General div. // General div.
$output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">'; $output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">';
// Div value. // 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) { if (is_numeric($data_module) === true) {
$dataDatos = remove_right_zeros( $dataDatos = remove_right_zeros(

View File

@ -133,6 +133,7 @@ class OsQuickReportWidget extends Widget
// Includes. // Includes.
enterprise_include_once('/include/functions_services.php'); enterprise_include_once('/include/functions_services.php');
enterprise_include_once('/include/functions_servicemap.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. // WARNING: Do not edit. This chunk must be in the constructor.
parent::__construct( parent::__construct(

View File

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

View File

@ -516,16 +516,18 @@ class SLAPercentWidget extends Widget
$output .= '<div class="container-center" id="container-'.$uuid.'">'; $output .= '<div class="container-center" id="container-'.$uuid.'">';
$orientation = ''; $orientation = '';
$margin_bottom = '';
if ((int) $this->values['horizontal'] === 1) { if ((int) $this->values['horizontal'] === 1) {
$orientation = 'flex aligni_center'; $orientation = 'flex aligni_center';
} else { } else {
$orientation = 'grid'; $orientation = 'grid';
$margin_bottom = 'mrgn_btn_20px';
} }
// General div. // General div.
$output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">'; $output .= '<div class="'.$orientation.'" id="general-'.$uuid.'">';
// Div value. // 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 .= $sla_array['sla_fixed'].'%';
$output .= '</div>'; $output .= '</div>';

View File

@ -395,6 +395,12 @@ class SystemGroupStatusWidget extends Widget
$user_groups = users_get_groups(false, 'AR', $return_all_group); $user_groups = users_get_groups(false, 'AR', $return_all_group);
$selected_groups = explode(',', $this->values['groupId'][0]); $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. // Recursion.
if ($this->values['groupRecursion'] === true) { if ($this->values['groupRecursion'] === true) {

View File

@ -181,7 +181,7 @@ final class Container extends Model
null 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); $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( $result = \db_process_sql_update(
'tlayout_data', 'tlayout_data',
$save, $save,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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