Merge remote-tracking branch 'origin/develop' into ent-9690-14344-alertas-con-threshold-propio-envian-correos-de-recuperacion-no-esperados

This commit is contained in:
Calvo 2023-04-28 11:11:36 +02:00
commit 7ef41d6273
645 changed files with 137817 additions and 12168 deletions

View File

@ -15,7 +15,7 @@ LOGFILE="/tmp/deploy-ext-db-$(date +%F).log"
# define default variables
[ "$TZ" ] || TZ="Europe/Madrid"
[ "$MYVER" ] || MYVER=57
[ "$MYVER" ] || MYVER=80
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
@ -27,6 +27,7 @@ LOGFILE="/tmp/deploy-ext-db-$(date +%F).log"
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")
# Ansi color code variables
red="\e[0;91m"
green="\e[0;92m"

View File

@ -11,22 +11,25 @@ PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
S_VERSION='2022050901'
S_VERSION='202304111'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables
[ "$TZ" ] || TZ="Europe/Madrid"
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$MYVER" ] || MYVER=80
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
[ "$DBPASS" ] || DBPASS=pandora
[ "$DBPORT" ] || DBPORT=3306
[ "$DBROOTUSER" ] || DBROOTUSER=root
[ "$DBROOTPASS" ] || DBROOTPASS=pandora
[ "$SKIP_PRECHECK" ] || SKIP_PRECHECK=0
[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")
[ "$PANDORA_BETA" ] || PANDORA_BETA=0
[ "$PANDORA_LTS" ] || PANDORA_LTS=1
# Ansi color code variables
red="\e[0;91m"
@ -130,7 +133,10 @@ check_root_permissions
[ "$SKIP_PRECHECK" == 1 ] || check_pre_pandora
#advicing BETA PROGRAM
[ "$PANDORA_BETA" -ne '0' ] && echo -e "${red}BETA version enable using nightly PandoraFMS packages${reset}"
INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}"
[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}"
[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}"
echo -e $INSTALLING_VER
# Connectivity
check_repo_connection
@ -174,7 +180,15 @@ execute_cmd "yum-config-manager --enable remi-php80" "Configuring PHP"
# Install percona Database
#[ -f /etc/my.cnf ] && rm -rf /etc/my.cnf
execute_cmd "yum install -y Percona-Server-server-57" "Installing Percona Server"
if [ "$MYVER" -eq '80' ] ; then
execute_cmd "percona-release setup ps80 -y" "Enabling mysql80 module"
execute_cmd "yum install -y percona-server-server percona-xtrabackup-80" "Installing Percona Server 80"
fi
if [ "$MYVER" -ne '80' ] ; then
execute_cmd "yum install -y Percona-Server-server-57 percona-xtrabackup-24" "Installing Percona Server 57"
fi
# Console dependencies
console_dependencies=" \
@ -348,21 +362,32 @@ EO_CONFIG_TMP
#Configuring Database
if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
execute_cmd "systemctl start mysqld" "Starting database engine"
export MYSQL_PWD=$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
echo """
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Pandor4!');
UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$DBROOTPASS');
""" | mysql --connect-expired-password -uroot &>> "$LOGFILE"
fi
export MYSQL_PWD=$DBROOTPASS
echo -en "${cyan}Creating Pandora FMS database...${reset}"
echo "create database $DBNAME" | mysql -uroot -P$DBPORT -h$DBHOST
check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support."
execute_cmd "systemctl start mysqld" "Starting database engine"
export MYSQL_PWD=$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
if [ "$MYVER" -eq '80' ] ; then
echo """
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = 'Pandor4!';
UNINSTALL COMPONENT 'file://component_validate_password';
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = '$DBROOTPASS';
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"
fi
echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%' identified by \"$DBPASS\"" | mysql -uroot -P$DBPORT -h$DBHOST
export MYSQL_PWD=$DBPASS
if [ "$MYVER" -ne '80' ] ; then
echo """
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('Pandor4!');
UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('$DBROOTPASS');
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"fi
fi
export MYSQL_PWD=$DBROOTPASS
echo -en "${cyan}Creating Pandora FMS database...${reset}"
echo "create database $DBNAME" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support."
echo "CREATE USER \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%'" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
#Generating my.cnf
cat > /etc/my.cnf << EO_CONFIG_F
@ -401,6 +426,8 @@ query_cache_size = 64M
query_cache_min_res_unit = 2k
query_cache_limit = 256K
#skip-log-bin
sql_mode=""
[mysqld_safe]
@ -409,17 +436,35 @@ pid-file=/var/run/mysqld/mysqld.pid
EO_CONFIG_F
execute_cmd "systemctl restart mysqld" "Configuring database engine"
if [ "$MYVER" -eq '80' ] ; then
sed -i -e "/query_cache.*/ s/^#*/#/g" /etc/my.cnf
sed -i -e "s/#skip-log-bin/skip-log-bin/g" /etc/my.cnf
sed -i -e "s/character-set-server=utf8/character-set-server=utf8mb4/g" /etc/my.cnf
fi
execute_cmd "systemctl restart mysqld" "Configuring database engine"
execute_cmd "systemctl enable mysqld --now" "Enabling Database service"
fi
export MYSQL_PWD=$DBPASS
#Define packages
if [ "$PANDORA_BETA" -eq '0' ] ; then
#Define packages
if [ "$PANDORA_LTS" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_agent_linux-7.0NG.noarch.rpm"
elif [ "$PANDORA_LTS" -ne '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
elif [ "$PANDORA_BETA" -ne '0' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://pandorafms.com/community/community-console-rpm-beta/"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi
# if beta is enable
if [ "$PANDORA_BETA" -eq '1' ] ; then
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.noarch.rpm"
PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi
# Downloading Pandora Packages
@ -526,6 +571,13 @@ sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF
sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF
#check fping
fping_bin=$(which fping)
execute_cmd "[ $fping_bin ]" "Check fping location: $fping_bin"
if [ "$fping_bin" != "" ]; then
sed -i -e "s|^fping.*|fping $fping_bin|g" $PANDORA_SERVER_CONF
fi
# Enable agent remote config
sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF

View File

@ -14,12 +14,12 @@ PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
S_VERSION='202302201'
S_VERSION='202304111'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables
[ "$TZ" ] || TZ="Europe/Madrid"
[ "$MYVER" ] || MYVER=57
[ "$MYVER" ] || MYVER=80
[ "$PHPVER" ] || PHPVER=8
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
@ -149,8 +149,8 @@ check_root_permissions
#advicing BETA PROGRAM
INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}"
[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}"
[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}"
[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}"
echo -e $INSTALLING_VER
# Connectivity
@ -327,7 +327,8 @@ console_dependencies=" \
mod_ssl \
libzstd \
openldap-clients \
chromium \
http://firefly.artica.es/centos8/chromium-110.0.5481.177-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/chromium-common-110.0.5481.177-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm"
@ -406,6 +407,7 @@ setenforce 0 &>> "$LOGFILE"
sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config &>> "$LOGFILE"
systemctl disable firewalld --now &>> "$LOGFILE"
# Adding standar cnf for initial setup.
cat > /etc/my.cnf << EO_CONFIG_TMP
[mysqld]
@ -516,9 +518,9 @@ fi
# if beta is enable
if [ "$PANDORA_BETA" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://pandorafms.com/community/community-console-rpm-beta/"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.noarch.rpm"
PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm"
fi
# Downloading Pandora Packages
@ -630,6 +632,13 @@ sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF
sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF
#check fping
fping_bin=$(which fping)
execute_cmd "[ $fping_bin ]" "Check fping location: $fping_bin"
if [ "$fping_bin" != "" ]; then
sed -i -e "s|^fping.*|fping $fping_bin|g" $PANDORA_SERVER_CONF
fi
# Enable agent remote config
sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF

View File

@ -17,7 +17,7 @@ PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
WORKDIR=/opt/pandora/deploy
S_VERSION='202302201'
S_VERSION='202304181'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
rm -f $LOGFILE &> /dev/null # remove last log before start
@ -153,8 +153,8 @@ check_root_permissions
#advicing BETA PROGRAM
INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}"
[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}"
[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}"
[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}"
echo -e $INSTALLING_VER
# Connectivity
@ -274,6 +274,7 @@ server_dependencies=" \
cron \
libgeo-ip-perl \
arping \
snmp-mibs-downloader \
openjdk-8-jdk "
execute_cmd "apt install -y $server_dependencies" "Installing Pandora FMS Server dependencies"
@ -304,8 +305,9 @@ ln -s /usr/bin/fping /usr/sbin/fping &>> "$LOGFILE"
# Chrome
rm -f /usr/bin/chromium-browser &>> "$LOGFILE"
execute_cmd "wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" "Downloading google chrome"
execute_cmd "apt install -y ./google-chrome-stable_current_amd64.deb" "Intalling google chrome"
CHROME_VERSION=google-chrome-stable_110.0.5481.177-1_amd64.deb
execute_cmd "wget https://dl.google.com/linux/deb/pool/main/g/google-chrome-stable/${CHROME_VERSION}" "Downloading google chrome"
execute_cmd "apt install -y ./${CHROME_VERSION}" "Intalling google chrome"
execute_cmd "ln -s /usr/bin/google-chrome /usr/bin/chromium-browser" "Creating /usr/bin/chromium-browser Symlink"
# SDK VMware perl dependencies
@ -466,9 +468,9 @@ elif [ "$PANDORA_LTS" -ne '1' ] ; then
fi
if [ "$PANDORA_BETA" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest_x86_64.tar.gz"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.tar.gz"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz"
PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_server-latest_x86_64.tar.gz"
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandora_enterprise_nightlies/pandorafms_console-latest.tar.gz"
PANDORA_AGENT_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz"
fi
# Downloading Pandora Packages

View File

@ -8,265 +8,135 @@ RUN dnf install -y --setopt=tsflags=nodocs \
dnf-utils \
http://rpms.remirepo.net/enterprise/remi-release-8.rpm
RUN dnf module reset -y php && dnf module install -y php:remi-7.4
RUN dnf module reset -y php && dnf module install -y php:remi-8.0
RUN dnf config-manager --set-enabled powertools
# Install console dependencies
RUN dnf install -y --setopt=tsflags=nodocs \
php \
php-mcrypt \php-cli \
php-gd \
php-curl \
php-session \
php-mysqlnd \
php-ldap \
php-zip \
php-zlib \
php-fileinfo \
php-gettext \
php-snmp \
php-mbstring \
php-pecl-zip \
php-xmlrpc \
libxslt \
wget \
php-xml \
httpd \
mod_php \
atk \
avahi-libs \
cairo \
cups-libs \
fribidi \
gd \
gdk-pixbuf2 \
ghostscript \
graphite2 \
graphviz \
gtk2 \
harfbuzz \
hicolor-icon-theme \
hwdata \
jasper-libs \
lcms2 \
libICE \
libSM \
libXaw \
libXcomposite \
libXcursor \
libXdamage \
libXext \
libXfixes \
libXft \
libXi \
libXinerama \
libXmu \
libXrandr \
libXrender \
libXt \
libXxf86vm \
libcroco \
libdrm \
libfontenc \
libglvnd \
libglvnd-egl \
libglvnd-glx \
libpciaccess \
librsvg2 \
libthai \
libtool-ltdl \
libwayland-client \
libwayland-server \
libxshmfence \
mesa-libEGL \
mesa-libGL \
mesa-libgbm \
mesa-libglapi \
pango \
pixman \
nfdump \
xorg-x11-fonts-75dpi \
xorg-x11-fonts-misc \
poppler-data \
php-yaml
php \
postfix \
php-mcrypt \
php-cli \
php-gd \
php-curl \
php-session \
php-mysqlnd \
php-ldap \
php-zip \
php-zlib \
php-fileinfo \
php-gettext \
php-snmp \
php-mbstring \
php-pecl-zip \
php-xmlrpc \
libxslt \
wget \
php-xml \
httpd \
mod_php \
atk \
avahi-libs \
cairo \
cups-libs \
fribidi \
gd \
gdk-pixbuf2 \
ghostscript \
graphite2 \
graphviz \
gtk2 \
harfbuzz \
hicolor-icon-theme \
hwdata \
jasper-libs \
lcms2 \
libICE \
libSM \
libXaw \
libXcomposite \
libXcursor \
libXdamage \
libXext \
libXfixes \
libXft \
libXi \
libXinerama \
libXmu \
libXrandr \
libXrender \
libXt \
libXxf86vm \
libcroco \
libdrm \
libfontenc \
libglvnd \
libglvnd-egl \
libglvnd-glx \
libpciaccess \
librsvg2 \
libthai \
libtool-ltdl \
libwayland-client \
libwayland-server \
libxshmfence \
mesa-libEGL \
mesa-libGL \
mesa-libgbm \
mesa-libglapi \
pango \
pixman \
xorg-x11-fonts-75dpi \
xorg-x11-fonts-misc \
poppler-data \
php-yaml \
libzstd \
openldap-clients \
http://firefly.artica.es/centos8/chromium-110.0.5481.177-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/chromium-common-110.0.5481.177-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \
http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm
RUN mkdir -p /run/php-fpm/ ; chown -R root:apache /run/php-fpm/
# Not installed perl-Net-Telnet gtk-update-icon-cach ghostscript-fonts
# Install server dependencies
RUN dnf install -y --setopt=tsflags=nodocs \
GeoIP \
GeoIP-GeoLite-data \
dwz \
efi-srpm-macros \
ghc-srpm-macros \
go-srpm-macros \
ocaml-srpm-macros \
openblas-srpm-macros \
perl \
perl-Algorithm-Diff \
perl-Archive-Tar \
perl-Archive-Zip \
perl-Attribute-Handlers \
perl-B-Debug \
perl-CPAN \
perl-CPAN-Meta \
perl-CPAN-Meta-Requirements \
perl-CPAN-Meta-YAML \
perl-Compress-Bzip2 \
perl-Config-Perl-V \
perl-DBD-MySQL \
perl-DBI \
perl-DB_File \
perl-Data-Dump \
perl-Data-OptList \
perl-Data-Section \
perl-Devel-PPPort \
perl-Devel-Peek \
perl-Devel-SelfStubber \
perl-Devel-Size \
perl-Digest-HMAC \
perl-Digest-SHA \
perl-Encode-Locale \
perl-Encode-devel \
perl-Env \
perl-ExtUtils-CBuilder \
perl-ExtUtils-Command \
perl-ExtUtils-Embed \
perl-ExtUtils-Install \
perl-ExtUtils-MM-Utils \
perl-ExtUtils-MakeMaker \
perl-ExtUtils-Manifest \
perl-ExtUtils-Miniperl \
perl-ExtUtils-ParseXS \
perl-File-Fetch \
perl-File-HomeDir \
perl-File-Listing \
perl-File-Which \
perl-Filter \
perl-Filter-Simple \
perl-Geo-IP \
perl-HTML-Parser \
perl-HTML-Tagset \
perl-HTML-Tree \
perl-HTTP-Cookies \
perl-HTTP-Date \
perl-HTTP-Message \
perl-HTTP-Negotiate \
perl-IO-HTML \
perl-IO-Socket-INET6 \
perl-IO-Zlib \
perl-IO-stringy \
perl-IPC-Cmd \
perl-IPC-SysV \
perl-IPC-System-Simple \
perl-JSON \
perl-JSON-PP \
perl-LWP-MediaTypes \
perl-Locale-Codes \
perl-Locale-Maketext \
perl-Locale-Maketext-Simple \
perl-MRO-Compat \
perl-Math-BigInt \
perl-Math-BigInt-FastCalc \
perl-Math-BigRat \
perl-Memoize \
perl-Module-Build \
perl-Module-CoreList \
perl-Module-CoreList-tools \
perl-Module-Load \
perl-Module-Load-Conditional \
perl-Module-Loaded \
perl-Module-Metadata \
perl-NTLM \
perl-Net-HTTP \
perl-Net-Ping \
perl-NetAddr-IP \
perl-Package-Generator \
perl-Params-Check \
perl-Params-Util \
perl-Perl-OSType \
perl-PerlIO-via-QuotedPrint \
perl-Pod-Checker \
perl-Pod-Html \
perl-Pod-Parser \
perl-SelfLoader \
perl-Socket6 \
perl-Software-License \
perl-Sub-Exporter \
perl-Sub-Install \
perl-Sys-Syslog \
perl-Test \
perl-Test-Harness \
perl-Test-Simple \
perl-Text-Balanced \
perl-Text-Diff \
perl-Text-Glob \
perl-Text-Template \
perl-Thread-Queue \
perl-Time-Piece \
perl-TimeDate \
perl-Try-Tiny \
perl-Unicode-Collate \
perl-WWW-RobotRules \
perl-XML-NamespaceSupport \
perl-XML-Parser \
perl-XML-SAX \
perl-XML-SAX-Base \
perl-XML-Simple \
perl-XML-Twig \
perl-autodie \
perl-bignum \
perl-devel \
perl-encoding \
perl-experimental \
perl-inc-latest \
perl-libnetcfg \
perl-libwww-perl \
perl-local-lib \
perl-open \
perl-perlfaq \
perl-srpm-macros \
perl-utils \
perl-version \
python-srpm-macros \
python3-pyparsing \
python3-rpm-macros \
qt5-srpm-macros \
redhat-rpm-config \
rust-srpm-macros \
systemtap-sdt-devel \
perl-TermReadKey \
perl \
perl-DBD-MySQL \
perl-DBI \
initscripts \
vim \
fping \
perl-IO-Compress \
perl-Time-HiRes \
perl-Math-Complex \
libnsl \
mysql \
java \
net-snmp-utils \
net-tools \
nmap-ncat \
nmap \
net-snmp-utils \
sudo \
expect \
openssh-clients \
http://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm
# Install server dependencies
RUN dnf install -y --setopt=tsflags=nodocs \
perl \
vim \
fping \
perl-IO-Compress \
nmap \
sudo \
perl-Time-HiRes \
nfdump \
net-snmp-utils \
"perl(NetAddr::IP)" \
"perl(Sys::Syslog)" \
"perl(DBI)" \
"perl(XML::Simple)" \
"perl(Geo::IP)" \
"perl(IO::Socket::INET6)" \
"perl(XML::Twig)" \
expect \
openssh-clients \
java \
bind-utils \
whois \
libnsl \
http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm \
http://firefly.artica.es/centos7/wmic-1.4-1.el7.x86_64.rpm \
https://firefly.artica.es/centos8/pandorawmic-1.0.0-1.x86_64.rpm ; dnf clean all
# Install utils
RUN dnf install -y supervisor chromium crontabs http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm --setopt=tsflags=nodocs
RUN dnf install -y supervisor mysql chromium crontabs http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm --setopt=tsflags=nodocs
# SDK VMware perl dependencies
RUN dnf install -y http://firefly.artica.es/centos8/perl-Crypt-OpenSSL-AES-0.02-1.el8.x86_64.rpm http://firefly.artica.es/centos8/perl-Crypt-SSLeay-0.73_07-1.gf.el8.x86_64.rpm perl-Net-HTTP perl-libwww-perl openssl-devel perl-Crypt-CBC perl-Bytes-Random-Secure perl-Crypt-Random-Seed perl-Math-Random-ISAAC perl-JSON http://firefly.artica.es/centos8/VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.rpm
# Instant client Oracle
RUN dnf install -y https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm
# Install IPAM dependencies
RUN dnf install -y http://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm "perl(NetAddr::IP)" "perl(Sys::Syslog)" "perl(DBI)" "perl(XML::Simple)" "perl(Geo::IP)" "perl(IO::Socket::INET6)" "perl(XML::Twig)" "perl(DBD::mysql)" --setopt=tsflags=nodocs
EXPOSE 80 443 41121 162/udp

View File

@ -2018,7 +2018,7 @@ sub pandora_agent_run () {
$Xml = $xml_header . $Xml . "</agent_data>";
# Save XML data file
my $temp_file = $Conf{'temporal'} . '/' . $Conf{'agent_name'} . '.' . time () . '.data';
my $temp_file = $Conf{'temporal'} . '/' . md5($Conf{'agent_name'}) . '.' . time () . '.data';
if (-l $temp_file && !unlink($temp_file)) {
error ("File '$temp_file' already exists as a symlink and could not be removed: $!");
return 1;

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.770-230403
Version: 7.0NG.770-230428
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -1023,7 +1023,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.770';
use constant AGENT_BUILD => '230403';
use constant AGENT_BUILD => '230428';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;
@ -4377,7 +4377,7 @@ while (1) {
$Xml = $xml_header . $Xml . "</agent_data>";
# Save XML data file
my $temp_file = $Conf{'temporal'} . '/' . $Conf{'agent_name'} . '.' . time () . '.data';
my $temp_file = $Conf{'temporal'} . '/' . md5($Conf{'agent_name'}) . '.' . time () . '.data';
error ("File '$temp_file' already exists as a symlink and could not be removed: $!") if (-l $temp_file && !unlink($temp_file));
open (TEMP_FILE, "> $temp_file") || error ("Could not write XML data file: $!");
print TEMP_FILE $Xml;

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.770
%define release 230403
%define release 230428
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.770
%define release 230403
%define release 230428
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.770"
PI_BUILD="230403"
PI_BUILD="230428"
OS_NAME=`uname -s`
FORCE=0

File diff suppressed because it is too large Load Diff

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{230403}
{230428}
ViewReadme
{Yes}

View File

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

View File

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

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.770-230403
Version: 7.0NG.770-230428
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -9,15 +9,16 @@
],
"config": {
"platform": {
"php": "8.0.0"
"php": "8.0.2"
}
},
"require": {
"mpdf/mpdf": "^8.0.15",
"swiftmailer/swiftmailer": "^6.0",
"amphp/parallel-functions": "^1.0",
"chrome-php/chrome": "^1.7.1",
"artica/phpchartjs": "^1.0"
"chrome-php/chrome": "^1.8.1",
"artica/phpchartjs": "^1.0",
"tinymce/tinymce": "^6.4"
},
"repositories": {
"phpchartjs": {

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -189,6 +189,12 @@ CREATE TABLE IF NOT EXISTS `tfavmenu_user` (
`section` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`));
ALTER TABLE `tnetflow_filter` ADD COLUMN `netflow_monitoring` TINYINT UNSIGNED NOT NULL default 0;
ALTER TABLE `tnetflow_filter` ADD COLUMN `traffic_max` INTEGER NOT NULL default 0;
ALTER TABLE `tnetflow_filter` ADD COLUMN `traffic_critical` float(20,2) NOT NULL default 0;
ALTER TABLE `tnetflow_filter` ADD COLUMN `traffic_warning` float(20,2) NOT NULL default 0;
ALTER TABLE `tnetflow_filter` ADD COLUMN `utimestamp` INT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE `tnetflow_filter` ADD COLUMN `netflow_monitoring_interval` INT UNSIGNED NOT NULL DEFAULT 300;
INSERT INTO `tconfig` (`token`, `value`) VALUES ('legacy_database_ha', 1);
COMMIT;

View File

@ -0,0 +1,14 @@
START TRANSACTION;
CREATE TABLE IF NOT EXISTS `tsesion_filter` (
`id_filter` INT NOT NULL AUTO_INCREMENT,
`id_name` TEXT NULL,
`text` TEXT NULL,
`period` TEXT NULL,
`ip` TEXT NULL,
`type` TEXT NULL,
`user` TEXT NULL,
PRIMARY KEY (`id_filter`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
COMMIT;

View File

@ -117,12 +117,12 @@ if (empty($config['random_background']) === false) {
unset($random_backgrounds[0], $random_backgrounds[1]);
$random_background = array_rand($random_backgrounds);
$background_url = 'images/backgrounds/random_backgrounds/'.$random_backgrounds[$random_background];
$background_100 = 'background-size: 100% 100% !important; ';
$background_100 = 'background-size: cover !important; background-position: center !important; ';
}
if (empty($config['login_background']) === false) {
$background_url = 'images/backgrounds/'.$config['login_background'];
$background_100 = 'background-size: 100% 100% !important; ';
$background_100 = 'background-size: cover !important; background-position: center !important; ';
}
// Support for Internet Explorer and Microsoft Edge browsers

View File

@ -636,7 +636,8 @@ $tableAdvancedAgent->data['secondary_groups'][] = html_print_label_input_block(
__('Secondary groups'),
html_print_select_agent_secondary(
$agent,
$id_agente
$id_agente,
['selected_post' => $secondary_groups]
)
);
@ -759,6 +760,7 @@ $tableAdvancedAgent->data['agent_icon'][] = html_print_label_input_block(
[
'id' => 'icon_ok',
'style' => 'display:'.$display_icons.';',
'width' => '40',
]
).html_print_image(
$path_bad,
@ -766,6 +768,7 @@ $tableAdvancedAgent->data['agent_icon'][] = html_print_label_input_block(
[
'id' => 'icon_bad',
'style' => 'display:'.$display_icons.';',
'width' => '40',
]
).html_print_image(
$path_warning,
@ -773,6 +776,7 @@ $tableAdvancedAgent->data['agent_icon'][] = html_print_label_input_block(
[
'id' => 'icon_warning',
'style' => 'display:'.$display_icons.';',
'width' => '40',
]
)
);

View File

@ -228,7 +228,7 @@ if ($create_agent) {
$cps = (int) get_parameter_switch('cps', -1);
$fixed_ip = (int) get_parameter_switch('fixed_ip', 0);
$secondary_groups = (string) get_parameter('secondary_hidden', '');
$secondary_groups = (array) get_parameter('secondary_groups_selected', '');
$fields = db_get_all_fields_in_table('tagent_custom_fields');
if ($fields === false) {
@ -343,7 +343,7 @@ if ($create_agent) {
'agents_update_secondary_groups',
[
$id_agente,
explode(',', $secondary_groups),
$secondary_groups,
[],
]
);
@ -992,7 +992,7 @@ if ($update_agent) {
$cps = get_parameter_switch('cps', -1);
$old_values = db_get_row('tagente', 'id_agente', $id_agente);
$fields = db_get_all_fields_in_table('tagent_custom_fields');
$secondary_groups = (string) get_parameter('secondary_hidden', '');
$secondary_groups = (array) get_parameter('secondary_groups_selected', '');
$satellite_server = (int) get_parameter('satellite_server', 0);
$fixed_ip = (int) get_parameter_switch('fixed_ip', 0);
@ -1185,16 +1185,32 @@ if ($update_agent) {
"Quiet":"'.(int) $quiet.'",
"Cps":"'.(int) $cps.'"}';
$secondary_groups_selected = enterprise_hook(
'agents_get_secondary_groups',
[$id_agente]
);
$delete_secondary_groups = [];
foreach ($secondary_groups_selected['plain'] as $v_selected) {
if (in_array($v_selected, $secondary_groups) === false) {
array_push($delete_secondary_groups, $v_selected);
}
}
// Create the secondary groups.
enterprise_hook(
'agents_update_secondary_groups',
[
$id_agente,
explode(',', $secondary_groups),
[],
$secondary_groups,
$delete_secondary_groups,
true,
]
);
ui_update_name_fav_element($id_agente, 'Agents', $alias);
ui_print_success_message(__('Successfully updated'));
db_pandora_audit(
AUDIT_LOG_AGENT_MANAGEMENT,
@ -1503,10 +1519,50 @@ if ($update_module === true || $create_module === true) {
$critical_instructions = (string) get_parameter('critical_instructions');
$warning_instructions = (string) get_parameter('warning_instructions');
$unknown_instructions = (string) get_parameter('unknown_instructions');
$critical_inverse = (int) get_parameter('critical_inverse');
$warning_inverse = (int) get_parameter('warning_inverse');
$percentage_critical = (int) get_parameter('percentage_critical');
$percentage_warning = (int) get_parameter('percentage_warning');
// Warning thresholds.
$warning_threshold_check_type = get_parameter('warning_thresholds_checks');
if ($warning_threshold_check_type === 'normal_warning') {
$percentage_warning = 0;
$warning_inverse = 0;
} else if ($warning_threshold_check_type === 'warning_inverse') {
$warning_inverse = (int) get_parameter('warning_inverse_string_sent');
$percentage_warning = 0;
} else {
$percentage_warning = (int) get_parameter('warning_inverse_string_sent');
$warning_inverse = 0;
}
// Critical thresholds.
$critical_threshold_check_type = get_parameter('critical_thresholds_checks');
if ($critical_threshold_check_type === 'normal_critical') {
$percentage_critical = 0;
$critical_inverse = 0;
} else if ($critical_threshold_check_type === 'critical_inverse') {
$critical_inverse = (int) get_parameter('critical_inverse_string_sent');
$percentage_critical = 0;
} else {
$percentage_critical = (int) get_parameter('critical_inverse_string_sent');
$critical_inverse = 0;
}
// Inverse string checkbox.
if ($id_module_type === MODULE_TYPE_GENERIC_DATA_STRING || $id_module_type === MODULE_TYPE_ASYNC_STRING) {
// Warning inverse string checkbox.
$warning_string_checkbox = get_parameter('warning_inverse_string');
if (!empty($warning_string_checkbox) && $warning_string_checkbox === 'warning_inverse_string') {
$warning_inverse = (int) get_parameter('warning_inverse_string_sent');
} else {
$warning_inverse = 0;
}
// Critial inverse string checkbox.
$critical_string_checkbox = get_parameter('critical_inverse_string');
if (!empty($critical_string_checkbox) && $critical_string_checkbox === 'critical_inverse_string') {
$critical_inverse = (int) get_parameter('critical_inverse_string_sent');
} else {
$critical_inverse = 0;
}
}
$id_category = (int) get_parameter('id_category');
@ -2455,7 +2511,13 @@ switch ($tab) {
}]
});
}
});
});
$("#network_component").change(function (e) {
setTimeout(() => {
$('#snmp_version').trigger("change");
}, 100);
});
});
// Change description when edit port

View File

@ -46,7 +46,7 @@ $custom_fields = array_map(
function ($field) {
$field['secure'] = (bool) $field['secure'];
if ($field['secure']) {
$field['value'] = io_input_password($field['value']);
$field['value'] = io_input_password(io_safe_output($field['value']));
}
return $field;
@ -75,7 +75,7 @@ if ($add_inventory_module) {
'interval' => $interval,
'username' => $username,
'password' => $password,
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode($custom_fields)) : '',
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode(io_safe_output($custom_fields), JSON_UNESCAPED_UNICODE)) : '',
];
$result = db_process_sql_insert('tagent_module_inventory', $values);
@ -119,7 +119,7 @@ if ($add_inventory_module) {
'interval' => $interval,
'username' => $username,
'password' => $password,
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode($custom_fields)) : '',
'custom_fields' => $custom_fields_enabled && !empty($custom_fields) ? base64_encode(json_encode(io_safe_output($custom_fields, true), JSON_UNESCAPED_UNICODE)) : '',
];
$result = db_process_sql_update('tagent_module_inventory', $values, ['id_agent_module_inventory' => $id_agent_module_inventory, 'id_agente' => $id_agente]);
@ -237,8 +237,9 @@ if (db_get_num_rows($sql) == 0) {
$table->head[5] = __('Actions');
$table->align = [];
$table->align[5] = 'left';
$i = 0;
foreach ($result as $row) {
$table->cellclass[$i++][5] = 'table_action_buttons';
$data = [];
$sql = sprintf('SELECT id_policy FROM tpolicy_modules_inventory WHERE id = %d', $row['id_policy_module_inventory']);

View File

@ -114,7 +114,7 @@ ui_print_standard_header(
if (is_management_allowed() === false) {
if (is_metaconsole() === false) {
$url = '<a target="_blank" href="'.ui_get_meta_url(
'index.php?sec=monitoring&sec2=monitoring/wizard/wizard'
'index.php?sec=advanced&sec2=advanced/massive_operations&tab=massive_agents'
).'">'.__('metaconsole').'</a>';
} else {
$url = __('any node');

View File

@ -1184,6 +1184,11 @@ html_print_div(
}
});
var show_dialog_create = "<?php echo get_parameter('show_dialog_create', 0); ?>";
if (show_dialog_create !== '0'){
$('#button-create_module').click();
}
});

View File

@ -473,9 +473,9 @@ $tableBasicThresholds->data['warning_threshold'][1] .= html_print_input_text(
$tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_switch_radio_button(
[
html_print_radio_button_extended('warning_thresholds_checks', 'normal_warning', __('Normal'), ($percentage_warning && $warning_inverse) === false, false, '', '', true, false, '', 'radius-normal_warning'),
html_print_radio_button_extended('warning_thresholds_checks', 'warning_inverse', __('Inverse interval'), $warning_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-warning_inverse'),
html_print_radio_button_extended('warning_thresholds_checks', 'percentage_warning', __('Percentage'), $percentage_warning, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_warning'),
html_print_radio_button_extended('warning_thresholds_checks', 'normal_warning', __('Normal'), ($percentage_warning && $warning_inverse) ? false : 'normal_warning', false, '', '', true, false, '', 'radius-normal_warning'),
html_print_radio_button_extended('warning_thresholds_checks', 'warning_inverse', __('Inverse interval'), ($warning_inverse) ? 'warning_inverse' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-warning_inverse'),
html_print_radio_button_extended('warning_thresholds_checks', 'percentage_warning', __('Percentage'), ($percentage_warning) ? 'percentage_warning' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_warning'),
],
[ 'class' => 'margin-top-10' ],
true
@ -485,7 +485,7 @@ $basicThresholdsIntervalWarning = [];
$basicThresholdsIntervalWarning[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalWarning[] = html_print_checkbox_switch(
'warning_inverse_string',
1,
'warning_inverse_string',
$warning_inverse,
true,
$disabledBecauseInPolicy
@ -556,9 +556,9 @@ $tableBasicThresholds->data['critical_threshold'][1] .= html_print_input_text(
$tableBasicThresholds->data['switch_critical_threshold'][0] .= html_print_switch_radio_button(
[
html_print_radio_button_extended('critical_thresholds_checks', 'normal_critical', __('Normal'), ($percentage_critical && $critical_inverse) === false, false, '', '', true, false, '', 'radius-normal_critical'),
html_print_radio_button_extended('critical_thresholds_checks', 'critical_inverse', __('Inverse interval'), $critical_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-critical_inverse'),
html_print_radio_button_extended('critical_thresholds_checks', 'percentage_critical', __('Percentage'), $percentage_critical, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_critical'),
html_print_radio_button_extended('critical_thresholds_checks', 'normal_critical', __('Normal'), ($percentage_critical && $critical_inverse) ? false : 'normal_critical', false, '', '', true, false, '', 'radius-normal_critical'),
html_print_radio_button_extended('critical_thresholds_checks', 'critical_inverse', __('Inverse interval'), ($critical_inverse) ? 'critical_inverse' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-critical_inverse'),
html_print_radio_button_extended('critical_thresholds_checks', 'percentage_critical', __('Percentage'), ($percentage_critical) ? 'percentage_critical' : false, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_critical'),
],
[ 'class' => 'margin-top-10' ],
true
@ -569,7 +569,7 @@ $basicThresholdsIntervalCritical = [];
$basicThresholdsIntervalCritical[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalCritical[] = html_print_checkbox_switch(
'critical_inverse_string',
1,
'critical_inverse_string',
$critical_inverse,
true,
$disabledBecauseInPolicy
@ -694,6 +694,8 @@ if (isset($module['id_policy_module']) === true) {
}
$cps_array[-1] = __('Disabled');
$cps_array[0] = __('Enabled');
if ($cps_module > 0) {
$cps_array[$cps_module] = __('Enabled');
} else {
@ -705,7 +707,9 @@ if ($cps_module > 0) {
}
}
$cps_array[$cps_inc] = __('Enabled');
if ($cps_inc > -1) {
$cps_array[$cps_inc] = __('Enabled');
}
}
// JS Scripts for ff thresholds.
@ -1978,7 +1982,7 @@ $(document).ready (function () {
}
});
});

View File

@ -348,8 +348,8 @@ push_table_simple($data, 'tcp_send_receive');
if ($id_module_type < 8 || $id_module_type > 11) {
// NOT TCP.
$table_simple->rowstyle['tcp_send'] = 'display: none;';
$table_simple->rowstyle['tcp_receive'] = 'display: none;';
$table_simple->rowstyle['caption_tcp_send_receive'] = 'display: none;';
$table_simple->rowstyle['tcp_send_receive'] = 'display: none;';
}
if ($id_module_type < 15 || $id_module_type > 18) {

View File

@ -151,7 +151,7 @@ if (is_ajax()) {
'',
false,
$is_management_allowed,
"removeTinyMCE('textarea_field".$i."_value')",
"UndefineTinyMCE('#textarea_field".$i."_value')",
'',
true
);
@ -163,7 +163,7 @@ if (is_ajax()) {
'',
true,
$is_management_allowed,
"addTinyMCE('textarea_field".$i."_value')",
"defineTinyMCE('#textarea_field".$i."_value')",
'',
true
);
@ -188,7 +188,7 @@ if (is_ajax()) {
'',
false,
$is_management_allowed,
"removeTinyMCE('textarea_field".$i."_recovery_value')",
"UndefineTinyMCE('#textarea_field".$i."_recovery_value')",
'',
true
);
@ -200,7 +200,7 @@ if (is_ajax()) {
'',
true,
$is_management_allowed,
"addTinyMCE('textarea_field".$i."_recovery_value')",
"defineTinyMCE('#textarea_field".$i."_recovery_value')",
'',
true
);
@ -227,7 +227,7 @@ if (is_ajax()) {
'field'.$i.'_value',
'text/plain',
'',
$content_type == 'text/plain',
'',
$is_management_allowed,
'',
'',
@ -239,7 +239,7 @@ if (is_ajax()) {
'field'.$i.'_value',
'text/html',
'',
$content_type == 'text/html',
'text/html',
$is_management_allowed,
'',
'',
@ -855,16 +855,16 @@ if (users_is_admin() === true) {
});
function dialog_message(message) {
$(message)
$(message)
.css("display", "inline")
.dialog({
modal: true,
width: "400px",
buttons: {
Close: function() {
$(this).dialog("close");
modal: true,
width: "400px",
buttons: {
Close: function() {
$(this).dialog("close");
}
}
}
});
}

View File

@ -903,10 +903,7 @@ foreach ($simple_alerts as $alert) {
$data[3] .= '</div>';
}
$table_alert_list->cellclass[] = [
1 => 'table_action_buttons',
4 => 'table_action_buttons',
];
$table_alert_list->cellclass[] = [4 => 'table_action_buttons'];
$data[4] = '<form class="disable_alert_form display_in" action="'.$url.'" method="post" >';
if ($alert['disabled']) {
$data[4] .= html_print_input_image(

View File

@ -122,24 +122,28 @@ $sec = (is_metaconsole() === true) ? 'advanced' : 'galertas';
// case delete_templete action is performed.
if (!$delete_template) {
// Header.
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true,
[],
[
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true,
[],
[
'link' => '',
'label' => __('Alerts'),
],
[
'link' => '',
'label' => __('Alert templates'),
],
]
);
[
'link' => '',
'label' => __('Alerts'),
],
[
'link' => '',
'label' => __('Alert templates'),
],
]
);
}
}
if ($update_template) {

View File

@ -457,7 +457,7 @@ if ($is_management_allowed === true) {
echo '</form>';
ui_require_javascript_file('pandora_alerts');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
?>
<script type="text/javascript">
@ -712,7 +712,6 @@ $(document).ready (function () {
old_recovery_value =
$("[name=field" + i + "_recovery_value]").val();
}
// Replace the old column with the new
$table_macros_field.replaceWith(field_row);
if (old_value != '' || old_recovery_value != '') {
@ -720,12 +719,14 @@ $(document).ready (function () {
if (inputType == 'radio') {
if(old_value == 'text/plain'){
if ($("[name=field" + i + "_value]").val() == 'text/plain') {
$("[name=field" + i + "_value]").attr('checked','checked');
$("[name=field" + i + "_value][value='text/plain']").attr('checked','checked');
$("[name=field" + i + "_value][value='text/html']").removeAttr("checked")
}
}
else{
if($("[name=field" + i + "_value]").val() == 'text/html') {
$("[name=field" + i + "_value]").attr('checked','checked');
$("[name=field" + i + "_value]").val()
if ($("[name=field" + i + "_value]").val() == 'text/html') {
$("[name=field" + i + "_value][value='text/html']").attr('checked','checked');
}
}
if(old_recovery_value == 'text/plain'){
@ -809,18 +810,10 @@ $(document).ready (function () {
$('#field5_value').on('change', function() {
ajax_get_integria_custom_fields($(this).val());
});
});
}
var added_config = {
"selector": "textarea.tiny-mce-editor",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
"valid_children": "+body[style]",
"width": "90%",
}
defineTinyMCE(added_config);
defineTinyMCE('textarea.tiny-mce-editor');
render_command_preview(original_command);
render_command_recovery_preview(original_command);

View File

@ -957,7 +957,7 @@ if ($step == 2) {
'',
false,
(!$is_management_allowed | $disabled),
"removeTinyMCE('textarea_field".$i."')",
"UndefineTinyMCE('#textarea_field".$i."')",
'style="height: 15px !important;"',
true
);
@ -970,7 +970,7 @@ if ($step == 2) {
'',
true,
(!$is_management_allowed | $disabled),
"addTinyMCE('textarea_field".$i."')",
"defineTinyMCE('#textarea_field".$i."')",
'style="height: 15px !important;"',
true
);
@ -1002,7 +1002,7 @@ if ($step == 2) {
'',
false,
(!$is_management_allowed | $disabled),
"removeTinyMCE('textarea_field".$i."_recovery')",
"UndefineTinyMCE('#textarea_field".$i."_recovery')",
'style="height: 15px !important;"',
true
);
@ -1015,7 +1015,7 @@ if ($step == 2) {
'',
true,
(!$is_management_allowed | $disabled),
"addTinyMCE('textarea_field".$i."_recovery')",
"defineTinyMCE('#textarea_field".$i."_recovery')",
'style="height: 15px !important;"',
true
);
@ -1255,7 +1255,7 @@ echo '</form>';
ui_require_javascript_file('pandora_alerts');
ui_include_time_picker();
ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_css_file('main.min', 'include/javascript/fullcalendar/');
ui_require_javascript_file('main.min', 'include/javascript/fullcalendar/');
ui_require_javascript_file('pandora_fullcalendar');
@ -1626,18 +1626,7 @@ if ($step == 2) {
}
});
var added_config = {
"selector": 'textarea.tiny-mce-editor',
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,cut,copy,paste,|,justifyleft,justifycenter,justifyright,|,forecolor,backcolor,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview",
"force_p_newlines" : false,
"forced_root_block" : '',
"inline_styles": true,
"valid_children": "+body[style]",
}
defineTinyMCE(added_config);
defineTinyMCE('textarea.tiny-mce-editor');
<?php
}

View File

@ -237,6 +237,8 @@ if ($update) {
['id_filter' => $id]
);
ui_update_name_fav_element($id, 'Events', $id_name);
ui_print_result_message(
$result,
__('Successfully updated'),

View File

@ -120,6 +120,16 @@ if (is_metaconsole() === true) {
// Data before table.
$files = list_files(((is_metaconsole() === true) ? '../../' : '').'images/', '@groups.svg', 1, 0);
$files_old = list_files('images/groups_small/', 'png', 1, 0);
foreach ($files_old as $key => $f) {
// Remove from the list the non-desired .png files.
if (strpos($f, '.bad.png') !== false || strpos($f, '.default.png') !== false || strpos($f, '.ok.png') !== false || strpos($f, '.warning.png') !== false) {
unset($files_old[$key]);
}
}
$files = array_merge($files, $files_old);
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filter-table-adv';
@ -133,10 +143,19 @@ $table->data[0][0] = html_print_label_input_block(
html_print_input_text('name', $name, '', 35, 100, true)
);
$extension = pathinfo($icon, PATHINFO_EXTENSION);
if (empty($extension) === true) {
$icon .= '.png';
}
$input_icon = html_print_select($files, 'icon', $icon, '', 'None', '', true, false, true, '', false, 'width: 100%;');
$input_icon .= ' <span id="icon_preview" class="mrgn_lft_05em">';
if (empty($icon) === false) {
$input_icon .= html_print_image('images/'.$icon, true);
if (empty($extension) === true || $extension === 'png') {
$input_icon .= html_print_image('images/groups_small/'.$icon, true);
} else {
$input_icon .= html_print_image('images/'.$icon, true);
}
}
$input_icon .= '</span>';
@ -304,12 +323,17 @@ echo '</form>';
function icon_changed () {
var inputs = [];
var data = this.value;
var extension = data.split('.').pop();
$('#icon_preview').fadeOut ('normal', function () {
$('#icon_preview').empty ();
if (data != "") {
var params = [];
params.push("get_image_path=1");
params.push("img_src=images/" + data);
if (extension === 'png') {
params.push("img_src=images/groups_small/" + data);
} else {
params.push("img_src=images/" + data);
}
params.push("page=include/ajax/skins.ajax");
params.push("only_src=1");
jQuery.ajax ({

View File

@ -65,7 +65,7 @@ if (is_ajax() === true) {
$group = [
'id_grupo' => 0,
'nombre' => 'None',
'icon' => 'world',
'icon' => 'world@svg.svg',
'parent' => 0,
'disabled' => 0,
'custom_id' => null,
@ -534,6 +534,7 @@ if ($is_management_allowed === true && $update_group === true) {
}
if ($result) {
ui_update_name_fav_element($id_group, 'Groups', $name);
ui_print_success_message(__('Group successfully updated'));
} else {
ui_print_error_message(__('There was a problem modifying group'));
@ -919,8 +920,19 @@ if ($tab == 'tree') {
}
if ($group['icon'] != '') {
$extension = pathinfo($group['icon'], PATHINFO_EXTENSION);
if (empty($extension) === true) {
$group['icon'] .= '.png';
}
if (empty($extension) === true || $extension === 'png') {
$path = 'images/groups_small/'.$group['icon'];
} else {
$path = 'images/'.$group['icon'];
}
$table->data[$key][2] = html_print_image(
'images/'.$group['icon'],
$path,
true,
[
'style' => '',

View File

@ -289,6 +289,23 @@ if ($update_agents) {
try {
$node = new Node((int) $array_id[0]);
$node->connect();
$id_agent = (int) $array_id[1];
// Get the id_agente_modulo to update the 'safe_operation_mode' field.
if (isset($values['safe_mode_module']) === true
&& ($values['safe_mode_module'] != '0')
) {
$id_module_safe[$id_agent] = db_get_value_filter(
'id_agente_modulo',
'tagente_modulo',
[
'id_agente' => $id_agent,
'nombre' => $values['safe_mode_module'],
]
);
}
$result[$id_agent] = edit_massive_agent(
(int) $array_id[1],
$values,
@ -477,11 +494,7 @@ function edit_massive_agent(
$agent = new Agent($id_agent);
$disabled_old = $agent->disabled();
foreach ($values as $key => $value) {
$agent->{$key}($value);
}
if (is_metaconsole() === false) {
if (empty($id_module_safe) === false) {
// Get the id_agent_module for this agent to update the 'safe_operation_mode' field.
if (isset($values['safe_mode_module']) === true
&& ($values['safe_mode_module'] != '0')
@ -490,6 +503,10 @@ function edit_massive_agent(
}
}
foreach ($values as $key => $value) {
$agent->{$key}($value);
}
$result['db'] = $agent->save();
if (is_metaconsole() === false) {
@ -1124,37 +1141,36 @@ $table->data[6][1] = html_print_select(
true
);
if (is_metaconsole() === false) {
$table->data[7][0] = __('Safe operation mode').': '.ui_print_help_tip(
__(
'This mode allow %s to disable all modules of this agent while the selected module is on CRITICAL status',
get_product_name()
),
true
);
$table->data[7][1] .= html_print_select(
[
1 => __('Enabled'),
0 => __('Disabled'),
],
'safe_mode_change',
-1,
'',
__('No change'),
-1,
true
).'&nbsp;';
$table->data[7][1] .= __('Module').'&nbsp;';
$table->data[7][1] .= html_print_select(
'',
'safe_mode_module',
'',
'',
__('Any'),
-1,
true
);
}
$table->data[7][0] = __('Safe operation mode').': '.ui_print_help_tip(
__(
'This mode allow %s to disable all modules of this agent while the selected module is on CRITICAL status',
get_product_name()
),
true
);
$table->data[7][1] .= html_print_select(
[
1 => __('Enabled'),
0 => __('Disabled'),
],
'safe_mode_change',
-1,
'',
__('No change'),
-1,
true
).'&nbsp;';
$table->data[7][1] .= __('Module').'&nbsp;';
$table->data[7][1] .= html_print_select(
'',
'safe_mode_module',
'',
'',
__('Any'),
-1,
true
);
ui_toggle(html_print_table($table, true), __('Advanced options'));
unset($table);

View File

@ -808,7 +808,7 @@ $table->data['edit1'][1] = '<table width="100%">';
1
);
$table->data['edit3'][2] = __('SMNP community');
$table->data['edit3'][2] = __('SNMP community');
$table->data['edit3'][3] = html_print_input_text(
'snmp_community',
'',

View File

@ -177,9 +177,8 @@ if ($access_console_node === true) {
$sub2['godmode/modules/manage_module_templates']['text'] = __('Module templates');
$sub2['godmode/modules/manage_module_templates']['id'] = 'module_templates';
$sub2['godmode/modules/private_enterprise_numbers']['text'] = __('Private Enterprise Numbers');
enterprise_hook('local_components_menu');
$sub2['godmode/modules/private_enterprise_numbers']['id'] = 'private_Enterprise_Numbers';
$sub2['enterprise/godmode/modules/local_components']['text'] = __('Local components');
$sub2['enterprise/godmode/modules/local_components']['id'] = 'local_components';
$sub2['godmode/modules/manage_network_components']['text'] = __('Remote components');
$sub2['godmode/modules/manage_network_components']['id'] = 'network_components';
$sub['templates']['sub2'] = $sub2;

View File

@ -26,6 +26,17 @@
* ============================================================================
*/
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
global $config;
require_once $config['homedir'].'/include/functions_ui.php';
@ -94,6 +105,11 @@ if ($id) {
$src_port = $filter['src_port'];
$aggregate = $filter['aggregate'];
$advanced_filter = $filter['advanced_filter'];
$netflow_monitoring = $filter['netflow_monitoring'];
$traffic_max = $filter['traffic_max'];
$traffic_critical = $filter['traffic_critical'];
$traffic_warning = $filter['traffic_warning'];
$netflow_monitoring_interval = $filter['netflow_monitoring_interval'];
} else {
$name = '';
$assign_group = '';
@ -103,6 +119,11 @@ if ($id) {
$src_port = '';
$aggregate = 'dstip';
$advanced_filter = '';
$netflow_monitoring = false;
$traffic_max = 0;
$traffic_critical = 0;
$traffic_warning = 0;
$netflow_monitoring_interval = 300;
}
if ($update) {
@ -114,20 +135,31 @@ if ($update) {
$dst_port = get_parameter('dst_port', '');
$src_port = get_parameter('src_port', '');
$advanced_filter = get_parameter('advanced_filter', '');
$netflow_monitoring = (bool) get_parameter('netflow_monitoring', false);
$traffic_max = get_parameter('traffic_max', 0);
$traffic_critical = get_parameter('traffic_critical', 0);
$traffic_warning = get_parameter('traffic_warning', 0);
$netflow_monitoring_interval = get_parameter('netflow_monitoring_interval', 300);
if ($name == '') {
ui_print_error_message(__('Not updated. Blank name'));
} else {
$values = [
'id_sg' => $id,
'id_name' => $name,
'id_group' => $assign_group,
'aggregate' => $aggregate,
'ip_dst' => $ip_dst,
'ip_src' => $ip_src,
'dst_port' => $dst_port,
'src_port' => $src_port,
'advanced_filter' => $advanced_filter,
'id_sg' => $id,
'id_name' => $name,
'id_group' => $assign_group,
'aggregate' => $aggregate,
'ip_dst' => $ip_dst,
'ip_src' => $ip_src,
'dst_port' => $dst_port,
'src_port' => $src_port,
'advanced_filter' => $advanced_filter,
'netflow_monitoring' => $netflow_monitoring,
'traffic_max' => $traffic_max,
'traffic_critical' => $traffic_critical,
'traffic_warning' => $traffic_warning,
'netflow_monitoring_interval' => $netflow_monitoring_interval,
];
// Save filter args.
@ -152,16 +184,27 @@ if ($create) {
$dst_port = get_parameter('dst_port', '');
$src_port = get_parameter('src_port', '');
$advanced_filter = (string) get_parameter('advanced_filter', '');
$netflow_monitoring = (bool) get_parameter('netflow_monitoring', false);
$traffic_max = get_parameter('traffic_max', 0);
$traffic_critical = get_parameter('traffic_critical', 0);
$traffic_warning = get_parameter('traffic_warning', 0);
$netflow_monitoring_interval = get_parameter('netflow_monitoring_interval', 300);
$values = [
'id_name' => $name,
'id_group' => $assign_group,
'ip_dst' => $ip_dst,
'ip_src' => $ip_src,
'dst_port' => $dst_port,
'src_port' => $src_port,
'aggregate' => $aggregate,
'advanced_filter' => $advanced_filter,
'id_name' => $name,
'id_group' => $assign_group,
'ip_dst' => $ip_dst,
'ip_src' => $ip_src,
'dst_port' => $dst_port,
'src_port' => $src_port,
'aggregate' => $aggregate,
'advanced_filter' => $advanced_filter,
'netflow_monitoring' => $netflow_monitoring,
'traffic_max' => $traffic_max,
'traffic_critical' => $traffic_critical,
'traffic_warning' => $traffic_warning,
'netflow_monitoring_interval' => $netflow_monitoring_interval,
];
// Save filter args
@ -203,6 +246,8 @@ $table->data['first_line'][] = html_print_label_input_block(
false,
20,
80,
true,
false,
true
)
);
@ -329,6 +374,77 @@ $table->data['advanced_filters'][] = html_print_label_input_block(
);
// Netflow server options.
$table->colspan['netflow_monitoring'][] = 2;
$table->data['netflow_monitoring'][] = html_print_label_input_block(
__('Enable Netflow monitoring'),
html_print_checkbox_switch(
'netflow_monitoring',
1,
(bool) $netflow_monitoring,
true,
false,
'displayMonitoringFilter()'
).ui_print_input_placeholder(
__('Allows you to create an agent that monitors the traffic volume of this filter. It also creates a module that measures if the traffic of any IP of this filter exceeds a certain threshold. A text type module will be created with the traffic rate for each IP within this filter every five minutes (the 10 IP\'s with the most traffic). Only available for Enterprise version.'),
true
)
);
$table->data['netflow_server_filters'][] = html_print_label_input_block(
__('Netflow monitoring interval'),
html_print_input_number(
[
'step' => 1,
'name' => 'netflow_monitoring_interval',
'id' => 'netflow_monitoring_interval',
'value' => $netflow_monitoring_interval,
]
).ui_print_input_placeholder(__('Netflow monitoring interval in secs.'), true)
);
$table->data['netflow_server_filters'][] = html_print_label_input_block(
__('Maximum traffic value of the filter'),
html_print_input_number(
[
'step' => 1,
'name' => 'traffic_max',
'id' => 'traffic_max',
'value' => $traffic_max,
]
).ui_print_input_placeholder(__('Specifies the maximum rate (in bytes/sec) of traffic in the filter. It is then used to calculate the % of maximum traffic per IP.'), true)
);
$table->colspan['netflow_thresholds'][] = 1;
$table->data['netflow_thresholds'][] = html_print_label_input_block(
__('CRITICAL threshold for the maximum % of traffic for an IP.'),
html_print_input_number(
[
'step' => 0.01,
'name' => 'traffic_critical',
'id' => 'traffic_critical',
'value' => $traffic_critical,
'size' => 40,
'maxlength' => 80,
]
).ui_print_input_placeholder(__('If this % is exceeded by any IP within the filter, a CRITICAL status will be generated.'), true)
);
$table->data['netflow_thresholds'][] = html_print_label_input_block(
__('WARNING threshold for the maximum % of traffic for an IP.'),
html_print_input_number(
[
'step' => 0.01,
'name' => 'traffic_warning',
'id' => 'traffic_warning',
'value' => $traffic_warning,
'size' => 40,
'maxlength' => 80,
]
).ui_print_input_placeholder(__('If this % is exceeded by any IP within the filter, a WARNING status will be generated.'), true)
);
$hiddens = '';
if ($id) {
$buttonTitle = __('Update');
@ -368,10 +484,10 @@ html_print_action_buttons(
else {
displayAdvancedFilter ();
}
displayMonitoringFilter();
});
function displayAdvancedFilter () {
console.log('papapa advanced filter');
// Erase the normal filter
document.getElementById("text-ip_dst").value = '';
document.getElementById("text-ip_src").value = '';
@ -391,9 +507,9 @@ html_print_action_buttons(
};
function displayNormalFilter () {
console.log('papapa normal filter');
// Erase the advanced filter
document.getElementById("textarea_advanced_filter").value = '';
// Hide the advanced filter
//document.getElementById("table1-7").style.display = 'none';
$("#table1-advanced_filters").css("display", "none");
@ -407,4 +523,24 @@ html_print_action_buttons(
document.getElementById("table1-6").style.display = '';
*/
};
function displayMonitoringFilter () {
var checked = $('#checkbox-netflow_monitoring').prop('checked');
if(checked == false) {
// Reset values.
$("#netflow_monitoring_interval").val(300);
$("#traffic_max").val(0);
$("#traffic_critical").val(0);
$("#traffic_warning").val(0);
// Hide filters.
$("#table1-netflow_server_filters").hide();
$("#table1-netflow_thresholds").hide();
} else {
// Show filters.
$("#table1-netflow_server_filters").show();
$("#table1-netflow_thresholds").show();
}
};
</script>

View File

@ -117,6 +117,7 @@ $period = SECONDS_1DAY;
$search = '';
$full_text = 0;
$log_number = 1000;
$inventory_regular_expression = '';
// Added support for projection graphs.
$period_pg = SECONDS_5DAY;
$projection_period = SECONDS_5DAY;
@ -940,6 +941,7 @@ switch ($action) {
$inventory_modules = $es['inventory_modules'];
$id_agents = $es['id_agents'];
$recursion = $item['recursion'];
$inventory_regular_expression = $es['inventory_regular_expression'];
$idAgent = $es['id_agents'];
$idAgentModule = $inventory_modules;
@ -1231,8 +1233,8 @@ $class = 'databox filters';
?>
<?php
$servers_all_opt = array_merge(['all' => 'All nodes'], $servers);
if ($meta) {
if (is_metaconsole() === true) {
$servers_all_opt = array_merge(['all' => 'All nodes'], $servers);
?>
<tr id="row_servers_all_opt" class="datos">
<td class="bolder"><?php echo __('Server'); ?></td>
@ -2196,6 +2198,15 @@ $class = 'databox filters';
</td>
</tr>
<tr id="row_regular_expression" class="datos">
<td class="bolder"><?php echo __('Regular expression'); ?></td>
<td>
<?php
html_print_input_text('inventory_regular_expression', $inventory_regular_expression, '', false, 255, false, false, false, '', 'w50p');
?>
</td>
</tr>
<tr id="row_date" class="datos">
<td class="bolder"><?php echo __('Date'); ?></td>
<td class="mx180px">
@ -4271,7 +4282,7 @@ function print_SLA_list($width, $action, $idItem=null)
echo '</td>';
echo '<td class="sla_list_action_col center">';
echo '<a href="javascript: deleteSLARow('.$item['id'].');">';
echo html_print_image('images/delete.svg', true, ['class' => 'invert_filter']);
echo html_print_image('images/delete.svg', true, ['class' => 'invert_filter main_menu_icon']);
echo '</a>';
echo '</td>';
echo '</tr>';
@ -4314,7 +4325,7 @@ function print_SLA_list($width, $action, $idItem=null)
html_print_image(
'images/delete.svg',
false,
['class' => 'invert_filter']
['class' => 'invert_filter main_menu_icon']
);
?>
</a>
@ -4738,7 +4749,7 @@ function print_General_list($width, $action, $idItem=null, $type='general')
<td>'.printSmallFont($nameAgentFailover).$server_name_element.'</td>
<td>'.printSmallFont($nameModuleFailover).'</td>
<td class="center">
<a href="javascript: deleteGeneralRow('.$item['id'].');">'.html_print_image('images/delete.svg', true, ['class' => 'invert_filter']).'</a>
<a href="javascript: deleteGeneralRow('.$item['id'].');">'.html_print_image('images/delete.svg', true, ['class' => 'invert_filter main_menu_icon']).'</a>
</td>
</tr>';
} else {
@ -4746,7 +4757,7 @@ function print_General_list($width, $action, $idItem=null, $type='general')
<td>'.printSmallFont($nameAgent).$server_name_element.'</td>
<td>'.printSmallFont($nameModule).'</td>
<td class="center">
<a href="javascript: deleteGeneralRow('.$item['id'].');">'.html_print_image('images/delete.svg', true, ['class' => 'invert_filter']).'</a>
<a href="javascript: deleteGeneralRow('.$item['id'].');">'.html_print_image('images/delete.svg', true, ['class' => 'invert_filter main_menu_icon']).'</a>
</td>
</tr>';
}
@ -4756,7 +4767,7 @@ function print_General_list($width, $action, $idItem=null, $type='general')
<td>'.printSmallFont($nameModule).'</td>
<td>'.printSmallFont($operation[$item['operation']]).'</td>
<td class="center">
<a href="javascript: deleteGeneralRow('.$item['id'].');">'.html_print_image('images/delete.svg', true, ['class' => 'invert_filter']).'</a>
<a href="javascript: deleteGeneralRow('.$item['id'].');">'.html_print_image('images/delete.svg', true, ['class' => 'invert_filter main_menu_icon']).'</a>
</td>
</tr>';
}
@ -4796,7 +4807,7 @@ function print_General_list($width, $action, $idItem=null, $type='general')
html_print_image(
'images/delete.svg',
false,
['class' => 'invert_filter']
['class' => 'invert_filter main_menu_icon']
);
?>
</a>
@ -4964,7 +4975,7 @@ ui_require_javascript_file(
ENTERPRISE_DIR.'/include/javascript/'
);
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_javascript_file('pandora');
?>
@ -5203,13 +5214,7 @@ $(document).ready (function () {
});
});
var added_config = {
"elements": "textarea_render_definition",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor"
}
defineTinyMCE(added_config);
defineTinyMCE('#textarea_render_definition');
$("#checkbox-select_by_group").change(function () {
var select_by_group = $('#checkbox-select_by_group').prop('checked');
@ -6445,6 +6450,7 @@ function chooseType() {
$("#row_date").hide();
$("#row_agent_multi").hide();
$("#row_module_multi").hide();
$('#row_regular_expression').hide();
$("#row_event_graphs").hide();
$("#row_event_graph_by_agent").hide();
$("#row_event_graph_by_user").hide();
@ -7154,6 +7160,7 @@ function chooseType() {
$("#row_group").show();
$("#row_agent_multi").show();
$("#row_module_multi").show();
$('#row_regular_expression').show();
$("#row_date").show();
$("#id_agents")

View File

@ -1429,6 +1429,8 @@ switch ($action) {
['id_report' => $idReport]
);
ui_update_name_fav_element($idReport, 'Reporting', $new_values['name']);
$auditMessage = ($resultOperationDB === true) ? 'Update report' : 'Fail try to update report';
db_pandora_audit(
AUDIT_LOG_REPORT_MANAGEMENT,
@ -1754,6 +1756,7 @@ switch ($action) {
$es['inventory_modules'] = get_parameter(
'inventory_modules'
);
$es['inventory_regular_expression'] = get_parameter('inventory_regular_expression', '');
$description = get_parameter('description');
$values['external_source'] = json_encode($es);
$good_format = true;
@ -2536,6 +2539,7 @@ switch ($action) {
$es['inventory_modules'] = get_parameter(
'inventory_modules'
);
$es['inventory_regular_expression'] = get_parameter('inventory_regular_expression', '');
$values['external_source'] = json_encode($es);
$good_format = true;
break;

View File

@ -191,7 +191,7 @@ ui_require_javascript_file('wz_jsgraphics');
ui_require_javascript_file('pandora_visual_console');
ui_require_javascript_file('visual_console_builder.editor', 'godmode/reporting/');
ui_require_javascript_file_enterprise('functions_visualmap', is_metaconsole() === true);
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
// Javascript file for base 64 encoding of label parameter.
ui_require_javascript_file('encode_decode_base64');
@ -205,22 +205,7 @@ ui_require_javascript_file('encode_decode_base64');
<script type="text/javascript">
id_visual_console = <?php echo $visualConsole['id']; ?>;
visual_map_main();
var added_config = {
"plugins": "noneditable",
"elements": "text-label",
"theme_advanced_buttons1":
"bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code",
"valid_children": "+body[style]",
"theme_advanced_font_sizes": "true",
"content_css": <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>,
"editor_deselector": "noselected",
"inline_styles": true,
"nowrap": true,
"width": "50%",
"height": "100%",
}
defineTinyMCE(added_config);
defineTinyMCE('#text-label');
$('.item img').each(function(){

View File

@ -859,7 +859,7 @@ ui_require_javascript_file('wz_jsgraphics');
ui_require_javascript_file('pandora_visual_console');
ui_require_jquery_file('ajaxqueue');
ui_require_jquery_file('bgiframe');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
?>
<script type="text/javascript">
@ -888,23 +888,8 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
return false;
});
var added_config = {
"selector": "#tinyMCE_editor",
"elements": "tinyMCE_editor",
"plugins": "noneditable",
"theme_advanced_buttons1": "bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code",
"valid_children": "+body[style]",
"theme_advanced_font_sizes": "true",
"content_css": <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>,
"editor_deselector": "noselected",
"inline_styles": true,
"nowrap": true,
"width": "400",
"height": "200",
"body_class": "tinyMCEBody",
}
defineTinyMCE('#tinyMCE_editor');
defineTinyMCE(added_config);
$("#dialog_label_editor").hide ()
.dialog ({
title: "<?php echo __('Edit label'); ?>",

View File

@ -293,6 +293,7 @@ switch ($activeTab) {
}
if ($result !== false) {
ui_update_name_fav_element($idVisualConsole, 'Visual_Console', $values['name']);
db_pandora_audit(
AUDIT_LOG_VISUAL_CONSOLE_MANAGEMENT,
sprintf('Update visual console #%s', $idVisualConsole)

View File

@ -417,8 +417,8 @@ ui_include_time_picker();
ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/');
// Include tiny for wysiwyg editor
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
// Include tiny for wysiwyg editor.
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_javascript_file('pandora');
?>
@ -435,9 +435,9 @@ ui_require_javascript_file('pandora');
secondText: '<?php echo __('Second'); ?>',
currentText: '<?php echo __('Now'); ?>',
closeText: '<?php echo __('Close'); ?>'});
$.datepicker.setDefaults($.datepicker.regional[ "<?php echo get_user_language(); ?>"]);
$("#text-expire_date").datepicker({
dateFormat: "<?php echo DATE_FORMAT_JS; ?>",
changeMonth: true,
@ -445,23 +445,14 @@ ui_require_javascript_file('pandora');
showAnim: "slideDown"}
);
var added_config = {
"elements":"textarea_text",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
"theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
"valid_children": "+body[style]",
"width": "90%",
}
defineTinyMCE('#textarea_text');
defineTinyMCE(added_config);
$("#checkbox-expire").click(function() {
check_expire();
});
});
check_expire();
function check_expire() {

View File

@ -116,6 +116,22 @@ function get_list_os_icons_dir()
}
}
$items2 = scandir($config['homedir'].'/images/os_icons');
foreach ($items2 as $item2) {
if (strstr($item2, '_small.png') || strstr($item2, '_small.gif')
|| strstr($item2, '_small.jpg')
) {
continue;
}
if (strstr($item2, '.png') || strstr($item2, '.gif')
|| strstr($item2, '.jpg')
) {
$return[$item2] = $item2;
}
}
return $return;
}
@ -124,10 +140,15 @@ function get_list_os_icons_dir()
<script type="text/javascript">
function show_icon_OS() {
var extension = $("#icon").val().split('.').pop();
var params = [];
params.push("get_image_path=1");
params.push('img_src=images/' + $("#icon").val());
if (extension !== 'svg') {
params.push('img_src=images/os_icons/' + $("#icon").val());
} else {
params.push('img_src=images/' + $("#icon").val());
}
params.push("page=include/ajax/skins.ajax");
jQuery.ajax ({
data: params.join ("&"),

View File

@ -431,7 +431,7 @@ $table->data[$i++][] = html_print_label_input_block(
$table->colspan[$i][] = 2;
$table->data[$i++][] = html_print_label_input_block(
__('Timezone setup'),
__('Server timezone setup'),
html_print_div(
[
'class' => '',
@ -704,7 +704,7 @@ $table->data[$i][] = html_print_label_input_block(
)
);
$table->data[$i][] = html_print_label_input_block(
$table->data[$i++][] = html_print_label_input_block(
__('Check conexion interval'),
html_print_input_number(
[
@ -715,6 +715,21 @@ $table->data[$i][] = html_print_label_input_block(
)
);
$help_tip = ui_print_help_tip(
__('If there are any &#x22;In process&#x22; events with a specific Extra ID and a New event with that Extra ID is received, it will be created as &#x22;In process&#x22; instead.'),
true
);
$table->data[$i][] = html_print_label_input_block(
__('Keep In process status for new events with extra ID').$help_tip,
html_print_checkbox_switch(
'keep_in_process_status_extra_id',
1,
$config['keep_in_process_status_extra_id'],
true
)
);
echo '<form class="max_floating_element_size" id="form_setup" method="post" action="index.php?sec=gsetup&sec2=godmode/setup/setup&amp;section=general&amp;pure='.$config['pure'].'">';
echo '<fieldset class="margin-bottom-10">';

View File

@ -1421,6 +1421,17 @@ $table_vc->data[$row][] = html_print_label_input_block(
true
)
);
$table_vc->data[$row][] = html_print_label_input_block(
__('Display item frame on alert triggered'),
html_print_checkbox_switch(
'display_item_frame',
1,
(bool) $config['display_item_frame'],
true
)
);
$row++;
@ -2140,8 +2151,7 @@ echo '</form>';
ui_require_css_file('color-picker', 'include/styles/js/');
ui_require_jquery_file('colorpicker');
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
ui_require_javascript_file('pandora');
?>
@ -2161,6 +2171,10 @@ $(document).ready(function(){
$("#select_csv_divider").attr("src", editIcon);
}
})
defineTinyMCE('#textarea_custom_report_front_header');
defineTinyMCE('#textarea_custom_report_front_footer');
defineTinyMCE('#textarea_custom_report_front_firstpage');
})
// Juanma (07/05/2014) New feature: Custom front page for reports
@ -2216,17 +2230,6 @@ function change_servicetree_nodes_padding () {
}
}
var added_config1 = {
"elements":"textarea_custom_report_front_header, textarea_custom_report_front_footer",
}
defineTinyMCE(added_config1);
var added_config2 = {
"elements":"textarea_custom_report_front_firstpage",
}
defineTinyMCE(added_config2);
$(document).ready (function () {

View File

@ -2206,7 +2206,7 @@ if ($create_alert || $update_alert) {
}
ui_require_javascript_file('pandora', 'include/javascript/', true);
ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
?>
<script language="javascript" type="text/javascript">
@ -2328,19 +2328,7 @@ $(document).ready (function () {
}
});
var added_config = {
"selector": "textarea.tiny-mce-editor",
"plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable",
"theme_advanced_buttons1" : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select",
"theme_advanced_buttons2" : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor",
"force_p_newlines": false,
"forced_root_block": '',
"inline_styles": true,
"valid_children": "+body[style]",
"element_format": "html",
}
defineTinyMCE(added_config);
defineTinyMCE('textarea.tiny-mce-editor');
$('#button-button_back').on('click', function(){
window.location = '<?php echo ui_get_full_url('index.php?sec=snmpconsole&sec2=godmode/snmpconsole/snmp_alert'); ?>';

View File

@ -56,7 +56,7 @@ ui_print_standard_header(
],
[
'link' => '',
'label' => __('SMNP'),
'label' => __('SNMP'),
],
]
);

View File

@ -48,7 +48,7 @@ ui_print_standard_header(
],
[
'link' => '',
'label' => __('SMNP'),
'label' => __('SNMP'),
],
]
);

View File

@ -344,7 +344,7 @@ if ($new_user === true && (bool) $config['admin_can_add_user'] === true) {
$user_info['metaconsole_access_node'] = 0;
}
if ((bool) $config['ehorus_user_level_conf'] === true) {
if (isset($config['ehorus_user_level_conf']) === true && (bool) $config['ehorus_user_level_conf'] === true) {
$user_info['ehorus_user_level_user'] = '';
$user_info['ehorus_user_level_pass'] = '';
$user_info['ehorus_user_level_enabled'] = true;
@ -1045,6 +1045,22 @@ if (!$new_user) {
);
$user_id .= $apiTokenContent;
$CodeQRContent .= html_print_div(['id' => 'qr_container_image', 'class' => 'scale-0-8'], true);
$CodeQRContent .= html_print_anchor(
['id' => 'qr_code_agent_view'],
true
);
$CodeQRContent .= '<br/>'.$custom_id_div;
// QR code div.
$CodeQRTable = html_print_div(
[
'class' => 'agent_qr',
'content' => $CodeQRContent,
],
true
);
} else {
$user_id = '<div class="label_select_simple">'.html_print_input_text_extended(
'id_user',
@ -1231,7 +1247,7 @@ $allowedIP .= ui_print_help_tip(__('Add the source IPs that will allow console a
$allowedIP .= html_print_checkbox_switch(
'allowed_ip_active',
0,
$user_info['allowed_ip_active'],
($user_info['allowed_ip_active'] ?? 0),
true
);
$allowedIP .= '</p>';
@ -1239,7 +1255,7 @@ $allowedIP .= html_print_textarea(
'allowed_ip_list',
2,
65,
$user_info['allowed_ip_list'],
($user_info['allowed_ip_list'] ?? 0),
(((bool) $view_mode === true) ? 'readonly="readonly"' : ''),
true
);
@ -1307,20 +1323,6 @@ $home_screen = '<div class="label_select"><p class="edit_user_labels">'.__('Home
true
).'</p>';
/*
$home_screen .= html_print_select(
$values,
'section',
io_safe_output($user_info['section']),
'show_data_section();',
'',
-1,
true,
false,
false
).'</div>';
*/
$dashboards = Manager::getDashboards(
-1,
-1,
@ -1342,7 +1344,6 @@ $home_screen .= '<div id="show_db" style="display: none; width: 100%;">';
$home_screen .= html_print_select($dashboards_aux, 'dashboard', $user_info['data_section'], '', '', '', true);
$home_screen .= '</div>';
$layouts = visual_map_get_user_layouts($config['id_user'], true);
$layouts_aux = [];
if ($layouts === false) {
@ -1443,7 +1444,7 @@ $default_event_filter = '<div class="label_select"><p class="edit_user_labels">'
$default_event_filter .= html_print_select(
$event_filter,
'default_event_filter',
$user_info['default_event_filter'],
($user_info['default_event_filter'] ?? 0),
'',
'',
__('None'),
@ -1645,14 +1646,12 @@ if ((bool) $config['admin_can_add_user'] === true) {
}
echo '</div>';
if ($new_user === true) {
html_print_input_hidden('json_profile', $json_profile);
}
html_print_input_hidden('json_profile', $json_profile);
echo '</form>';
// User Profile definition table. (Only where user is not creating).
if ($new_user === false && ((bool) check_acl($config['id_user'], 0, 'UM') === true)) {
if ((bool) check_acl($config['id_user'], 0, 'UM') === true) {
profile_print_profile_table($id, io_safe_output($json_profile), false, ($is_err === true));
}
@ -1704,7 +1703,7 @@ $delete_image = html_print_input_image(
true,
[
'onclick' => 'delete_profile(event, this)',
'class' => 'invert_filter',
'class' => 'invert_filter main_menu_icon',
]
);
@ -1875,7 +1874,7 @@ if (is_metaconsole() === false) {
profile_text = `<a href="index.php?sec2=godmode/users/configure_profile&id=${profile}">${profile_text}</a>`;
group_img = `<img id="img_group_${aux}" src="" data-title="${group_text}" data-use_title_for_force_title="1" class="invert_filter main_menu_icon bot forced_title" alt="${group_text}"/>`;
group_text = `<a href="index.php?sec=estado&sec2=operation/agentes/estado_agente&refr=60&group_id=${group}">${group_img}${group_text}</a>`;
group_text = `<a href="index.php?sec=estado&sec2=operation/agentes/estado_agente&refr=60&group_id=${group}">${group_img} ${group_text}</a>`;
$('#table_profiles tr:last').before(
`<tr>
@ -2242,4 +2241,4 @@ if (is_metaconsole() === false) {
/* ]]> */
</script>
</script>

View File

@ -970,7 +970,7 @@ foreach ($info as $user_id => $user_info) {
*/
$userListActionButtons[] = html_print_menu_button(
[
'href' => ui_get_full_url(
'href' => ui_get_full_url(
sprintf(
'index.php?sec=%s&amp;sec2=godmode/users/user_list&user_del=1&pure=%s&delete_user=%s',
$sec,
@ -978,8 +978,9 @@ foreach ($info as $user_id => $user_info) {
$user_info['id_user']
)
),
'image' => 'images/delete.svg',
'title' => __('Delete'),
'image' => 'images/delete.svg',
'title' => __('Delete'),
'onClick' => 'if (!confirm(\''.__('Are you sure?').'\')) return false;',
],
true
);

View File

@ -258,7 +258,7 @@ if (users_is_admin() === true) {
// Password management.
$passwordManageTable = new stdClass();
$passwordManageTable->class = 'table_section full_section';
$passwordManageTable->class = 'full_section';
$passwordManageTable->id = 'password_manage';
$passwordManageTable->style = [];
$passwordManageTable->rowclass = [];
@ -374,7 +374,13 @@ if (users_is_admin() === true) {
);
}
$userManagementTable->data['show_tips_startup'][0] = html_print_checkbox_switch('show_tips_startup', 1, ($user_info['show_tips_startup'] === null) ? true : $user_info['show_tips_startup'], true);
$userManagementTable->data['show_tips_startup'][0] = html_print_checkbox_switch(
'show_tips_startup',
1,
(isset($user_info['show_tips_startup']) === false) ? true : $user_info['show_tips_startup'],
true
);
$userManagementTable->data['show_tips_startup'][1] = '<span>'.__('Show usage tips at startup').'</span>';
// Session time input.
@ -537,7 +543,7 @@ $userManagementTable->data['captions_autorefreshTime'][0] = __('Time for autoref
$userManagementTable->data['fields_autorefreshTime'][0] = html_print_select(
get_refresh_time_array(),
'time_autorefresh',
$user_info['time_autorefresh'],
($user_info['time_autorefresh'] ?? 0),
'',
'',
'',
@ -594,7 +600,7 @@ $userManagementTable->data['captions_blocksize_eventfilter'][1] = __('Event filt
$userManagementTable->data['fields_blocksize_eventfilter'][1] = html_print_select(
$event_filter,
'default_event_filter',
$user_info['default_event_filter'],
($user_info['default_event_filter'] ?? 0),
'',
'',
__('None'),
@ -605,7 +611,7 @@ $userManagementTable->data['fields_blocksize_eventfilter'][1] = html_print_selec
if (is_metaconsole() === false) {
// Home screen table.
$homeScreenTable = new stdClass();
$homeScreenTable->class = 'w100p table_section full_section';
$homeScreenTable->class = 'w100p full_section';
$homeScreenTable->id = 'home_screen_table';
$homeScreenTable->style = [];
$homeScreenTable->rowclass = [];
@ -700,7 +706,7 @@ $userManagementTable->data['fields_addSettings'][1] = html_print_div(
'allowed_ip_list',
5,
65,
$user_info['allowed_ip_list'],
($user_info['allowed_ip_list'] ?? ''),
(((bool) $view_mode === true) ? 'readonly="readonly"' : ''),
true
),
@ -720,7 +726,7 @@ $allowAllIpsContent[] = html_print_div(
'content' => html_print_checkbox_switch(
'allowed_ip_active',
0,
$user_info['allowed_ip_active'],
($user_info['allowed_ip_active'] ?? 0),
true
),
],
@ -736,29 +742,15 @@ $userManagementTable->data['fields_addSettings'][1] .= html_print_div(
true
);
$CodeQRContent .= html_print_div(['id' => 'qr_container_image', 'class' => 'scale-0-8'], true);
$CodeQRContent .= html_print_anchor(
['id' => 'qr_code_agent_view'],
true
);
$CodeQRContent .= '<br/>'.$custom_id_div;
// QR code div.
$CodeQRTable = html_print_div(
[
'class' => 'agent_qr',
'content' => $CodeQRContent,
],
true
);
// QR Code and API Token advice.
html_print_div(
[
'id' => 'api_qrcode_display',
'content' => $CodeQRTable.$apiTokenContent,
]
);
if (isset($CodeQRTable) === true || isset($apiTokenContent) === true) {
// QR Code and API Token advice.
html_print_div(
[
'id' => 'api_qrcode_display',
'content' => $CodeQRTable.$apiTokenContent,
]
);
}
html_print_table($userManagementTable);

View File

@ -792,7 +792,7 @@ class HostDevices extends Wizard
$form['rows'][0]['columns'][0] = [
'width' => '30%',
'style' => 'padding: 9px;min-width: 250px;',
'style' => 'padding: 9px;min-width: 188px;',
'inputs' => [
'1' => '<div class="height_50p mrgn_btn_35px">'.html_print_image('images/wizard/netscan_green.png', true, ['title' => __('Close')], false).'</div>',
'2' => [
@ -825,12 +825,11 @@ class HostDevices extends Wizard
],
],
];
$form['rows'][0]['columns'][1] = [
'width' => '40%',
'padding-right' => '12%',
'padding-left' => '5%',
'style' => 'min-width: 350px',
'padding-right' => '8%',
'padding-left' => '0%',
'style' => 'min-width: 230px',
'inputs' => [
'0' => [
'label' => '<b>'.__('Task name').':</b>',
@ -926,27 +925,27 @@ class HostDevices extends Wizard
],
];
// Group select (custom for this section).
$group_select = '<div class="label_select"><label>'.__('Group').':</label></div>';
$group_select .= $this->printInput(
[
'name' => 'id_group',
'returnAllGroup' => false,
'privilege' => $this->access,
'type' => 'select_groups',
'selected' => $this->task['id_group'],
'return' => true,
'class' => 'discovery_list_input',
'simple_multiple_options' => true,
'required' => true,
]
);
$form['rows'][0]['columns'][2] = [
'width' => '30%',
'style' => 'min-width: 250px',
'inputs' => ['0' => $group_select],
'width' => '40%',
'padding-right' => '5%',
'padding-left' => '0',
'style' => 'min-width: 144px;',
'inputs' => [
'0' => [
'label' => '<b>'.__('Group').':</b>',
'arguments' => [
'name' => 'id_group',
'returnAllGroup' => false,
'privilege' => $this->access,
'type' => 'select_groups',
'selected' => $this->task['id_group'],
'return' => true,
'class' => 'discovery_list_input',
'simple_multiple_options' => true,
'required' => true,
],
],
],
];
$form['rows'][1]['style'] = 'style de row';
@ -1586,6 +1585,10 @@ class HostDevices extends Wizard
$(function() {
SNMPExtraShow($("#snmp_version").val());
});
$("#id_network_profile").select2({
placeholder: "'.__('Please select...').'"
});
';
if (enterprise_installed()) {

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>96007EC9-FBFB-4CDC-A8D3-39F8126F7269</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -391.974583)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 269.974583)">
<g id="Mobile-agents" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,27.6073092 23.1075582,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z M20,5 L11.9967103,5 L11.8651969,5.00868163 C11.6483839,5.03744118 11.4456127,5.13675554 11.2893127,5.29318417 L7.29260239,9.29318417 L7.20945254,9.38742572 C6.90458906,9.77984238 6.93255194,10.347062 7.29318417,10.7073976 L7.38742572,10.7905475 C7.77984238,11.0954109 8.34706198,11.0674481 8.70739761,10.7068158 L12.411,6.999 L19.584,6.999 L22.999,10.414 L22.999,19.585 L19.585,22.999 L12.409,22.999 L8.70541325,19.3135693 L8.61100719,19.2306063 C8.21798744,18.9265207 7.65082434,18.9556071 7.29120374,19.3169523 C6.90161476,19.7084097 6.90312938,20.3415729 7.29458675,20.7311618 L11.291297,24.7087963 L11.390258,24.7951247 C11.5635358,24.9272908 11.7763873,25 11.9967103,25 L20,25 L20.131444,24.9913276 C20.3481451,24.9625983 20.5508265,24.8633871 20.7071068,24.7071068 L24.7071068,20.7071068 L24.7939194,20.6080295 C24.9268355,20.434484 25,20.2210137 25,20 L25,10 L24.9913276,9.86855602 C24.9625983,9.65185492 24.8633871,9.44917353 24.7071068,9.29289322 L20.7071068,5.29289322 L20.6080295,5.20608063 C20.434484,5.07316447 20.2210137,5 20,5 Z M14,12 L6,12 C5.44771525,12 5,12.4477153 5,13 L5,17 C5,17.5522847 5.44771525,18 6,18 L14,18 C14.5522847,18 15,17.5522847 15,17 L15,13 C15,12.4477153 14.5522847,12 14,12 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="10px" height="6px" viewBox="0 0 10 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>E5134209-ED99-4D42-AFFC-E210CA7C75CA@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="1a-Tactical-view---default" transform="translate(-37.000000, -671.000000)" stroke="#95A3BF" stroke-width="2">
<g id="Conmutador" transform="translate(20.000000, 653.000000)">
<g id="Title" transform="translate(10.000000, 9.000000)">
<g id="Dropdown-down" transform="translate(8.000000, 10.000000)">
<polyline id="Path-8" points="0 0 4 4 8 0"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="10px" height="6px" viewBox="0 0 10 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>468CE642-FF47-4D9D-8D01-9137E4A42791@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="1b-Tactical-view---activity-list" transform="translate(-37.000000, -671.000000)" stroke="#95A3BF" stroke-width="2">
<g id="Conmutador" transform="translate(20.000000, 653.000000)">
<g id="Title" transform="translate(10.000000, 9.000000)">
<g id="Dropdown-up" transform="translate(8.000000, 10.000000)">
<polyline id="Path-8" transform="translate(4.000000, 2.000000) scale(1, -1) translate(-4.000000, -2.000000) " points="0 0 4 4 8 0"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>788260CF-3DE6-4D64-8B30-B9B35413937B</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -443.949166)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 321.949166)">
<g id="Mobile-modules" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,27.6073092 23.1075582,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,16.168 L8.72848758,16.1682636 L8.94543532,16.157208 L9.14227765,16.1277192 C9.65858418,16.028234 10.1028383,15.7637314 10.3982027,15.376652 L11.389,14.076 L14.4909605,20.4094649 L14.5913089,20.5871661 L14.683733,20.7158766 C15.5543921,21.8298347 17.4465108,21.7445543 18.1504724,20.5042927 L20.648,16.101 L22.4708713,16.1014498 L22.6743746,16.0918256 C23.7090033,15.9874588 24.5,15.2164353 24.5,14.2651742 C24.5,13.2349122 23.5776613,12.4288985 22.4708713,12.4288985 L19.409919,12.4288985 L19.1910819,12.4401369 L19.0210633,12.4648524 C18.4062088,12.5770255 17.8894481,12.923802 17.6052051,13.4245902 L16.48,15.405 L13.6321609,9.59066736 L13.5274502,9.40648929 C12.7565937,8.2511657 10.9446993,8.19475986 10.1076384,9.29174039 L7.662,12.495 L0,12.495 L0,8.09172156 C0,2.47775097 6.68823265,0.0721601488 14.6378059,0.00160207373 L15,0 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icons/Dark/20/checkbox-on@svg</title>
<g id="Icons/Dark/20/checkbox-on" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect id="Rectangle-2" stroke="#14524F" stroke-width="2" x="1" y="1" width="18" height="18" rx="4"></rect>
<path d="M14.3713994,6.22237132 C14.8008905,5.87515972 15.4305323,5.94186038 15.7777439,6.37135141 C16.098247,6.76780467 16.0660673,7.33480068 15.7214138,7.69277628 L15.6287639,7.77769594 L8.20693177,13.7776959 C7.78987666,14.114854 7.18888164,14.0598005 6.83812914,13.672688 L6.76182606,13.5774872 L4.18365814,9.93238606 C3.86473931,9.48148781 3.97172977,8.85742777 4.42262802,8.53850895 C4.83884178,8.24412234 5.40260169,8.31264068 5.73770948,8.67956758 L5.81650513,8.77747883 L7.77861597,11.5510307 L14.3713994,6.22237132 Z" id="Path-10" fill="#14524F" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="12px" height="12px" viewBox="0 0 12 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>43B3919E-8FE7-441D-8427-E2652997A80E@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="2e-Events---dropdown-selector" transform="translate(-285.000000, -35.000000)">
<g id="Group" transform="translate(1.000000, 16.000000)">
<g id="Title" transform="translate(15.000000, 15.000000)">
<g id="Icons/Dark/20/close-off" transform="translate(265.000000, 0.000000)">
<rect id="Rectangle" x="0" y="0" width="20" height="20"></rect>
<path d="M4.35059047,4.35059047 C4.81804444,3.88313651 5.57593706,3.88313651 6.04339103,4.35059047 L6.04339103,4.35059047 L10,8.307 L13.956609,4.35059047 C14.4240629,3.88313651 15.1819556,3.88313651 15.6494095,4.35059047 C16.0876476,4.78882857 16.1150375,5.48233501 15.7315792,5.95248165 L15.6494095,6.04339103 L11.693,10 L15.6494095,13.956609 L15.7315792,14.0475184 C16.1150375,14.517665 16.0876476,15.2111714 15.6494095,15.6494095 C15.1819556,16.1168635 14.4240629,16.1168635 13.956609,15.6494095 L13.956609,15.6494095 L10,11.693 L6.04339103,15.6494095 C5.57593706,16.1168635 4.81804444,16.1168635 4.35059047,15.6494095 C3.91235238,15.2111714 3.8849625,14.517665 4.26842083,14.0475184 L4.35059047,13.956609 L8.307,10 L4.35059047,6.04339103 L4.26842083,5.95248165 C3.8849625,5.48233501 3.91235238,4.78882857 4.35059047,4.35059047 Z" id="Path-6" fill="#95A3BF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>27D252CA-B4D5-442E-ACDD-238B8E51751E@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1a-Tactical-view---default" transform="translate(-20.000000, -17.000000)" fill="#95A3BF">
<g id="Elements-/-mobile-/-header">
<g id="Go-back" transform="translate(10.000000, 8.000000)">
<g id="Group-2" transform="translate(10.000000, 7.000000)">
<g id="Back" transform="translate(0.000000, 2.000000)">
<path d="M6.22681586,7.18499617 C6.84825397,7.80421394 6.88096124,8.78791523 6.32493766,9.44549969 L6.22681586,9.55195908 C5.60537774,10.1711769 4.61814918,10.2037673 3.95820681,9.64973031 L3.85136569,9.55195908 L0.491971839,6.20456803 L0.471159559,6.18346253 C0.448283024,6.15985237 0.426096906,6.13557366 0.40463361,6.11065869 L0.491971839,6.20456803 C0.449187281,6.16193634 0.409193308,6.117577 0.371989918,6.07171537 C0.350999584,6.04570421 0.330242064,6.0184516 0.310321073,5.99056447 C0.271139022,5.93594655 0.236003122,5.87988377 0.204505607,5.82236871 L0.145733976,5.70401417 C0.124045538,5.65571966 0.104586732,5.60621384 0.0874880109,5.55562669 C0.0818617556,5.53867941 0.0764412566,5.52170989 0.0712989205,5.50467482 C0.0612197632,5.4717683 0.0521679177,5.43808328 0.0441615727,5.40399735 C0.0412764855,5.39105693 0.0384611977,5.37839495 0.0357948693,5.3657081 C0.0291097206,5.33463116 0.0233875846,5.30289036 0.0185767243,5.27085268 C0.0153029314,5.24828532 0.0124012695,5.22594088 0.00995178558,5.20355663 C0.00704369824,5.17765032 0.0047944618,5.15126248 0.00316664333,5.12470734 C0.0016973396,5.10038272 0.000722849869,5.07603294 0.000278799038,5.05167534 C9.04155519e-05,5.04133651 0,5.03122206 0,5.02108658 L0.000563610919,4.9775969 C0.0011706852,4.95417944 0.00226817651,4.93077224 0.00385608484,4.90739193 L0,5.02108658 C0,4.9551527 0.00382623005,4.89010929 0.0112695117,4.82616478 C0.0138053602,4.80529002 0.0166252188,4.78456697 0.0198345397,4.76389234 C0.0327849945,4.67929154 0.0523273944,4.59644178 0.0777734739,4.5162055 C0.0820792159,4.50294578 0.0864580021,4.48969214 0.0910073506,4.47648392 C0.122846114,4.3839691 0.162775714,4.29494223 0.20983783,4.21040281 C0.221199302,4.18987953 0.22970104,4.17526039 0.238443166,4.16074485 C0.254731128,4.13399708 0.271515085,4.10783107 0.288995392,4.08217425 C0.298790066,4.06755699 0.308765074,4.05340543 0.31898569,4.03937632 C0.338027371,4.01341654 0.358006427,3.98757415 0.378709998,3.96234508 C0.384045417,3.95574022 0.388924626,3.94988957 0.393850031,3.94406451 L0.424411969,3.90896446 C0.438242587,3.89347594 0.452357566,3.87824509 0.466748745,3.86328007 L0.491971839,3.83760512 L3.85136569,0.49021407 C4.50732814,-0.16340469 5.5708534,-0.16340469 6.22681586,0.49021407 C6.84825397,1.10943184 6.88096124,2.09313313 6.32493766,2.75071759 L6.22681586,2.85717698 L5.734,3.347 L9.65101119,3.34739105 C13.1574609,3.34739105 16,6.17977404 16,9.67369553 C16,13.0991087 13.2678401,15.8886718 9.85649076,15.9967495 L9.65101119,16 L6.69543864,16 C5.76776764,16 5.01574171,15.250661 5.01574171,14.3263045 C5.01574171,13.4439642 5.70095542,12.7210923 6.57008089,12.6571997 L6.69543864,12.6526089 L9.65101119,12.6526089 C11.3021189,12.6526089 12.6406062,11.318904 12.6406062,9.67369553 C12.6406062,8.08155831 11.3870801,6.78115173 9.80978545,6.69891128 L9.65101119,6.6947821 L5.734,6.694 L6.22681586,7.18499617 Z" id="Path-73"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>B6EE5BBF-2CE4-4EFF-9E46-50036986C7F3</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -236.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 114.000000)">
<g id="Mobile-groups" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,16 C30,14.8954305 29.1045695,14 28,14 L24,14 L24,22.25 C24,23.2164983 23.2164983,24 22.25,24 L14,24 L14,28 C14,29.044389 14.8005167,29.9018074 15.821432,29.992137 C15.5493714,29.9972395 15.2753866,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z M19.375,8 L9.625,8 C8.72753728,8 8,8.72753728 8,9.625 L8,19.375 C8,20.2724627 8.72753728,21 9.625,21 L19.375,21 C20.2724627,21 21,20.2724627 21,19.375 L21,9.625 C21,8.72753728 20.2724627,8 19.375,8 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>13ED062F-1DD5-4B18-B16F-64D609ACA6F7@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1a-Tactical-view---default" transform="translate(-292.000000, -17.000000)" fill="#FFFFFF">
<g id="Elements-/-mobile-/-header">
<g id="Home" transform="translate(282.000000, 8.000000)">
<g id="Group-3" transform="translate(10.000000, 7.000000)">
<g id="Home" transform="translate(0.000000, 2.000000)">
<path d="M15.7621654,6.04845511 L8.82364649,0.254535942 C8.35663079,-0.0848453139 7.68946552,-0.0848453139 7.1557333,0.254535942 L0.283930943,5.61675978 C-0.249801279,6.02401729 0.0170648321,7.20235138 0.684230109,7.20235138 L1.62318192,7.20235138 L1.62318192,13.3528262 C1.62318192,14.7782275 2.55229288,16 4.02005649,16 L5.35438705,16 C5.75468621,16 6.02155232,15.728495 6.02155232,15.3212375 L6.02155232,11.9953012 C6.02155232,11.2486624 6.62200107,10.4 7.35588288,10.4 L8.69021343,10.4 C9.42409524,10.4 10.024544,11.2486624 10.024544,11.9953012 L10.024544,15.3212375 C10.024544,15.6606187 10.2914101,16 10.6917093,16 L12.0260398,16 C13.4938034,16 14.4,14.7782275 14.4,13.3528262 L14.4,7.20235138 L15.3618662,7.20235138 C15.962315,7.20235138 16.2291811,6.45571262 15.7621654,6.04845511 Z" id="home"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>08833C7D-0D40-4B38-96C4-14E753034D0F@svg</title>
<desc>Created with sketchtool.</desc>
<defs>
<linearGradient x1="100%" y1="0.453535926%" x2="0%" y2="99.5464641%" id="linearGradient-1">
<stop stop-color="#C1CCDC" offset="0%"></stop>
<stop stop-color="#E1E8F7" offset="100%"></stop>
</linearGradient>
<path d="M20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,35.4316123 33.8412391,38.6977972 25.6766489,39.677922 C26.3582749,39.1051401 26.737614,38.6322026 26.7772826,38.5826822 C27.0352391,38.2577604 27.0418534,37.7864452 26.8037397,37.4472411 C26.5557045,37.1116076 26.1290841,37.0044905 25.7785278,37.2044424 C25.4081287,37.4079648 24.2638599,37.9364091 23.4238476,37.9364091 C23.1758125,37.9364091 23.0369128,37.8899917 22.9707701,37.854286 C22.5871425,37.647193 21.8694942,37.2544304 22.6202138,34.8193019 L22.6202138,34.8193019 L23.9629106,30.4596364 C24.7433945,27.9102498 24.5978806,25.5929501 23.5528259,23.9326353 C22.7028922,22.58296 21.3138955,21.7831524 19.6437923,21.6796058 C15.1593172,21.3903897 12.4011665,24.8038542 12.2920311,24.9431064 C12.0340745,25.2680283 12.0274603,25.7393435 12.2688811,26.0785476 C12.5202234,26.4106105 12.9534581,26.5105865 13.2974001,26.3177757 C13.6644921,26.1106827 14.8087608,25.5822384 15.6388517,25.5822384 C15.8372798,25.5822384 15.9993295,25.6143735 16.1018506,25.6715026 C16.4854783,25.8785957 17.1965123,26.2677878 16.452407,28.7064868 L16.452407,28.7064868 L15.1097101,33.0661522 C14.3259191,35.6083978 14.4681259,37.9221269 15.5098735,39.5824417 C15.5601985,39.6625681 15.6124134,39.7407668 15.6664667,39.8170072 C6.84428916,39.0430897 0,35.7686843 0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 L20,0 Z M20.7100207,10.2325581 C18.1460335,10.2325581 16.0588579,12.3204068 16.0588579,14.8852208 C16.0648555,17.4410355 18.1520311,19.5288842 20.7130195,19.5348837 C23.2770067,19.5288842 25.3611835,17.4410355 25.3611835,14.882221 C25.3551858,12.3264063 23.2710091,10.2385577 20.7100207,10.2325581 Z" id="path-2"></path>
</defs>
<g id="Mockups" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Mensajes-emergentes---Default" transform="translate(-1365.000000, -80.000000)">
<g id="Group-+-Group-+-Group-+-Group-+-Group-+-Rectangle-Mask" transform="translate(1345.000000, 53.176276)">
<g id="Group" transform="translate(0.000000, 26.823724)">
<g id="Mensaje-emergente-info" transform="translate(20.000000, 0.000000)">
<g id="Status-check">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<use id="Mask" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>C79B9248-AD28-44E6-97FA-8E8BEC5C229D</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-20.000000, -17.000000)" fill="#ED474A">
<g id="Go-back" transform="translate(20.000000, 15.000000)">
<g id="Icons-/-Dark-/-20-/-Sign-out" transform="translate(8.000000, 10.000000) scale(-1, 1) translate(-8.000000, -10.000000) translate(0.000000, 2.000000)">
<path d="M4,0 C6.209139,-4.05812251e-16 8,1.790861 8,4 L8,12 C8,14.209139 6.209139,16 4,16 C1.790861,16 2.705415e-16,14.209139 0,12 L0,4 C-2.705415e-16,1.790861 1.790861,4.05812251e-16 4,0 Z M4.8,8.8 C4.3581722,8.8 4,8.4418278 4,8 C4,7.5581722 4.3581722,7.2 4.8,7.2 L8,7.2 L13.269,7.2 L10.6343146,4.56568542 C10.3459274,4.27729826 10.3237438,3.82351341 10.5677637,3.50968045 L10.6343146,3.43431458 C10.9227017,3.14592741 11.3764866,3.12374378 11.6903196,3.36776369 L11.7656854,3.43431458 L15.7656854,7.43431458 C16.0540726,7.72270174 16.0762562,8.17648659 15.8322363,8.49031955 L15.7656854,8.56568542 L11.7656854,12.5656854 C11.453266,12.8781049 10.946734,12.8781049 10.6343146,12.5656854 C10.3459274,12.2772983 10.3237438,11.8235134 10.5677637,11.5096804 L10.6343146,11.4343146 L13.269,8.8 L8,8.8 L4.8,8.8 Z" id="Rectangle-2"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="512px" height="512px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
<g><path style="opacity:0.991" fill="#000000" d="M 233.5,-0.5 C 248.167,-0.5 262.833,-0.5 277.5,-0.5C 366.072,10.0146 433.238,53.3479 479,129.5C 496.968,162.07 507.802,196.737 511.5,233.5C 511.5,248.167 511.5,262.833 511.5,277.5C 500.985,366.072 457.652,433.238 381.5,479C 348.93,496.968 314.263,507.802 277.5,511.5C 262.833,511.5 248.167,511.5 233.5,511.5C 144.928,500.985 77.7616,457.652 32,381.5C 14.0316,348.93 3.19825,314.263 -0.5,277.5C -0.5,262.833 -0.5,248.167 -0.5,233.5C 10.0146,144.928 53.3479,77.7616 129.5,32C 162.07,14.0316 196.737,3.19825 233.5,-0.5 Z M 254.5,39.5 C 256.193,40.4749 257.693,41.8082 259,43.5C 278.833,71.3333 298.667,99.1667 318.5,127C 304.504,127.5 290.504,127.667 276.5,127.5C 276.5,148.833 276.5,170.167 276.5,191.5C 262.5,191.5 248.5,191.5 234.5,191.5C 234.5,170.167 234.5,148.833 234.5,127.5C 220.496,127.667 206.496,127.5 192.5,127C 213.8,98.2136 234.466,69.0469 254.5,39.5 Z M 127.5,192.5 C 156.815,213.475 186.148,234.475 215.5,255.5C 186.245,276.377 157.078,297.377 128,318.5C 127.5,304.504 127.333,290.504 127.5,276.5C 106.167,276.5 84.8333,276.5 63.5,276.5C 63.5,262.5 63.5,248.5 63.5,234.5C 84.8333,234.5 106.167,234.5 127.5,234.5C 127.5,220.5 127.5,206.5 127.5,192.5 Z M 382.5,192.5 C 383.496,206.323 383.829,220.323 383.5,234.5C 404.833,234.5 426.167,234.5 447.5,234.5C 447.5,248.5 447.5,262.5 447.5,276.5C 426.167,276.5 404.833,276.5 383.5,276.5C 383.667,290.504 383.5,304.504 383,318.5C 353.922,297.377 324.755,276.377 295.5,255.5C 324.744,234.723 353.744,213.723 382.5,192.5 Z M 234.5,319.5 C 248.5,319.5 262.5,319.5 276.5,319.5C 276.5,340.833 276.5,362.167 276.5,383.5C 290.504,383.333 304.504,383.5 318.5,384C 297.377,413.078 276.377,442.245 255.5,471.5C 234.623,442.245 213.623,413.078 192.5,384C 206.496,383.5 220.496,383.333 234.5,383.5C 234.5,362.167 234.5,340.833 234.5,319.5 Z"/></g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29.9745831px" viewBox="0 0 30 29.9745831" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>1823C61D-1174-471F-8BAD-A0B8CB687967</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -340.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 218.000000)">
<g id="Mobile-alerts" transform="translate(15.000000, 0.000000)">
<path d="M30,8.06630471 L30,21.8828616 C30,27.5818923 23.1075582,29.9745831 15,29.9745831 C6.89244177,29.9745831 0,27.5818923 0,21.8828616 L0,8.06630471 C0,2.70512527 6.09946568,0.269891039 13.5720913,-5.84185478e-14 L13.5723301,2.21012161 C10.2928858,2.85573699 7.86075776,5.48727545 7.86075776,8.77458315 C7.86075776,12.6347599 6.57700299,14.1031078 5.68751656,14.9986099 L5.45596532,15.2300015 C5.43160371,15.2544373 5.40774422,15.2784989 5.38443355,15.302237 C5.11657804,15.5751216 4.99782876,15.9013139 4.99997078,16.220737 C5.00497158,16.9145831 5.57952165,17.5745831 6.43308788,17.5745831 L23.5669121,17.5745831 C24.4204784,17.5745831 24.9954749,16.9145831 25.0000292,16.220737 C25.0021712,15.9013139 24.883422,15.5746985 24.6155664,15.302237 L24.5440347,15.2300015 L24.3124834,14.9986099 C23.422997,14.1031078 22.1392422,12.6347599 22.1392422,8.77458315 C22.1392422,5.48727545 19.7071142,2.85573699 16.4276699,2.21012161 L16.4279087,-5.84185478e-14 C23.9005343,0.269891039 30,2.70512527 30,8.06630471 Z M17.8557862,18.6745831 L12.1442138,18.6745831 C12.1442138,20.4973175 13.4232239,21.9745831 15,21.9745831 C16.5767761,21.9745831 17.8557862,20.4973175 17.8557862,18.6745831 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29.853037px" viewBox="0 0 30 29.853037" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>DD299FDE-0DC6-4356-92DC-926BFF90D985</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -184.146963)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 62.000000)">
<g id="Content" transform="translate(15.000000, 0.000000)">
<g id="Mobile-events" transform="translate(0.000000, 0.146963)">
<path d="M30,7.94475857 L30,21.7613154 C30,27.4603462 23.1075582,29.853037 15,29.853037 C6.89244177,29.853037 0,27.4603462 0,21.7613154 L0,7.94475857 C0,3.76611131 3.70546339,1.364994 8.8784529,0.381256498 L7.01052877,12.078037 C6.91552985,12.753037 7.47552349,13.353037 8.20051525,13.353037 L14.1354478,13.353037 L11.830474,22.4702245 C11.650476,23.1827245 12.2304694,23.853037 12.9954608,23.853037 C13.415456,23.853037 13.8154514,23.646787 14.0354489,23.290537 L22.8353489,9.04053701 C23.3003436,8.29522451 22.7253502,7.35303701 21.8003607,7.35303701 L16.0304263,7.35303701 L18.3597639,-1.98591144e-13 C24.9238182,0.598158755 30,3.05392333 30,7.94475857 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>2CF74761-33EB-44F4-9088-CC2767F8DD95</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -132.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 10.000000)">
<g id="Mobile-tactical-view" transform="translate(15.000000, 0.000000)">
<path d="M0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,27.6073092 23.1075582,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 Z M13.9998991,5 L14.0002435,11.0765696 C12.2748927,11.5205277 11,13.0866876 11,14.9506147 C11,17.1597537 12.790861,18.9506147 15,18.9506147 C16.8638701,18.9506147 18.4299912,17.6758 18.8740044,15.9505296 L24.9506147,15.9507157 C24.4488436,21.00399 20.1853136,24.9506147 15,24.9506147 C9.4771525,24.9506147 5,20.4734622 5,14.9506147 C5,9.76530116 8.94662476,5.50177118 13.9998991,5 Z M16.0010997,5.00009923 C20.7249658,5.46963832 24.481539,9.22651135 24.9506147,13.9505138 L18.8737865,13.9498534 C18.51187,12.5448616 17.4057531,11.4387448 16.0007613,11.0768283 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>B4F9F258-05E7-4180-8981-655BFA2BA77E@svg</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-30.000000, -76.000000)">
<g id="Input" transform="translate(20.000000, 65.000000)">
<g id="Group" transform="translate(10.000000, 11.000000)">
<rect id="Rectangle" x="0" y="0" width="20" height="20"></rect>
<path d="M10.5857864,10.5857864 C11.3257272,9.84584567 12.5012114,9.80690142 13.2869988,10.4689537 L13.4142136,10.5857864 L19.4142136,16.5857864 C20.1952621,17.366835 20.1952621,18.633165 19.4142136,19.4142136 C18.6742728,20.1541543 17.4987886,20.1930986 16.7130012,19.5310463 L16.5857864,19.4142136 L10.5857864,13.4142136 C9.80473785,12.633165 9.80473785,11.366835 10.5857864,10.5857864 Z" id="Path-9" fill="#95A3BF" fill-rule="nonzero"></path>
<path d="M7,0 C3.13400675,0 0,3.13400675 0,7 C0,10.8659932 3.13400675,14 7,14 C10.8659932,14 14,10.8659932 14,7 C14,3.13400675 10.8659932,0 7,0 Z M7,2 C9.76142375,2 12,4.23857625 12,7 C12,9.76142375 9.76142375,12 7,12 C4.23857625,12 2,9.76142375 2,7 C2,4.23857625 4.23857625,2 7,2 Z" id="Oval" fill="#95A3BF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29px" viewBox="0 0 30 29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>5DF60C72-9560-434D-8EEE-2966DF14C3C5</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -495.923749)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 373.923749)">
<g id="Mobile-server-status" transform="translate(15.000000, 0.000000)">
<path d="M8,27 C8.55228475,27 9,27.4477153 9,28 C9,28.5522847 8.55228475,29 8,29 C7.44771525,29 7,28.5522847 7,28 C7,27.4477153 7.44771525,27 8,27 Z M11,27 C11.5522847,27 12,27.4477153 12,28 C12,28.5522847 11.5522847,29 11,29 C10.4477153,29 10,28.5522847 10,28 C10,27.4477153 10.4477153,27 11,27 Z M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,24.9407566 28.0485094,27.0370946 25.0008585,28.3349403 L25,27 C25,26.4477153 24.5522847,26 24,26 L6,26 C5.44771525,26 5,26.4477153 5,27 L5.00014724,28.3353686 C1.95191991,27.0375557 0,24.9410901 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z M24,17 L6,17 C5.44771525,17 5,17.4477153 5,18 L5,23 C5,23.5522847 5.44771525,24 6,24 L24,24 C24.5522847,24 25,23.5522847 25,23 L25,18 C25,17.4477153 24.5522847,17 24,17 Z M15,8 C11.6666667,8 8.33333333,8.38888889 5,9.16666667 L5,14 C5,14.5522847 5.44771525,15 6,15 L24,15 C24.5522847,15 25,14.5522847 25,14 L25,9.16666667 C21.6666667,8.38888889 18.3333333,8 15,8 Z M11,10 C11.5522847,10 12,10.4477153 12,11 C12,11.5522847 11.5522847,12 11,12 L8,12 C7.44771525,12 7,11.5522847 7,11 C7,10.4477153 7.44771525,10 8,10 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30.0011092px" height="30px" viewBox="0 0 30.0011092 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>7A93DEF5-4FEF-40B6-99B7-F2F36D7D47A0</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -547.898333)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Mobile-services" transform="translate(15.000000, 425.898333)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30.0011092,21.5357707 C29.4125119,21.1950335 28.7290322,21 28,21 C27.2685186,21 26.5828964,21.1963461 25.9929619,21.5392097 L23.1145512,18.1809622 C23.6708634,17.432156 24,16.504515 24,15.5 C24,14.3906757 23.5985973,13.3751041 22.9331138,12.590607 L24.9263454,9.93387288 C25.1105489,9.977122 25.3026027,10 25.5,10 C26.8807119,10 28,8.88071187 28,7.5 C28,6.11928813 26.8807119,5 25.5,5 C24.1192881,5 23,6.11928813 23,7.5 C23,7.94894056 23.1183351,8.37024248 23.3255151,8.73441568 L21.3340363,11.3894793 C20.7738858,11.1391713 20.1531955,11 19.5,11 C18.300645,11 17.2108778,11.4692008 16.4042415,12.2340592 L13.9415885,10.5920657 C13.9799014,10.400661 14,10.2026776 14,10 C14,8.34314575 12.6568542,7 11,7 C9.34314575,7 8,8.34314575 8,10 C8,11.6568542 9.34314575,13 11,13 C11.7271223,13 12.3938258,12.741316 12.9131003,12.3109582 L15.2935368,13.8979357 C15.1038711,14.3956458 15,14.9356927 15,15.5 C15,16.1810495 15.1512936,16.8267624 15.4221048,17.4053628 L11.695466,20.3038146 C11.340333,20.1100926 10.9330233,20 10.5,20 C9.11928813,20 8,21.1192881 8,22.5 C8,23.8807119 9.11928813,25 10.5,25 C11.8807119,25 13,23.8807119 13,22.5 C13,22.286925 12.9733436,22.0800759 12.9231838,21.8826056 L16.6499007,18.9825485 C17.4259628,19.6184248 18.4184206,20 19.5,20 C20.2570179,20 20.9703763,19.8130715 21.5964354,19.4828542 L24.5657994,22.947893 C24.2065164,23.5478609 24,24.2498132 24,25 C24,26.2589117 24.5815758,27.3819891 25.4907148,28.1152196 C22.7594493,29.4088759 19.0298244,30 15,30 C6.89244177,30 0,27.6073092 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="11px" height="10px" viewBox="0 0 11 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 61.2 (101010) - https://sketch.com -->
<title>8FDB48E7-691D-43C7-B7AD-DC381E7FA74C@svg</title>
<desc>Created with sketchtool.</desc>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="2b-Events---open-groups" transform="translate(-323.000000, -268.000000)" fill="#3F3F3F">
<g id="List" transform="translate(20.000000, 138.000000)">
<g id="Conmutador" transform="translate(0.000000, 26.000000)">
<g id="Group" transform="translate(10.000000, 48.000000)">
<g id="Elements-/-mobile-/-Event-card">
<g id="Event">
<g id="Secondary" transform="translate(10.000000, 55.000000)">
<g id="Label-star" transform="translate(282.000000, 0.000000)">
<path d="M6.5,9.75 L4.47286801,10.8157264 C3.98402343,11.0727272 3.37939627,10.8847806 3.12239546,10.3959361 C3.02005639,10.2012756 2.98474172,9.9783075 3.02191856,9.76154987 L3.40906632,7.50430523 L3.40906632,7.50430523 L1.7690821,5.9057157 C1.37359852,5.52021449 1.36550621,4.88710123 1.75100742,4.49161765 C1.90451603,4.33413401 2.10565844,4.23164683 2.32329547,4.20002232 L4.58969793,3.87069477 L4.58969793,3.87069477 L5.60326392,1.81698575 C5.84768622,1.32173209 6.44731205,1.11839309 6.94256571,1.36281539 C7.13977832,1.46014562 7.29940584,1.61977315 7.39673608,1.81698575 L8.41030207,3.87069477 L8.41030207,3.87069477 L10.6767045,4.20002232 C11.2232494,4.27943994 11.6019308,4.78688279 11.5225132,5.33342765 C11.4908887,5.55106469 11.3884015,5.7522071 11.2309179,5.9057157 L9.59093368,7.50430523 L9.59093368,7.50430523 L9.97808144,9.76154987 C10.0714424,10.3058863 9.70585462,10.8228422 9.16151817,10.9162033 C8.94476055,10.9533801 8.72179247,10.9180654 8.52713199,10.8157264 L6.5,9.75 L6.5,9.75 Z" id="Star"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="29.3024689px" viewBox="0 0 30 29.3024689" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>51F33933-7E26-4D16-9D45-F3415926FFF6</title>
<g id="Consola-mobile" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="0a-Menu" transform="translate(-35.000000, -288.000000)" fill="#3F3F3F">
<g id="Conmutador" transform="translate(20.000000, 122.000000)">
<g id="Elemento" transform="translate(0.000000, 166.000000)">
<g id="Mobile-visual-consoles" transform="translate(15.000000, 0.000000)">
<path d="M15,0 C23.1075582,0 30,2.39269081 30,8.09172156 L30,21.9082784 C30,25.8641319 26.679133,28.2269482 21.9361208,29.3022878 C21.9771584,29.207048 22,29.1054294 22,29 L21.992772,28.8977558 C21.921078,28.3934997 21.3248737,28 20.6,28 L17,28 L17,24 L23,24 C24.1045695,24 25,23.1045695 25,22 L25,10 C25,8.8954305 24.1045695,8 23,8 L7,8 C5.8954305,8 5,8.8954305 5,10 L5,22 C5,23.1045695 5.8954305,24 7,24 L13,24 L13,28 L9.4,28 C8.62680135,28 8,28.4477153 8,29 C8,29.1054294 8.02284162,29.207048 8.0651829,29.3024689 C3.32086702,28.2269482 0,25.8641319 0,21.9082784 L0,8.09172156 C0,2.39269081 6.89244177,0 15,0 Z" id="Mask"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -37,6 +37,7 @@ require_once 'include/functions_ui.php';
require_once 'include/functions_db.php';
require_once 'include/functions_io.php';
require_once 'include/functions.php';
require_once $config['homedir'].'/include/class/HTML.class.php';
enterprise_include_once('meta/include/functions_events_meta.php');
enterprise_include_once('include/functions_metaconsole.php');
@ -2405,7 +2406,7 @@ if ($drawConsoleSound === true) {
'Star_Trek_emergency_simulation.wav' => 'StarTrek emergency simulation',
];
$eventsounds = mysql_db_get_all_rows_sql('SELECT * FROM tevent_sound WHERE active = 1');
$eventsounds = db_get_all_rows_sql('SELECT * FROM tevent_sound WHERE active = 1');
foreach ($eventsounds as $key => $row) {
$sounds[$row['sound']] = $row['name'];
}

View File

@ -137,6 +137,7 @@ if (is_ajax() === true) {
switch ($type) {
case 0:
case 3:
default:
$label = __('Group');
$input = html_print_input(
@ -234,10 +235,6 @@ if (is_ajax() === true) {
'5'
);
break;
case 3:
// Empty.
break;
}
echo html_print_label_input_block(
@ -246,6 +243,7 @@ if (is_ajax() === true) {
[
'label_class' => 'font-title-font',
'div_class' => 'mrgn_top_10px',
'div_id' => 'filter_type',
]
);
}
@ -259,10 +257,19 @@ if (is_ajax() === true) {
$nd->connect();
}
echo '<div class="box-flat white_table_graph">';
switch ($type) {
case 3:
case 2:
$data = db_get_row('tagente_modulo', 'id_agente_modulo', $id);
$sql = sprintf(
'SELECT * FROM tagente_modulo ag
INNER JOIN tagente_estado ae ON ag.id_agente_modulo = ae.id_agente_modulo
WHERE ag.id_agente_modulo = %d',
$id
);
$data = db_get_row_sql($sql);
// Nombre.
$link = sprintf(
@ -298,6 +305,92 @@ if (is_ajax() === true) {
echo '<p class="title-dialog">'.__('Module group').'</p>';
echo '<p class="info-dialog">'.$group.'</p>';
echo '</div>';
$graph_type = return_graphtype($data['module_type']);
$url = ui_get_full_url('operation/agentes/stat_win.php', false, false, false);
$handle = dechex(crc32($data['id_agente_modulo'].$data['module_name']));
$win_handle = 'day_'.$handle;
$graph_params = [
'type' => $graph_type,
'period' => SECONDS_1DAY,
'id' => $data['id_agente_modulo'],
'refresh' => SECONDS_10MINUTES,
];
$graph_params_str = http_build_query($graph_params);
$link = 'winopeng_var(\''.$url.'?'.$graph_params_str.'\',\''.$win_handle.'\', 800, 480)';
$img_graph = html_print_anchor(
[
'href' => 'javascript:'.$link,
'content' => html_print_image('images/module-graph.svg', true, ['border' => '0', 'alt' => '', 'class' => 'invert_filter main_menu_icon']),
],
true
);
echo '<div class="div-dialog">';
echo '<p class="title-dialog">'.__('Data').'</p>';
$data_module = '';
if (is_numeric($data['datos'])) {
$data_module = remove_right_zeros(
number_format(
$data['datos'],
$config['graph_precision'],
$config['decimal_separator'],
$config['thousand_separator']
)
);
echo '<p class="info-dialog">'.$data_module.' '.$data['unit'].'&nbsp;&nbsp;&nbsp;'.$img_graph.'</p>';
} else {
$data_module = $data['datos'];
echo '<p class="info-dialog">'.$data['datos'].' '.$data['unit'].'&nbsp;&nbsp;&nbsp;'.$img_graph.'</p>';
}
echo '</div>';
echo '<div class="div-dialog">';
echo '<p class="title-dialog">'.__('Date of last data').'</p>';
echo '<p class="info-dialog">'.date('Y-m-d H:i:s', $data['utimestamp']).'</p>';
echo '</div>';
$status = modules_get_agentmodule_status($id);
switch ($status) {
case AGENT_MODULE_STATUS_NORMAL:
$status = ui_print_status_image('module_ok.png', $data_module, true);
break;
case AGENT_MODULE_STATUS_CRITICAL_BAD:
$status = ui_print_status_image('module_critical.png', $data_module, false);
break;
case AGENT_MODULE_STATUS_WARNING:
$status = ui_print_status_image('module_warning.png', $data_module, false);
break;
case AGENT_MODULE_STATUS_NORMAL_ALERT:
case AGENT_MODULE_STATUS_WARNING_ALERT:
case AGENT_MODULE_STATUS_CRITICAL_ALERT:
$status = ui_print_status_image('module_alertsfired.png', $data_module, false);
break;
case 4:
$status = ui_print_status_image('module_no_data.png', $data_module, false);
break;
default:
case AGENT_MODULE_STATUS_UNKNOWN:
$status = ui_print_status_image('module_unknown.png', $data_module, false);
break;
}
echo '<div class="div-dialog">';
echo '<p class="title-dialog">'.__('Status').'</p>';
echo '<div class="status_rounded_rectangles">'.$status.'</div>';
echo '</div>';
break;
case 1:
@ -381,6 +474,43 @@ if (is_ajax() === true) {
echo '<p class="info-dialog">'.$data['comentarios'].'</p>';
echo '</div>';
// Last contact.
$lastContactDate = ui_print_timestamp($data['ultimo_contacto'], true);
$remoteContactDate = ($data['ultimo_contacto_remoto'] === '01-01-1970 00:00:00') ? __('Never') : date_w_fixed_tz($data['ultimo_contacto_remoto']);
$lastAndRemoteContact = sprintf('%s / %s', $lastContactDate, $remoteContactDate);
echo '<div class="div-dialog">';
echo '<p class="title-dialog">'.__('Last contact').' / '.__('Remote').'</p>';
echo '<p class="info-dialog">'.$lastAndRemoteContact.'</p>';
echo '</div>';
// Next contact progress.
$progress = agents_get_next_contact($id);
$tempTimeToShow = ($data['intervalo'] - (strtotime('now') - strtotime($data['ultimo_contacto'])));
$progressCaption = ($tempTimeToShow >= 0) ? sprintf('%d s', $tempTimeToShow) : __('Out of bounds');
$ajaxNextContactInterval = (empty($data['intervalo']) === true) ? 0 : (100 / $data['intervalo']);
echo '<div class="div-dialog">';
echo '<p class="title-dialog">'.__('Next contact').'</p>';
echo '<p class="info-dialog">'.ui_progress(
$progress,
'80%',
'1.2',
'#ececec',
true,
$progressCaption,
[
'page' => 'operation/agentes/ver_agente',
'interval' => $ajaxNextContactInterval,
'data' => [
'id_agente' => $id,
'refresh_contact' => 1,
],
]
).'</p>';
echo '</div>';
// Group.
$secondary_groups = '';
$secondary = enterprise_hook('agents_get_secondary_groups', [$data['id_agente']]);
@ -394,6 +524,27 @@ if (is_ajax() === true) {
echo '<p class="info-dialog">'.groups_get_name($data['id_grupo']).$secondary_groups.'</p>';
echo '</div>';
echo '<div class="div-dialog">';
echo graph_agent_status(
$id,
150,
150,
true,
false,
false,
true
);
echo '</div>';
echo '<div class="div-dialog" style="justify-content: center;">';
echo reporting_tiny_stats(
$data,
true,
'agent',
// Useless.
':',
true
);
echo '</div>';
// Events.
$result_graph_event = enterprise_hook(
@ -419,6 +570,8 @@ if (is_ajax() === true) {
break;
}
echo '</div>';
if (empty($id_server) === false) {
$nd->disconnect();
}

View File

@ -583,7 +583,7 @@ if (check_login()) {
}
if (empty($table->data)) {
ui_print_error_message(__('No available data to showaaaa'));
ui_print_error_message(__('No available data to show'));
} else {
ui_pagination(
count($count),
@ -2065,6 +2065,7 @@ if (check_login()) {
if ($result === false) {
echo 'error';
} else {
ui_update_name_fav_element($id, 'Modules', $values['ag_modulename']);
echo 'ok';
}
}

View File

@ -402,8 +402,8 @@ function process_user_login_remote($login, $pass, $api=false)
$config['auth_error'] = __('User not found in database or incorrect password');
return false;
} else {
$user_info['fullname'] = db_escape_string_sql($sr['cn'][0]);
$user_info['email'] = $sr['mail'][0];
$user_info['fullname'] = db_escape_string_sql(io_safe_input($sr['cn'][0]));
$user_info['email'] = io_safe_input($sr['mail'][0]);
// Create the user.
$create_user = create_user_and_permisions_ldap(

View File

@ -1361,7 +1361,7 @@ class AgentWizard extends HTML
true,
[
'title' => __('Plugin server'),
'class' => 'invert_filter',
'class' => 'invert_filter main_menu_icon',
]
);
} else {
@ -1371,7 +1371,7 @@ class AgentWizard extends HTML
true,
[
'title' => __('WMI server'),
'class' => 'invert_filter',
'class' => 'invert_filter main_menu_icon',
]
);
} else {
@ -1380,7 +1380,7 @@ class AgentWizard extends HTML
true,
[
'title' => __('Network server'),
'class' => 'invert_filter',
'class' => 'invert_filter main_menu_icon',
]
);
}
@ -4096,16 +4096,16 @@ class AgentWizard extends HTML
'title' => __('Modules selected'),
'alt' => __('Modules selected'),
'id' => 'image-info-modules-'.$idBlock,
'class' => 'hidden',
'class' => 'hidden main_menu_icon',
]
);
$blockTitle .= '</b>';
}
} else {
$blockTitle = '<b>'.$block['name'];
$classImg = '';
$classImg = 'main_menu_icon ';
if ($activeModules === 0) {
$classImg = 'hidden';
$classImg .= 'hidden';
}
$blockTitle .= '&nbsp;&nbsp;';

View File

@ -134,7 +134,7 @@ class AuditLog extends HTML
ui_print_standard_header(
__('%s audit', get_product_name()).' &raquo; '.__('Review Logs'),
'images/gm_log.png',
'images/gm_log@svg.svg',
false,
'',
false,

View File

@ -1294,6 +1294,7 @@ class CredentialStore extends Wizard
$('#div-extra_1').append(
$('<input type="text" name="extra_1" id="text-extra_1" size="50" value="'+val+'"></input>')
);
hideSNMP();
}
if ($('#product :selected').val() == "CUSTOM") {
@ -1303,6 +1304,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "AWS") {
$('#div-username label').text('<?php echo __('Access key ID'); ?>');
$('#div-password label').text('<?php echo __('Secret access key'); ?>');
@ -1310,6 +1312,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "AZURE") {
$('#div-username label').text('<?php echo __('Client ID'); ?>');
$('#div-password label').text('<?php echo __('Application secret'); ?>');
@ -1319,6 +1322,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').show();
$('#div-extra_2').show();
hideSNMP();
} else if ($('#product :selected').val() == "SAP") {
$('#div-username label').text('<?php echo __('Account ID.'); ?>');
$('#div-password label').text('<?php echo __('Password'); ?>');
@ -1326,6 +1330,7 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "GOOGLE") {
$('#div-username').hide();
$('#div-password').hide();
@ -1341,6 +1346,7 @@ class CredentialStore extends Wizard
$('<textarea name="extra_1" id="text-extra_1">'+val+'</textarea>')
);
$('#div-extra_1').show();
hideSNMP();
} else if ($('#product :selected').val() == "WMI") {
$('#div-username label').text('<?php echo __('Username'); ?>');
$('#div-password label').text('<?php echo __('Password'); ?>');
@ -1349,16 +1355,19 @@ class CredentialStore extends Wizard
$('#div-password').show();
$('#div-extra_1').show();
$('#div-extra_2').hide();
hideSNMP();
} else if ($('#product :selected').val() == "SNMP") {
$('#div-username').hide();
$('#div-password').hide();
$('#div-extra_1').hide();
$('#div-extra_2').hide();
$('#li_snmp_1').show();
$('#li_snmp_2').show();
if ($('#li_snmp_1').length > 0) {
console.log($('#li_snmp_1').length);
const test = '<?php echo $json_values; ?>';
console.log(test);
$('#version').val('1');
$('#version').trigger('change');
} else {
const ul = $('#modal_form').children('ul')[0];

View File

@ -1032,10 +1032,14 @@ class Diagnostics extends Wizard
$unit = 'M';
$pathServerLogs = '/var/log/pandora/pandora_server.log';
$logs_directory = (empty($config['server_log_dir']) === false)
? io_safe_output($config['server_log_dir'])
: '/var/log/pandora';
$pathServerLogs = $logs_directory.'/pandora_server.log';
$servers = $this->getLogInfo($pathServerLogs);
$pathErrLogs = '/var/log/pandora/pandora_server.error';
$pathErrLogs = $logs_directory.'/pandora_server.error';
$errors = $this->getLogInfo($pathErrLogs);
$pathConsoleLogs = $config['homedir'].'/log/console.log';

View File

@ -282,7 +282,6 @@ class Heatmap
while (cont <= limit) {
if (typeof lista[cont] !== 'undefined') {
const rect = document.getElementsByName(`${lista[cont]['id']}`);
console.log(rect[0]);
$(`#${rect[0].id}`).removeClass();
$(`#${rect[0].id}`).addClass(`${lista[cont]['status']} hover`);
}
@ -938,10 +937,27 @@ class Heatmap
if (users_is_admin() === false) {
$user_groups = array_keys(users_get_groups($config['user'], 'AR', false));
if (empty($user_groups) === false) {
if (empty($this->filter) === false && empty(current($this->filter)) === false) {
$user_groups = array_intersect($this->filter, $user_groups);
$id_user_groups = sprintf(
'INNER JOIN tagente a ON a.id_agente = ae.id_agente
AND a.id_grupo IN (%s)',
implode(',', $user_groups)
);
} else {
$id_user_groups = sprintf(
'INNER JOIN tagente a ON a.id_agente = ae.id_agente
AND a.id_grupo IN (%s)',
implode(',', $user_groups)
);
}
}
} else {
if (empty($this->filter) === false && empty(current($this->filter)) === false) {
$id_user_groups = sprintf(
'INNER JOIN tagente a ON a.id_agente = ae.id_agente
AND a.id_grupo IN (%s)',
implode(',', $user_groups)
implode(',', $this->filter)
);
}
}
@ -1292,13 +1308,31 @@ class Heatmap
const id = name.split('|')[0];
const server = name.split('|')[1];
let height = 400;
let width = 530;
switch (type) {
case 0:
height = 670;
width = 460;
break;
case 2:
case 3:
height = 450;
width = 460;
break;
default:
break;
}
$("#info_dialog").dialog({
resizable: true,
draggable: true,
modal: true,
closeOnEscape: true,
height: 400,
width: 530,
height: height,
width: width,
title: '<?php echo __('Info'); ?>',
open: function() {
$.ajax({
@ -1325,13 +1359,23 @@ class Heatmap
if (count($groups) > 1 && $this->group === 1 && $this->dashboard === false) {
$x_back = 0;
$y_back = 0;
$x_text_correction = 0.25;
if ($count_result <= 100) {
if ($count_result <= 10) {
$fontSize = 'small-size';
$stroke = 'small-stroke';
} else {
} else if ($count_result > 10 && $count_result <= 100) {
$fontSize = 'tiny-size';
$stroke = 'tiny-stroke';
} else if ($count_result > 100 && $count_result <= 1000) {
$fontSize = 'medium-size';
$stroke = 'medium-stroke';
} else if ($count_result > 1000 && $count_result <= 10000) {
$fontSize = 'big-size';
$stroke = 'big-stroke';
} else {
$fontSize = 'huge-size';
$stroke = 'huge-stroke';
}
echo '<polyline points="0,0 '.$Xaxis.',0" class="polyline '.$stroke.'" />';
@ -1385,7 +1429,7 @@ class Heatmap
echo '<polyline points="'.$points.'" class="polyline '.$stroke.'" />';
// Name.
echo '<text x="'.((($x_position - $x_back) / 2) + $x_back).'" y="'.($y_position + 1).'"
echo '<text x="'.((($x_position - $x_back) / 2) + $x_back - $x_text_correction).'" y="'.($y_position + 1 - 0.01).'"
class="'.$fontSize.'">'.$name.'</text>';
$x_back = $x_position;
@ -1436,7 +1480,7 @@ class Heatmap
echo '<polyline points="'.$points.'" class="polyline '.$stroke.'" />';
// Name.
echo '<text x="'.(($x_position) / 2).'" y="'.($y_position + 1).'"
echo '<text x="'.(($x_position) / 2 - $x_text_correction).'" y="'.($y_position + 1 - 0.01).'"
class="'.$fontSize.'">'.$name.'</text>';
// Bottom-right of last line.
@ -1493,7 +1537,7 @@ class Heatmap
echo '<polyline points="'.$points.'" class="polyline '.$stroke.'" />';
// Name.
echo '<text x="'.(($x_position) / 2).'" y="'.($y_position + 1).'"
echo '<text x="'.(($x_position) / 2 - $x_text_correction).'" y="'.($y_position + 1 - 0.02).'"
class="'.$fontSize.'">'.$name.'</text>';
// Bottom-top of last line.

View File

@ -468,18 +468,14 @@ class ManageNetScanScripts extends Wizard
echo "<form name=reconscript method='post' action='".$url."'>";
echo html_print_input_hidden('page', 1, true);
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Add'),
'crtbutton',
false,
[ 'icon' => 'next' ],
true
),
],
true
html_print_action_buttons(
html_print_submit_button(
__('Add'),
'crtbutton',
false,
[ 'icon' => 'next' ],
true
)
);
echo '</form>';
} else {
@ -564,7 +560,7 @@ class ManageNetScanScripts extends Wizard
$data = [];
$data[0] = __('Description');
$data[1] = '<textarea name="form_description" cols="50" rows="4">';
$data[1] = '<textarea name="form_description" cols="69" rows="5">';
$data[1] .= $form_description;
$data[1] .= '</textarea>';
$table->data['recon_description'] = $data;

View File

@ -1723,6 +1723,12 @@ class NetworkMap
$item['image_width'] = 0;
$item['image_height'] = 0;
if (empty($node['style']['image']) === false) {
if (strpos($node['style']['image'], '.svg') === false) {
$node['style']['image'] = os_transform_url_icon(
$node['style']['image']
);
}
$item['image_url'] = ui_get_full_url(
$node['style']['image'],
false,
@ -3245,7 +3251,7 @@ class NetworkMap
$table->data['template_row']['node_target'] = '';
$table->data['template_row']['edit'] = '';
$table->data['template_row']['edit'] .= '<span class="edit_icon_correct" style="display: none">'.html_print_image('images/pixel_green.png', true, ['class' => 'main_menu_icon']).'</span><span class="edit_icon_fail" style="display: none" >'.html_print_image('images/dot_red.png', true).'</span><span class="edit_icon_progress" style="display: none">'.html_print_image('images/spinner.gif', true).'</span>';
$table->data['template_row']['edit'] .= '<span class="edit_icon_correct" style="display: none">'.html_print_image('images/pixel_green.png', true, ['class' => 'circle-relations']).'</span><span class="edit_icon_fail" style="display: none" >'.html_print_image('images/dot_red.png', true, ['class' => 'circle-relations']).'</span><span class="edit_icon_progress" style="display: none">'.html_print_image('images/spinner.gif', true, ['class' => 'circle-relations']).'</span>';
// <span class="edit_icon"><a class="edit_icon_link" title="'.__('Update').'" href="#">'.html_print_image('images/edit.svg', true, ['class' => 'invert_filter']).'</a></span>';
$table->data['template_row']['edit'] .= '<a class="delete_icon" href="#">'.html_print_image('images/delete.svg', true, ['class' => 'main_menu_icon invert_filter', 'style' => 'padding: 10px']).'</a>';

View File

@ -666,16 +666,17 @@ class SnmpConsole extends HTML
}
if ($filters['filter_free_search'] !== '') {
$free_search_str = io_safe_output($filters['filter_free_search']);
$whereSubquery .= '
AND (source LIKE "%'.$filters['filter_free_search'].'%" OR
oid LIKE "%'.$filters['filter_free_search'].'%" OR
oid_custom LIKE "%'.$filters['filter_free_search'].'%" OR
type_custom LIKE "%'.$filters['filter_free_search'].'%" OR
value LIKE "%'.$filters['filter_free_search'].'%" OR
value_custom LIKE "%'.$filters['filter_free_search'].'%" OR
id_usuario LIKE "%'.$filters['filter_free_search'].'%" OR
text LIKE "%'.$filters['filter_free_search'].'%" OR
description LIKE "%'.$filters['filter_free_search'].'%")';
AND (source LIKE "%'.$free_search_str.'%" OR
oid LIKE "%'.$free_search_str.'%" OR
oid_custom LIKE "%'.$free_search_str.'%" OR
type_custom LIKE "%'.$free_search_str.'%" OR
value LIKE "%'.$free_search_str.'%" OR
value_custom LIKE "%'.$free_search_str.'%" OR
id_usuario LIKE "%'.$free_search_str.'%" OR
text LIKE "%'.$free_search_str.'%" OR
description LIKE "%'.$free_search_str.'%")';
}
if ($filters['filter_status'] != -1) {
@ -718,6 +719,7 @@ class SnmpConsole extends HTML
}
$sql = sprintf($sql, $whereSubquery, $start, $length);
$sql_count = 'SELECT COUNT(id_trap) FROM ttrap
WHERE (
source IN ('.implode(',', $address_by_user_groups).") OR
@ -907,7 +909,7 @@ class SnmpConsole extends HTML
).'</a>';
if ($config['enterprise_installed']) {
$tmp->action .= '<a href="index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form&oid='.$tmp->oid.'&custom_oid='.urlencode($tmp->oid_custom).'&severity='.$tmp->severity.'&text='.io_safe_input($tmp->text).'&description='.io_safe_input($tmp->description, ENT_QUOTES).'" title="'.io_safe_input($tmp->description, ENT_QUOTES).'">';
$tmp->action .= '<a href="index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form&id='.$tmp->id_trap.'&oid='.$tmp->oid.'&custom_oid='.urlencode($tmp->oid_custom).'&severity='.$tmp->severity.'&text='.io_safe_input($tmp->text).'&description='.io_safe_input($tmp->description, ENT_QUOTES).'" title="'.io_safe_input($tmp->description, ENT_QUOTES).'">';
$tmp->action .= html_print_image(
'images/edit.svg',
true,
@ -1443,7 +1445,7 @@ class SnmpConsole extends HTML
binding_vars.forEach(function(oid) {
string += oid+'<br/>';
});
variableBindings = `<td align="left" colspan="8">${string}</td>`;
variableBindings = `<td align="left" colspan="8" class="break-word w200px">${string}</td>`;
}
tr.after(`<tr id="show_" role="row">${labelBindings}${variableBindings}</tr>`);

View File

@ -570,7 +570,7 @@ class TipsWindow
$sql = sprintf(
'SELECT id, name AS language, title, text, url, enable
FROM twelcome_tip t
LEFT JOIN tlanguage l ON t.id_lang = l.id_language COLLATE utf8mb4_0900_ai_ci
LEFT JOIN tlanguage l ON t.id_lang = l.id_language COLLATE utf8mb4_unicode_ci
%s %s %s',
$filter,
$order,
@ -582,7 +582,7 @@ class TipsWindow
$sqlCount = sprintf(
'SELECT count(*)
FROM twelcome_tip t
LEFT JOIN tlanguage l ON t.id_lang = l.id_language COLLATE utf8mb4_0900_ai_ci
LEFT JOIN tlanguage l ON t.id_lang = l.id_language COLLATE utf8mb4_unicode_ci
%s',
$filter
);

View File

@ -133,6 +133,11 @@ class Tree
protected function getEmptyModuleFilterStatus()
{
if ($this->filter['statusModule'] === 'fired') {
$this->filter['statusModuleOriginal'] = $this->filter['statusModule'];
$this->filter['statusModule'] = -1;
}
return (
!isset($this->filter['statusModule']) ||
$this->filter['statusModule'] == -1
@ -219,6 +224,10 @@ class Tree
$agent_status_filter = ' AND (ta.critical_count > 0
OR ta.warning_count > 0) ';
break;
case AGENT_STATUS_ALERT_FIRED:
$agent_status_filter = ' AND ta.fired_count > 0 ';
break;
}
return $agent_status_filter;
@ -284,6 +293,11 @@ class Tree
protected function getModuleStatusFilter()
{
if ($this->filter['statusModule'] === 'fired') {
$this->filter['statusModuleOriginal'] = $this->filter['statusModule'];
$this->filter['statusModule'] = -1;
}
$show_init_condition = ($this->filter['show_not_init_agents']) ? '' : ' AND ta.notinit_count <> ta.total_count';
if ($this->getEmptyModuleFilterStatus()) {
@ -294,6 +308,10 @@ class Tree
return ' AND (ta.warning_count > 0 OR ta.critical_count > 0)';
}
if ($this->filter['statusModule'] === 'fired') {
return ' AND ta.fired_count > 0';
}
$field_filter = modules_get_counter_by_states($this->filter['statusModule']);
if ($field_filter === false) {
return ' AND 1=0';
@ -333,6 +351,11 @@ class Tree
protected function getModuleStatusFilterFromTestado($state=false, $without_ands=false)
{
if ($this->filter['statusModule'] === 'fired') {
$this->filter['statusModuleOriginal'] = $this->filter['statusModule'];
$this->filter['statusModule'] = -1;
}
$selected_status = ($state !== false && $state !== self::TV_DEFAULT_AGENT_STATUS) ? $state : $this->filter['statusModule'];
$filter = [modules_get_state_condition($selected_status)];
@ -811,6 +834,11 @@ class Tree
protected function processAgent(&$agent, $server=false)
{
if ($this->filter['statusModule'] === 'fired') {
$this->filter['statusModuleOriginal'] = $this->filter['statusModule'];
$this->filter['statusModule'] = -1;
}
global $config;
$agent['type'] = 'agent';

View File

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

View File

@ -440,6 +440,7 @@ define('SERVER_TYPE_MIGRATION', 20);
define('SERVER_TYPE_ALERT', 21);
define('SERVER_TYPE_CORRELATION', 22);
define('SERVER_TYPE_NCM', 23);
define('SERVER_TYPE_NETFLOW', 24);
// REPORTS.
define('REPORT_TOP_N_MAX', 1);
@ -812,6 +813,7 @@ define('AUDIT_LOG_SERVICE_MANAGEMENT', 'Service management');
define('AUDIT_LOG_INCIDENT_MANAGEMENT', 'Incident management');
define('AUDIT_LOG_UMC', 'Warp Manager');
define('AUDIT_LOG_NMS_VIOLATION', 'NMS Violation');
define('AUDIT_LOG_ENTERPRISE_VIOLATION', 'Enterprise Violation');
// MIMEs.
define(

View File

@ -3908,7 +3908,14 @@ function series_type_graph_array($data, $show_elements_graph)
$type_graph = $show_elements_graph['type_graph'];
}
$color_series = color_graph_array();
if (isset($show_elements_graph['array_colors']) === true
&& empty($show_elements_graph['array_colors']) === false
&& is_array($show_elements_graph['array_colors']) === true
) {
$color_series = $show_elements_graph['array_colors'];
} else {
$color_series = color_graph_array();
}
if ($show_elements_graph['id_widget_dashboard']) {
$opcion = unserialize(
@ -4050,7 +4057,7 @@ function series_type_graph_array($data, $show_elements_graph)
$name_legend .= ' * '.$value['weight'].') ';
}
$data_return['legend'][$key] = $name_legend;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.$name_legend.'</span>';
if ((int) $value['min'] === PHP_INT_MAX) {
$value['min'] = 0;
}
@ -4059,28 +4066,28 @@ function series_type_graph_array($data, $show_elements_graph)
$value['max'] = 0;
}
$data_return['legend'][$key] .= __('Min:').remove_right_zeros(
$data_return['legend'][$key] .= '<span class="legend-font-small">'.__('Min').' </span><span class="bolder">'.remove_right_zeros(
number_format(
$value['min'],
$config['graph_precision'],
$config['csv_decimal_separator'],
$config['csv_decimal_separator'] == ',' ? '.' : ','
)
).' '.__('Max:').remove_right_zeros(
).' '.$value['unit'].'</span>&nbsp;<span class="legend-font-small">'.__('Max').' </span><span class="bolder">'.remove_right_zeros(
number_format(
$value['max'],
$config['graph_precision'],
$config['csv_decimal_separator'],
$config['csv_decimal_separator'] == ',' ? '.' : ','
)
).' '._('Avg:').remove_right_zeros(
).' '.$value['unit'].'</span>&nbsp;<span class="legend-font-small">'._('Avg.').' </span><span class="bolder">'.remove_right_zeros(
number_format(
$value['avg'],
$config['graph_precision'],
$config['csv_decimal_separator'],
$config['csv_decimal_separator'] == ',' ? '.' : ','
)
).' '.$str;
).' '.$value['unit'].'</span>&nbsp;'.$str;
if ($show_elements_graph['compare'] == 'overlapped'
&& $key == 'sum2'
@ -4122,9 +4129,9 @@ function series_type_graph_array($data, $show_elements_graph)
$name_legend .= $value['module_name'].': ';
}
$data_return['legend'][$key] = $name_legend;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.$name_legend.'</span>';
if ($show_elements_graph['type_mode_graph']) {
$data_return['legend'][$key] .= __('Min:');
$data_return['legend'][$key] .= '<span class="legend-font-small">'.__('Min:').' </span><span class="bolder">';
$data_return['legend'][$key] .= remove_right_zeros(
number_format(
$value['min'],
@ -4132,8 +4139,8 @@ function series_type_graph_array($data, $show_elements_graph)
$config['decimal_separator'],
$config['thousand_separator']
)
);
$data_return['legend'][$key] .= ' '.__('Max:');
).' '.$value['unit'];
$data_return['legend'][$key] .= '</span>&nbsp;<span class="legend-font-small">'.__('Max:').' </span><span class="bolder">';
$data_return['legend'][$key] .= remove_right_zeros(
number_format(
$value['max'],
@ -4141,8 +4148,8 @@ function series_type_graph_array($data, $show_elements_graph)
$config['decimal_separator'],
$config['thousand_separator']
)
);
$data_return['legend'][$key] .= ' '._('Avg:');
).' '.$value['unit'];
$data_return['legend'][$key] .= '</span>&nbsp;<span class="legend-font-small">'._('Avg:').' </span><span class="bolder">';
$data_return['legend'][$key] .= remove_right_zeros(
number_format(
$value['avg'],
@ -4150,7 +4157,7 @@ function series_type_graph_array($data, $show_elements_graph)
$config['decimal_separator'],
$config['thousand_separator']
)
).' '.$str;
).' '.$value['unit'].' </span>&nbsp;'.$str;
}
if ($show_elements_graph['compare'] == 'overlapped'
@ -4164,21 +4171,21 @@ function series_type_graph_array($data, $show_elements_graph)
} else if (strpos($key, 'event') !== false) {
$data_return['series_type'][$key] = 'points';
if ($show_elements_graph['show_events']) {
$data_return['legend'][$key] = __('Events').' '.$str;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Events').'</span>'.$str;
}
$data_return['color'][$key] = $color_series['event'];
} else if (strpos($key, 'alert') !== false) {
$data_return['series_type'][$key] = 'points';
if ($show_elements_graph['show_alerts']) {
$data_return['legend'][$key] = __('Alert').' '.$str;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Alert').'</span>'.$str;
}
$data_return['color'][$key] = $color_series['alert'];
} else if (strpos($key, 'unknown') !== false) {
$data_return['series_type'][$key] = 'unknown';
if ($show_elements_graph['show_unknown']) {
$data_return['legend'][$key] = __('Unknown').' '.$str;
$data_return['legend'][$key] = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Unknown').'</span>'.$str;
}
$data_return['color'][$key] = $color_series['unknown'];
@ -4186,7 +4193,7 @@ function series_type_graph_array($data, $show_elements_graph)
$data_return['series_type'][$key] = 'percentil';
if ($show_elements_graph['percentil']) {
if ($show_elements_graph['unit']) {
$name_legend = __('Percentil').' ';
$name_legend = '<span style="font-size: 9pt; font-weight: bolder;">'.__('Percentil').'</span>';
$name_legend .= $config['percentil'].'º ';
$name_legend .= __('of module').' ';
$name_legend .= $value['agent_alias'].' / ';

View File

@ -13090,10 +13090,18 @@ function api_set_create_event($id, $trash1, $other, $returnType)
if ($other['data'][18] != '') {
$values['id_extra'] = $other['data'][18];
$sql_validation = 'SELECT id_evento FROM tevento where estado IN (0,2) and id_extra ="'.$other['data'][18].'";';
$sql_validation = 'SELECT id_evento,estado FROM tevento where estado IN (0,2) and id_extra ="'.$other['data'][18].'";';
$validation = db_get_all_rows_sql($sql_validation);
if ($validation) {
foreach ($validation as $val) {
if ((bool) $config['keep_in_process_status_extra_id'] === true
&& (int) $val['estado'] === EVENT_STATUS_INPROCESS
&& (int) $values['status'] === 0
) {
$values['status'] = 2;
}
api_set_validate_event_by_id($val['id_evento']);
}
}

View File

@ -370,6 +370,10 @@ function config_update_config()
$error_update[] = __('alias_as_name');
}
if (config_update_value('keep_in_process_status_extra_id', get_parameter('keep_in_process_status_extra_id'), true) === false) {
$error_update[] = __('keep_in_process_status_extra_id');
}
if (config_update_value('console_log_enabled', get_parameter('console_log_enabled'), true) === false) {
$error_update[] = __('Console log enabled');
}
@ -1222,6 +1226,10 @@ function config_update_config()
$error_update[] = __('Mobile view not allow visual console orientation');
}
if (config_update_value('display_item_frame', (int) get_parameter('display_item_frame'), true) === false) {
$error_update[] = __('Display item frame on alert triggered');
}
if (config_update_value('ser_menu_items', (int) get_parameter('ser_menu_items', 10), true) === false) {
$error_update[] = __('Default line menu items for the Services');
}
@ -2343,6 +2351,10 @@ function config_process_config()
config_update_value('alias_as_name', 0);
}
if (!isset($config['keep_in_process_status_extra_id'])) {
config_update_value('keep_in_process_status_extra_id', 0);
}
if (!isset($config['console_log_enabled'])) {
config_update_value('console_log_enabled', 0);
}
@ -3417,6 +3429,10 @@ function config_process_config()
config_update_value('mobile_view_orientation_vc', 0);
}
if (isset($config['display_item_frame']) === false) {
config_update_value('display_item_frame', 1);
}
if (!isset($config['agent_size_text_small'])) {
config_update_value('agent_size_text_small', 18);
}

View File

@ -2523,8 +2523,8 @@ function events_print_event_table(
$i = 0;
$table->head[$i] = '<span>'.__('Type').'</span>';
$table->headstyle[$i] = 'width: 3%;text-align: center;';
$table->style[$i++] = 'text-align: center;';
$table->headstyle[$i] = 'width: 3%;text-align: left;';
$table->style[$i++] = 'text-align: left;';
$table->head[$i] = '<span>'.__('Event name').'</span>';
$table->headstyle[$i] = '';
@ -2541,12 +2541,12 @@ function events_print_event_table(
$table->style[$i++] = 'padding: 0 5px;word-break: break-word;';
$table->head[$i] = '<span>'.__('Status').'</span>';
$table->headstyle[$i] = 'width: 150px;text-align: center;';
$table->style[$i++] = 'padding: 0 5px;text-align: center;';
$table->headstyle[$i] = 'width: 150px;text-align: left;';
$table->style[$i++] = 'padding: 0 5px;text-align: left;';
$table->head[$i] = "<span title='".__('Validated')."'>".__('V.').'</span>';
$table->headstyle[$i] = 'width: 1%;text-align: center;';
$table->style[$i++] = 'text-align: center;';
$table->headstyle[$i] = 'width: 1%;text-align: left;';
$table->style[$i++] = 'text-align: left;';
$all_groups = [];
if ($agent_id != 0) {
@ -2730,7 +2730,7 @@ function events_print_type_img(
[
'title' => events_print_type_description($type, true),
'class' => $style,
'style' => 'margin: 0 auto;'.((empty($icon) === false) ? 'background-image: url('.$icon.'); background-repeat: no-repeat;' : ''),
'style' => ((empty($icon) === false) ? 'background-image: url('.$icon.'); background-repeat: no-repeat;' : ''),
],
true
);
@ -5122,7 +5122,7 @@ function events_page_general($event)
&& count($table_data[$i]) === 2
) {
$table_general->colspan[$i][1] = 2;
$table_general->style[2] = 'text-align:center; width:10%;';
$table_general->style[2] = 'text-align:left; width:10%;';
}
}
@ -5204,7 +5204,7 @@ function events_page_comments($event, $ajax=false, $groupedComments=[])
$comments = (empty($groupedComments) === true) ? $event['user_comment'] : $groupedComments;
if (empty($comments) === true) {
$table_comments->style[0] = 'text-align:center;';
$table_comments->style[0] = 'text-align:left;';
$table_comments->colspan[0][0] = 2;
$data = [];
$data[0] = __('There are no comments');
@ -5272,7 +5272,7 @@ function events_page_comments($event, $ajax=false, $groupedComments=[])
'<b>%s %s %s%s</b>',
$c['action'],
__('by'),
get_user_fullname($c['id_user']).' ('.$c['id_user'].')',
get_user_fullname(io_safe_input($c['id_user'])).' ('.io_safe_input($c['id_user']).')',
$eventIdExplanation
);

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