10953-New styles local component
This commit is contained in:
commit
404e2ca484
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
# ==================
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
# ==================
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
# ==================
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.771-230605
|
||||
Version: 7.0NG.772-230621
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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[
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1a0d742e4e1944a599fe7609544719c82ab560590784f0a82733fdba8a7964a3
|
||||
size 7630848
|
||||
oid sha256:ad4d006cf2662a57f2e062b5adbfe8702d2147ec4c4d3dc9a1019938fe7d5b22
|
||||
size 16557020
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.771-230605
|
||||
Version: 7.0NG.772-230621
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.771-230605"
|
||||
pandora_version="7.0NG.772-230621"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 = [];
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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 = [];
|
||||
}
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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':
|
||||
|
|
|
@ -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') {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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 |
|
@ -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)
|
||||
);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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'];
|
||||
|
||||
|
|
|
@ -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>';
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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(
|
||||
[
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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("");
|
||||
|
|
|
@ -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({
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -143,6 +143,9 @@ class BlockHistogram extends Widget
|
|||
$widgetId
|
||||
);
|
||||
|
||||
// Include.
|
||||
include_once $config['homedir'].'/include/functions_reporting.php';
|
||||
|
||||
// Width.
|
||||
$this->width = $width;
|
||||
|
||||
|
|
|
@ -354,6 +354,8 @@ class ColorModuleTabs extends Widget
|
|||
{
|
||||
global $config;
|
||||
|
||||
include_once $config['homedir'].'/include/functions_graph.php';
|
||||
|
||||
$size = parent::getSize();
|
||||
|
||||
$output = '';
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -170,6 +170,9 @@ class GroupedMeterGraphs extends Widget
|
|||
$widgetId
|
||||
);
|
||||
|
||||
// Include.
|
||||
include_once $config['homedir'].'/include/functions_reporting.php';
|
||||
|
||||
// Width.
|
||||
$this->width = $width;
|
||||
|
||||
|
|
|
@ -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,
|
||||
],
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -351,12 +351,12 @@ class ModuleTableValueWidget extends Widget
|
|||
];
|
||||
|
||||
$fields = [
|
||||
'
' => __('Carriage Return'),
|
||||
'|' => __('Vertical Bar'),
|
||||
';' => __('Semicolon'),
|
||||
':' => __('Colon'),
|
||||
',' => __('Commas'),
|
||||
' ' => __('Blank'),
|
||||
htmlentities('

', ENT_QUOTES) => __('Carriage Return'),
|
||||
'|' => __('Vertical Bar'),
|
||||
';' => __('Semicolon'),
|
||||
':' => __('Colon'),
|
||||
',' => __('Commas'),
|
||||
htmlentities(' ', 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
|
||||
);
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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>';
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue