diff --git a/extras/docker/centos8/base/Dockerfile b/extras/docker/centos8/base/Dockerfile index eac2152d3c..a45080629f 100644 --- a/extras/docker/centos8/base/Dockerfile +++ b/extras/docker/centos8/base/Dockerfile @@ -92,12 +92,10 @@ RUN dnf install -y --setopt=tsflags=nodocs \ 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 \ + chromium \ 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 - + http://firefly.artica.es/centos7/wmic-1.4-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 diff --git a/extras/docker/centos8/build_image_el8.sh b/extras/docker/centos8/build_image_el8.sh index d4abd11eb8..c31be67d00 100755 --- a/extras/docker/centos8/build_image_el8.sh +++ b/extras/docker/centos8/build_image_el8.sh @@ -64,7 +64,7 @@ wget $oconsoleurl wget $oserverurl if [ "$BASEBUILD" == 1 ] ; then - docker pull centos:8 + docker pull rockylinux:8 # Open Base image echo "building Base el8 image" cd $DOCKER_PATH/base @@ -77,11 +77,11 @@ else fi if [ "$DBBUILD" == 1 ] ; then - docker pull percona:5.7 + docker pull percona:8.0 # Percona image echo "building Percona image" - cd $OPEN/extras/docker/percona - docker build -t $PERCONA_IMAGE:latest -f $OPEN/extras/docker/percona/Dockerfile $OPEN/extras/docker/percona + cd $OPEN/extras/docker/percona/8.0 + docker build -t $PERCONA_IMAGE:latest -f $OPEN/extras/docker/percona/8.0/Dockerfile $OPEN/extras/docker/percona/8.0/ echo -e ">>>> \n" fi diff --git a/extras/docker/centos8/docker-compose.yml b/extras/docker/centos8/docker-compose.yml index 37df7251f5..06f5cf1c31 100644 --- a/extras/docker/centos8/docker-compose.yml +++ b/extras/docker/centos8/docker-compose.yml @@ -8,6 +8,8 @@ services: image: pandorafms/pandorafms-percona-base restart: always #command: ["mysqld", "--innodb-buffer-pool-size=900M"] + cap_add: + - SYS_NICE # CAP_SYS_NICE environment: MYSQL_ROOT_PASSWORD: pandora MYSQL_DATABASE: pandora diff --git a/extras/docker/percona/Dockerfile b/extras/docker/percona/5.7/Dockerfile similarity index 100% rename from extras/docker/percona/Dockerfile rename to extras/docker/percona/5.7/Dockerfile diff --git a/extras/docker/percona/8.0/Dockerfile b/extras/docker/percona/8.0/Dockerfile new file mode 100644 index 0000000000..ae8f544c7a --- /dev/null +++ b/extras/docker/percona/8.0/Dockerfile @@ -0,0 +1,11 @@ +#docker build -t pandorafms/pandorafms-percona-base:80 . +#docker tag pandorafms/pandorafms-percona-base:80 pandorafms/pandorafms-percona-base:latest +#docker push pandorafms/pandorafms-percona-base:80 + + +FROM percona:8.0 +ADD pandora.cnf /etc/my.cnf.d/ +USER root +RUN chown mysql:mysql /etc/my.cnf.d/pandora.cnf +USER mysql +EXPOSE 3306 diff --git a/extras/docker/percona/8.0/compose/docker-compose.yml b/extras/docker/percona/8.0/compose/docker-compose.yml new file mode 100644 index 0000000000..293efb63a2 --- /dev/null +++ b/extras/docker/percona/8.0/compose/docker-compose.yml @@ -0,0 +1,20 @@ +# Use root/example as user/password credentials +# este compose incluye la base de datos en otro docker y levanta aplicacion y DB juntos +version: '3.1' + +services: + db: + image: pandorafms/pandorafms-percona-base:80 + restart: always + command: ["mysqld", "--innodb-buffer-pool-size=1G"] + cap_add: + - SYS_NICE # CAP_SYS_NICE + environment: + MYSQL_ROOT_PASSWORD: pandora + MYSQL_DATABASE: pandora + MYSQL_USER: pandora + MYSQL_PASSWORD: pandora + networks: + - pandora +networks: + pandora: \ No newline at end of file diff --git a/extras/docker/percona/8.0/pandora.cnf b/extras/docker/percona/8.0/pandora.cnf new file mode 100644 index 0000000000..802b181b61 --- /dev/null +++ b/extras/docker/percona/8.0/pandora.cnf @@ -0,0 +1,39 @@ +# copy this file to /etc/my.cnf.d/pandora.cnf directory inside the container to set the onfiguration + +[mysqld] +datadir=/var/lib/mysql +user=mysql +character-set-server=utf8mb4 +skip-character-set-client-handshake +# Disabling symbolic-links is recommended to prevent assorted security risks +symbolic-links=0 +# Mysql optimizations for Pandora FMS +# Please check the documentation in http://pandorafms.com for better results + +max_allowed_packet = 64M +innodb_lock_wait_timeout = 90 +innodb_file_per_table +innodb_flush_log_at_trx_commit = 0 +innodb_flush_method = O_DIRECT +innodb_log_file_size = 64M +innodb_log_buffer_size = 16M +innodb_io_capacity = 300 +thread_cache_size = 8 +thread_stack = 256K +max_connections = 100 + +key_buffer_size=4M +read_buffer_size=128K +read_rnd_buffer_size=128K +sort_buffer_size=128K +join_buffer_size=4M + +# legacy compatibility +default_authentication_plugin=mysql_native_password +log_error_suppression_list='MY-013360' + +skip-log-bin + +sql_mode="" + + \ No newline at end of file diff --git a/extras/docker/percona/8.0/run_docker b/extras/docker/percona/8.0/run_docker new file mode 100644 index 0000000000..3757a78d4a --- /dev/null +++ b/extras/docker/percona/8.0/run_docker @@ -0,0 +1,6 @@ +docker run --name pandora-percona \ +-e MYSQL_ROOT_PASSWORD=pandora \ +-e MYSQL_DATABASE=pandora \ +-e MYSQL_USER=pandora \ +-e MYSQL_PASSWORD=pandora \ +-d pandora_percona:80 diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index 43a2624551..414e77073e 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.776-240418 +Version: 7.0NG.776-240419 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 90ed6a0d7e..12868938b7 100644 --- a/pandora_agents/unix/DEBIAN/make_deb_package.sh +++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.776-240418" +pandora_version="7.0NG.776-240419" echo "Test if you has the tools for to make the packages." whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent index dd1e637c16..217e86fcbe 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -1039,7 +1039,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.776'; -use constant AGENT_BUILD => '240418'; +use constant AGENT_BUILD => '240419'; # Agent log default file size maximum and instances use constant DEFAULT_MAX_LOG_SIZE => 600000; diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index a7d967b84d..64de1fc019 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_agent_linux %define version 7.0NG.776 -%define release 240418 +%define release 240419 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec b/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec index 80786b1668..7ed04732af 100644 --- a/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec +++ b/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec @@ -5,7 +5,7 @@ %define name pandorafms_agent_linux_bin %define source_name pandorafms_agent_linux %define version 7.0NG.776 -%define release 240418 +%define release 240419 %define debug_package %{nil} Summary: Pandora FMS Linux agent, binary version diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec b/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec index f6526ff112..e887fd4827 100644 --- a/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec +++ b/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec @@ -5,7 +5,7 @@ %define name pandorafms_agent_linux_bin %define source_name pandorafms_agent_linux %define version 7.0NG.776 -%define release 240418 +%define release 240419 %define debug_package %{nil} Summary: Pandora FMS Linux agent, binary version diff --git a/pandora_agents/unix/pandora_agent.redhat_bin.spec b/pandora_agents/unix/pandora_agent.redhat_bin.spec index 85a22d7ad3..c873890c36 100644 --- a/pandora_agents/unix/pandora_agent.redhat_bin.spec +++ b/pandora_agents/unix/pandora_agent.redhat_bin.spec @@ -5,7 +5,7 @@ %define name pandorafms_agent_linux_bin %define source_name pandorafms_agent_linux %define version 7.0NG.776 -%define release 240418 +%define release 240419 Summary: Pandora FMS Linux agent, binary version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 1ed085225b..f0821a9d76 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_agent_linux %define version 7.0NG.776 -%define release 240418 +%define release 240419 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer index 5dc09cda2e..bad02ac038 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.776" -PI_BUILD="240418" +PI_BUILD="240419" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index 53d56235e6..687002769f 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{240418} +{240419} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index f29d85e915..3bfb8c8c85 100644 --- a/pandora_agents/win32/pandora.cc +++ b/pandora_agents/win32/pandora.cc @@ -30,7 +30,7 @@ using namespace Pandora; using namespace Pandora_Strutils; #define PATH_SIZE _MAX_PATH+1 -#define PANDORA_VERSION ("7.0NG.776 Build 240418") +#define PANDORA_VERSION ("7.0NG.776 Build 240419") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index ab7e829280..713f0319ec 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Pandora FMS" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.776(Build 240418))" + VALUE "ProductVersion", "(7.0NG.776(Build 240419))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index 44ed8bc70b..ea27be00d4 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.776-240418 +Version: 7.0NG.776-240419 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index a112100096..5521e6e12f 100644 --- a/pandora_console/DEBIAN/make_deb_package.sh +++ b/pandora_console/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.776-240418" +pandora_version="7.0NG.776-240419" package_pear=0 package_pandora=1 diff --git a/pandora_console/extras/mr/69.sql b/pandora_console/extras/mr/69.sql index 146e7cc59c..c2d2fc3288 100644 --- a/pandora_console/extras/mr/69.sql +++ b/pandora_console/extras/mr/69.sql @@ -7712,6 +7712,8 @@ UPDATE `twelcome_tip` SET url = 'https://pandorafms.com/manual/!current/start?id DELETE FROM tconfig WHERE `token` = 'legacy_database_ha'; +UPDATE tncm_script SET `content` = 'sleep:1 capture:export\n\r exit\n\r' where `content` = 'sleep:1 capture:system resource print\n\r exit\n\r'; + -- Add new columns in tdeployment_hosts ALTER TABLE `tdeployment_hosts` ADD COLUMN `deploy_method` ENUM('SSH', 'HTTP', 'HTTPS') DEFAULT 'SSH'; ALTER TABLE `tdeployment_hosts` ADD COLUMN `deploy_port` INT UNSIGNED NOT NULL DEFAULT 22; @@ -7723,7 +7725,7 @@ UPDATE SET `tdeployment_hosts`.`deploy_method` = 'HTTP', `tdeployment_hosts`.`deploy_port` = 5985, - `tdeployment_hosts`.`temp_folder` = 'C:\Widnows\Temp' + `tdeployment_hosts`.`temp_folder` = 'C:\Windows\Temp' WHERE `tdeployment_hosts`.`id_os` = `tconfig_os`.`id_os` AND `tconfig_os`.`name` = 'Windows' AND `tdeployment_hosts`.`deployed` = 0; diff --git a/pandora_console/godmode/reporting/visual_console_builder.elements.php b/pandora_console/godmode/reporting/visual_console_builder.elements.php index bd96be794b..f03b26cc9d 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.elements.php +++ b/pandora_console/godmode/reporting/visual_console_builder.elements.php @@ -114,6 +114,7 @@ foreach ($all_images as $image_file) { $table = new stdClass(); $table->width = '100%'; $table->class = 'databox filter-table-adv'; +$table->styleTable = 'min-width: 900px; table-layout:fixed;'; $table->head = []; $table->head['icon'] = ''; @@ -122,8 +123,7 @@ $table->head[1] = __('Image').'
'.__('Module').' / '.__('Custom graph'); $table->head[2] = __('Width x Height
Max value'); $table->head[3] = __('Position').'
'.__('Period'); $table->head[4] = __('Parent').'
'.__('Map linked'); -$table->head[5] = ''; -$table->head[5] .= '   '.html_print_checkbox( +$table->head[5] = html_print_checkbox( 'head_multiple_delete', '', false, @@ -133,41 +133,66 @@ $table->head[5] .= '   '.html_print_checkbox( ); $table->head[5] .= '   '.__('A.').''; -$table->size = []; -$table->size['icon'] = '1%'; -$table->size[0] = '28%'; -$table->size[1] = ''; -$table->size[2] = '25%'; -$table->size[3] = '27%'; -$table->size[4] = '7%'; -$table->size[5] = '15%'; - +$table->headstyle = []; +$table->headstyle['icon'] = 'text-align:left; width: 1%;'; +$table->headstyle[0] = 'text-align:left; width: 19%;'; +$table->headstyle[1] = 'text-align:left; width: 19%;'; +$table->headstyle[2] = 'text-align:left; width: 19%;'; +$table->headstyle[3] = 'text-align:left; width: 19%;'; +$table->headstyle[4] = 'text-align:left; width: 19%;'; +$table->headstyle[5] = 'text-align:right; width: 4%;'; $table->align = []; - -if (!defined('METACONSOLE')) { - $table->headstyle[0] = 'text-align:left;'; - $table->headstyle[1] = 'text-align:left'; - $table->headstyle[2] = 'text-align:left'; - $table->headstyle[3] = 'text-align:left'; - $table->headstyle[4] = 'text-align:left'; - $table->headstyle[5] = 'text-align:left'; - $table->align[0] = 'left'; - $table->align[1] = 'left'; - $table->align[2] = 'left'; - $table->align[3] = 'left'; - $table->align[4] = 'left'; - $table->align[5] = 'left'; -} +$table->align[0] = 'left'; +$table->align[1] = 'left'; +$table->align[2] = 'left'; +$table->align[3] = 'left'; +$table->align[4] = 'left'; +$table->align[5] = 'right'; $table->data = []; -// Background +// Background. $table->data[0]['icon'] = ''; -$table->data[0][0] = '
'.__('Background').'
'; -$table->data[0][1] = '
'.html_print_select($backgrounds_list, 'background', $visualConsole['background'], '', 'None', '', true, false, true, '', false, 'width: 120px;').'
'; -$table->data[0][2] = '
'.html_print_input_text('width', $visualConsole['width'], '', 3, 5, true).' x '.html_print_input_text('height', $visualConsole['height'], '', 3, 5, true).'
'; -$table->data[0][3] = $table->data[0][4] = $table->data[0][5] = ''; +$table->data[0][0] = '
'.__('Background').'
'; +$table->data[0][1] = '
'; +$table->data[0][1] .= html_print_select( + $backgrounds_list, + 'background', + $visualConsole['background'], + '', + 'None', + '', + true, + false, + true, + '', + false, + 'width: 100%;' +); +$table->data[0][1] .= '
'; +$table->data[0][2] = '
'; +$table->data[0][2] .= html_print_input_text( + 'width', + $visualConsole['width'], + '', + 3, + 5, + true +); +$table->data[0][2] .= 'x'; +$table->data[0][2] .= html_print_input_text( + 'height', + $visualConsole['height'], + '', + 3, + 5, + true +); +$table->data[0][2] .= '
'; +$table->data[0][3] = ''; +$table->data[0][4] = ''; +$table->data[0][5] = ''; $i = 1; $layoutDatas = db_get_all_rows_field_filter( @@ -186,7 +211,7 @@ $x = 0; foreach ($layoutDatas as $layoutData) { $idLayoutData = $layoutData['id']; - // line between rows + // Line between rows. $table->data[$i][0] = '
'; $table->colspan[$i][0] = '8'; @@ -208,7 +233,7 @@ foreach ($layoutDatas as $layoutData) { true, [ 'title' => __('Percentile Bar'), - 'class' => 'invert_filter', + 'class' => 'main_menu_icon invert_filter', ] ); break; @@ -219,7 +244,7 @@ foreach ($layoutDatas as $layoutData) { true, [ 'title' => __('Percentile Bubble'), - 'class' => 'invert_filter', + 'class' => 'main_menu_icon invert_filter', ] ); break; @@ -231,7 +256,7 @@ foreach ($layoutDatas as $layoutData) { true, [ 'title' => __('Percentile'), - 'class' => 'invert_filter', + 'class' => 'main_menu_icon invert_filter', ] ); break; @@ -413,7 +438,7 @@ foreach ($layoutDatas as $layoutData) { break; default: - if (enterprise_installed()) { + if (enterprise_installed() === true) { $table->data[($i + 1)]['icon'] = enterprise_visual_map_print_list_element('icon', $layoutData); } else { $table->data[($i + 1)]['icon'] = ''; @@ -421,26 +446,27 @@ foreach ($layoutDatas as $layoutData) { break; } - - // First row - // Label + // Label. switch ($layoutData['type']) { case ICON: case BOX_ITEM: case NETWORK_LINK: case LINE_ITEM: - // hasn't the label. + // Hasn't the label. $table->data[($i + 1)][0] = ''; break; default: - $table->data[($i + 1)][0] = ''.html_print_input_hidden('label_'.$idLayoutData, $layoutData['label'], true).''.__('Edit label').''.''; + $table->data[($i + 1)][0] = ''; + $table->data[($i + 1)][0] .= html_print_input_hidden('label_'.$idLayoutData, $layoutData['label'], true); + $table->data[($i + 1)][0] .= ''; + $table->data[($i + 1)][0] .= __('Edit label'); + $table->data[($i + 1)][0] .= ''; break; } - - // Image + // Image. switch ($layoutData['type']) { case STATIC_GRAPH: case ICON: @@ -458,7 +484,7 @@ foreach ($layoutDatas as $layoutData) { true, '', false, - 'width: 120px' + 'width: 100%' ); break; @@ -467,47 +493,102 @@ foreach ($layoutDatas as $layoutData) { break; } + // Position. + $readonly = false; + if ($layoutData['type'] == NETWORK_LINK || $layoutData['type'] == LINE_ITEM) { + $readonly = true; + } - - // Width and height + // Width and height. switch ($layoutData['type']) { - case NETWORK_LINK: - case LINE_ITEM: - // hasn't the width and height. - $table->data[($i + 1)][2] = ''; - break; - case COLOR_CLOUD: - $table->data[($i + 1)][2] = html_print_input_text('width_'.$idLayoutData, $layoutData['width'], '', 2, 5, true).' x '.html_print_input_text('height_'.$idLayoutData, $layoutData['width'], '', 2, 5, true); + $table->data[($i + 1)][2] = '
'; + $table->data[($i + 1)][2] .= html_print_input_text( + 'width_'.$idLayoutData, + $layoutData['width'], + '', + 2, + 5, + true + ); + $table->data[($i + 1)][2] .= 'x'; + $table->data[($i + 1)][2] .= html_print_input_text( + 'height_'.$idLayoutData, + $layoutData['width'], + '', + 2, + 5, + true + ); + $table->data[($i + 1)][2] .= '
'; break; case CIRCULAR_PROGRESS_BAR: case CIRCULAR_INTERIOR_PROGRESS_BAR: case PERCENTILE_BUBBLE: case PERCENTILE_BAR: - $table->data[($i + 1)][2] = html_print_input_text('width_'.$idLayoutData, $layoutData['width'], '', 2, 5, true); + $table->data[($i + 1)][2] = '
'; + $table->data[($i + 1)][2] .= html_print_input_text( + 'width_'.$idLayoutData, + $layoutData['width'], + '', + 2, + 5, + true + ); + $table->data[($i + 1)][2] .= '
'; break; default: - $table->data[($i + 1)][2] = html_print_input_text('width_'.$idLayoutData, $layoutData['width'], '', 2, 5, true).' x '.html_print_input_text('height_'.$idLayoutData, $layoutData['height'], '', 2, 5, true); + $table->data[($i + 1)][2] = '
'; + $table->data[($i + 1)][2] .= html_print_input_text( + 'width_'.$idLayoutData, + $layoutData['width'], + '', + 2, + 5, + true, + $readonly + ); + $table->data[($i + 1)][2] .= 'x'; + $table->data[($i + 1)][2] .= html_print_input_text( + 'height_'.$idLayoutData, + $layoutData['height'], + '', + 2, + 5, + true, + $readonly + ); + $table->data[($i + 1)][2] .= '
'; break; } - // Position - switch ($layoutData['type']) { - case NETWORK_LINK: - case LINE_ITEM: - // hasn't the width and height. - $table->data[($i + 1)][3] = ''; - break; + $table->data[($i + 1)][3] = '
'; + $table->data[($i + 1)][3] .= '('; + $table->data[($i + 1)][3] .= html_print_input_text( + 'left_'.$idLayoutData, + $layoutData['pos_x'], + '', + 2, + 5, + true, + $readonly + ); + $table->data[($i + 1)][3] .= ','; + $table->data[($i + 1)][3] .= html_print_input_text( + 'top_'.$idLayoutData, + $layoutData['pos_y'], + '', + 2, + 5, + true, + $readonly + ); + $table->data[($i + 1)][3] .= ')'; + $table->data[($i + 1)][3] .= '
'; - default: - $table->data[($i + 1)][3] = '( '.html_print_input_text('left_'.$idLayoutData, $layoutData['pos_x'], '', 2, 5, true).' , '.html_print_input_text('top_'.$idLayoutData, $layoutData['pos_y'], '', 2, 5, true).' )'; - break; - } - - - // Parent + // Parent. switch ($layoutData['type']) { case BOX_ITEM: case NETWORK_LINK: @@ -517,39 +598,57 @@ foreach ($layoutDatas as $layoutData) { break; default: - $table->data[($i + 1)][4] = html_print_select( + $table->data[($i + 1)][4] = '
'.html_print_select( $parents, 'parent_'.$idLayoutData, $layoutData['parent_item'], '', __('None'), 0, - true - ); + true, + false, + true, + '', + false, + 'width: 100%;' + ).'
'; + break; } - // Delete row button - if (!defined('METACONSOLE')) { - $url_delete = 'index.php?'.'sec=network&'.'sec2=godmode/reporting/visual_console_builder&'.'tab='.$activeTab.'&'.'action=delete&'.'id_visual_console='.$visualConsole['id'].'&'.'id_element='.$idLayoutData; - } else { - $url_delete = 'index.php?'.'operation=edit_visualmap&'.'sec=screen&'.'sec2=screens/screens&'.'action=visualmap&'.'pure='.(int) get_parameter('pure', 0).'&'.'tab=list_elements&'.'action2=delete&'.'id_visual_console='.$visualConsole['id'].'&'.'id_element='.$idLayoutData; + // Delete row button. + $url_delete = 'index.php?sec=network&sec2=godmode/reporting/visual_console_builder'; + $url_delete .= '&tab='.$activeTab.'&action=delete'; + $url_delete .= '&id_visual_console='.$visualConsole['id'].'&id_element='.$idLayoutData; + if (is_metaconsole() === true) { + $url_delete = 'index.php?operation=edit_visualmap&sec=screen&sec2=screens/screens&action=visualmap'; + $url_delete .= '&pure='.(int) get_parameter('pure', 0); + $url_delete .= '&tab=list_elements&action2=delete'; + $url_delete .= '&id_visual_console='.$visualConsole['id'].'&id_element='.$idLayoutData; } - $table->data[($i + 1)][5] = ''; + $table->data[($i + 1)][5] = '
'; $table->data[($i + 1)][5] .= html_print_checkbox('multiple_delete_items', $idLayoutData, false, true); - $table->data[($i + 1)][5] .= ''.html_print_image('images/delete.svg', true, ['class' => 'main_menu_icon invert_filter']).''; + $table->data[($i + 1)][5] .= ''; + $table->data[($i + 1)][5] .= html_print_image( + 'images/delete.svg', + true, + ['class' => 'main_menu_icon invert_filter'] + ); + $table->data[($i + 1)][5] .= ''; $table->data[($i + 1)][5] .= html_print_input_hidden('updated_'.$idLayoutData, '0', true); $table->data[($i + 1)][5] .= html_print_input_hidden('rowtype_'.$idLayoutData, $layoutData['type'], true); + $table->data[($i + 1)][5] .= '
'; - // Second row + // Second row. $table->data[($i + 2)]['icon'] = ''; - - // Agent + // Agent. switch ($layoutData['type']) { case GROUP_ITEM: $own_info = get_user_info($config['id_user']); - if (!$own_info['is_admin'] && !check_acl($config['id_user'], 0, 'PM')) { + if ((bool) $own_info['is_admin'] === false + && (bool) check_acl($config['id_user'], 0, 'PM') === false + ) { $return_all_group = false; } else { $return_all_group = true; @@ -564,7 +663,12 @@ foreach ($layoutDatas as $layoutData) { '', '', 0, - true + true, + false, + false, + '', + false, + 'width:100%' ); break; @@ -579,24 +683,25 @@ foreach ($layoutDatas as $layoutData) { default: $cell_content_enterprise = false; - if (enterprise_installed()) { + if (enterprise_installed() === true) { $cell_content_enterprise = enterprise_visual_map_print_list_element('agent', $layoutData); } if ($cell_content_enterprise === false) { $params = []; $params['return'] = true; - $params['show_helptip'] = true; + $params['show_helptip'] = false; $params['size'] = 20; $params['input_name'] = 'agent_'.$idLayoutData; $params['javascript_is_function_select'] = true; $params['selectbox_id'] = 'module_'.$idLayoutData; - if (defined('METACONSOLE')) { + if (is_metaconsole() === true) { $params['javascript_ajax_page'] = '../../ajax.php'; $params['disabled_javascript_on_blur_function'] = true; $params['print_input_id_server'] = true; - $params['input_id_server_id'] = $params['input_id_server_name'] = 'id_server_id_'.$idLayoutData; + $params['input_id_server_id'] = 'id_server_id_'.$idLayoutData; + $params['input_id_server_name'] = 'id_server_id_'.$idLayoutData; $params['input_id_server_value'] = $layoutData['id_metaconsole']; $params['metaconsole_enabled'] = true; $params['print_hidden_input_idagent'] = true; @@ -616,7 +721,7 @@ foreach ($layoutDatas as $layoutData) { $params['value'] = db_get_value('alias', 'tagente', 'id_agente', $layoutData['id_agent']); } - if ($layoutData['id_custom_graph'] != 0) { + if ((int) $layoutData['id_custom_graph'] !== 0) { $table->data[($i + 2)][0] = __('Custom graph'); } else { $table->data[($i + 2)][0] = ui_print_agent_autocomplete_input($params); @@ -627,8 +732,7 @@ foreach ($layoutDatas as $layoutData) { break; } - - // Module + // Module. switch ($layoutData['type']) { case ICON: case LABEL: @@ -642,21 +746,21 @@ foreach ($layoutDatas as $layoutData) { default: if ($layoutData['id_layout_linked'] != 0) { - // It is a item that links with other visualmap + // It is a item that links with other visualmap. $table->data[($i + 2)][1] = ''; break; } $cell_content_enterprise = false; - if (enterprise_installed()) { + if (enterprise_installed() === true) { $cell_content_enterprise = enterprise_visual_map_print_list_element('module', $layoutData); } if ($cell_content_enterprise === false) { - if (!defined('METACONSOLE')) { + if (is_metaconsole() === false) { $modules = agents_get_modules($layoutData['id_agent']); } else { - if ($layoutData['id_agent'] != 0) { + if ((int) $layoutData['id_agent'] !== 0) { $server = db_get_row('tmetaconsole_setup', 'id', $layoutData['id_metaconsole']); if (metaconsole_connect($server) == NOERR) { $modules = agents_get_modules($layoutData['id_agent']); @@ -668,7 +772,7 @@ foreach ($layoutDatas as $layoutData) { $modules = io_safe_output($modules); if ($layoutData['id_custom_graph'] != 0) { - if (is_metaconsole()) { + if (is_metaconsole() === true) { $graphs = []; $graphs = metaconsole_get_custom_graphs(true); $table->data[($i + 2)][1] = html_print_select( @@ -678,7 +782,12 @@ foreach ($layoutDatas as $layoutData) { '', __('None'), 0, - true + true, + false, + true, + '', + false, + 'width:100%' ); } else { $table->data[($i + 2)][1] = html_print_select_from_sql( @@ -688,7 +797,11 @@ foreach ($layoutDatas as $layoutData) { '', __('None'), 0, - true + true, + false, + true, + false, + 'width:100%' ); } } else { @@ -704,7 +817,7 @@ foreach ($layoutDatas as $layoutData) { true, '', false, - 'width: 120px' + 'width: 100%' ); } } else { @@ -713,16 +826,17 @@ foreach ($layoutDatas as $layoutData) { break; } - // Empty + // Empty. $table->data[($i + 2)][2] = ''; - // Period + // Period. switch ($layoutData['type']) { case MODULE_GRAPH: case SIMPLE_VALUE_MAX: case SIMPLE_VALUE_MIN: case SIMPLE_VALUE_AVG: - $table->data[($i + 2)][3] = html_print_extended_select_for_time( + $table->data[($i + 2)][3] .= '
'; + $table->data[($i + 2)][3] .= html_print_extended_select_for_time( 'period_'.$idLayoutData, $layoutData['period'], '', @@ -731,6 +845,7 @@ foreach ($layoutDatas as $layoutData) { 10, true ); + $table->data[($i + 2)][3] .= '
'; break; default: @@ -738,7 +853,7 @@ foreach ($layoutDatas as $layoutData) { break; } - // Map linked + // Map linked. switch ($layoutData['type']) { case NETWORK_LINK: case LINE_ITEM: @@ -761,9 +876,8 @@ foreach ($layoutDatas as $layoutData) { true, false, true, - '', false, - 'width: 120px' + 'width:100%' ); break; } diff --git a/pandora_console/godmode/snmpconsole/snmp_alert.php b/pandora_console/godmode/snmpconsole/snmp_alert.php index f2aa2b1890..c0fef7bec0 100755 --- a/pandora_console/godmode/snmpconsole/snmp_alert.php +++ b/pandora_console/godmode/snmpconsole/snmp_alert.php @@ -786,7 +786,7 @@ if ($create_alert || $update_alert) { 2, 2, $custom_value, - 'class="w100p" required="required"', + 'class="w100p"', true ) ); @@ -806,7 +806,7 @@ if ($create_alert || $update_alert) { 255, true, false, - true + false ) ); echo ''; diff --git a/pandora_console/include/ajax/alert_list.ajax.php b/pandora_console/include/ajax/alert_list.ajax.php index 23b8197297..a213541ee7 100644 --- a/pandora_console/include/ajax/alert_list.ajax.php +++ b/pandora_console/include/ajax/alert_list.ajax.php @@ -331,7 +331,7 @@ if ($show_update_action_menu) { false, '', false, - false + true ); $data .= ''; $data .= ''; diff --git a/pandora_console/include/ajax/module.php b/pandora_console/include/ajax/module.php index 86787142d4..37fac4ccac 100755 --- a/pandora_console/include/ajax/module.php +++ b/pandora_console/include/ajax/module.php @@ -1929,13 +1929,13 @@ if (check_login()) { ); } - + // Search module name. if (empty($search) === false) { - $where .= ' AND tagente_modulo.nombre LIKE "%%'.$search.'%%"'; + $where .= ' AND tagente_modulo.nombre LIKE "%%'.io_safe_output($search).'%%"'; } if (empty($search_agent) === false) { - $where .= ' AND tagente.alias LIKE "%%'.$search_agent.'%%"'; + $where .= ' AND tagente.alias LIKE "%%'.io_safe_output($search_agent).'%%"'; } if (str_contains($status, '6') === true) { diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php index c16b039166..20d10f5a60 100644 --- a/pandora_console/include/config_process.php +++ b/pandora_console/include/config_process.php @@ -22,7 +22,7 @@ use DI\ContainerBuilder; /* * Pandora build version and version */ -$build_version = 'PC240418'; +$build_version = 'PC240419'; $pandora_version = 'v7.0NG.776'; // Do not overwrite default timezone set if defined. diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php index e3418a0f48..3da3e2bfba 100644 --- a/pandora_console/include/functions.php +++ b/pandora_console/include/functions.php @@ -4419,7 +4419,18 @@ function generator_chart_to_pdf( $browserFactory = new BrowserFactory($chromium_dir); // Starts headless chrome. - $browser = $browserFactory->createBrowser(['noSandbox' => true]); + $browser = $browserFactory->createBrowser( + [ + 'noSandbox' => true, + 'customFlags' => [ + '--disable-dev-shm-usage', + '--disable-gpu', + '--disable-web-security', + '--font-render-hinting=medium', + ], + 'ignoreCertificateErrors' => true, + ] + ); // Creates a new page. $page = $browser->createPage(); diff --git a/pandora_console/include/functions_visual_map.php b/pandora_console/include/functions_visual_map.php index 9415862686..1fe95ae9a9 100755 --- a/pandora_console/include/functions_visual_map.php +++ b/pandora_console/include/functions_visual_map.php @@ -4177,126 +4177,132 @@ function visual_map_create_internal_name_item( $idData='' ) { $text = ''; + switch ($type) { + case 'box_item': + case BOX_ITEM: + $text = __('Box'); + break; - if (empty($label)) { - switch ($type) { - case 'box_item': - case BOX_ITEM: - $text = __('Box'); - break; + case 'module_graph': + case MODULE_GRAPH: + $text = __('Module graph'); + break; - case 'module_graph': - case MODULE_GRAPH: - $text = __('Module graph'); - break; + case 'clock': + case CLOCK: + $text = __('Clock'); + break; - case 'clock': - case CLOCK: - $text = __('Clock'); - break; + case 'bars_graph': + case BARS_GRAPH: + $text = __('Bars graph'); + break; - case 'bars_graph': - case BARS_GRAPH: - $text = __('Bars graph'); - break; + case 'auto_sla_graph': + case AUTO_SLA_GRAPH: + $text = __('Event history graph'); + break; - case 'auto_sla_graph': - case AUTO_SLA_GRAPH: - $text = __('Event history graph'); - break; + case 'percentile_bar': + case PERCENTILE_BAR: + $text = __('Percentile bar'); + break; - case 'percentile_bar': - case PERCENTILE_BAR: - $text = __('Percentile bar'); - break; + case 'circular_progress_bar': + case CIRCULAR_PROGRESS_BAR: + $text = __('Circular progress bar'); + break; - case 'circular_progress_bar': - case CIRCULAR_PROGRESS_BAR: - $text = __('Circular progress bar'); - break; + case 'interior_circular_progress_bar': + case CIRCULAR_INTERIOR_PROGRESS_BAR: + $text = __('Circular progress bar (interior)'); + break; - case 'interior_circular_progress_bar': - case CIRCULAR_INTERIOR_PROGRESS_BAR: - $text = __('Circular progress bar (interior)'); - break; + case 'static_graph': + case STATIC_GRAPH: + $text = __('Static Image').' - '.$image; + break; - case 'static_graph': - case STATIC_GRAPH: - $text = __('Static Image').' - '.$image; - break; + case 'simple_value': + case SIMPLE_VALUE: + $text = __('Simple Value'); + break; - case 'simple_value': - case SIMPLE_VALUE: - $text = __('Simple Value'); - break; + case 'label': + case LABEL: + $text = __('Label'); + break; - case 'label': - case LABEL: - $text = __('Label'); - break; + case GROUP_ITEM: + case 'group_item': + $text = __('Group').' - '; + break; - case GROUP_ITEM: - case 'group_item': - $text = __('Group').' - '; - break; + case COLOR_CLOUD: + case 'color_cloud': + $text = __('Color cloud').' - '; + break; - case COLOR_CLOUD: - case 'color_cloud': - $text = __('Color cloud').' - '; - break; + case 'icon': + case ICON: + $text = __('Icon').' - '.$image; + break; - case 'icon': - case ICON: - $text = __('Icon').' - '.$image; - break; - } + case BASIC_CHART: + $text = __('Basic chart').' - '.$image; + break; - if (!empty($agent)) { - $text .= ' ('.ui_print_truncate_text($agent, 'agent_small', false); + case ODOMETER: + $text = __('Odometer').' - '.$image; + break; - $moduleName = io_safe_output(db_get_value('nombre', 'tagente_modulo', 'id_agente_modulo', $id_module)); - if (!empty($moduleName)) { - $text .= ' - '.ui_print_truncate_text($moduleName, 'module_small', false); - } - - $text .= ')'; - } - - $text .= ' ('.$idData.')'; - } else { - $text = $label; + default: + $text = __('Not assigned'); + break; } + if (!empty($agent)) { + $text .= ' ('.ui_print_truncate_text($agent, 'agent_small', false); + + $moduleName = io_safe_output(db_get_value('nombre', 'tagente_modulo', 'id_agente_modulo', $id_module)); + if (!empty($moduleName)) { + $text .= ' - '.ui_print_truncate_text($moduleName, 'module_small', false); + } + + $text .= ')'; + } + + $text .= ' ('.$idData.')'; + return io_safe_output($text); } function visual_map_get_items_parents($idVisual) { - // Avoid the sort by 'label' in the query cause oracle cannot sort by columns with CLOB type $items = db_get_all_rows_filter('tlayout_data', ['id_layout' => $idVisual]); - if ($items == false) { - $items = []; - } else { - // Sort by label - sort_by_column($items, 'label'); - } $return = []; foreach ($items as $item) { + if ($item['type'] == LINE_ITEM) { + continue; + } + $agent = null; if ($item['id_agent'] != 0) { $agent = io_safe_output(agents_get_alias($item['id_agent'])); } - $return[$item['id']] = visual_map_create_internal_name_item( - $item['label'], + $text = visual_map_create_internal_name_item( + ($item['type'] != COLOR_CLOUD) ? $item['label'] : null, $item['type'], $item['image'], $agent, $item['id_agente_modulo'], $item['id'] ); + + $return[$item['id']] = $text; } return $return; diff --git a/pandora_console/include/javascript/pandora_events.js b/pandora_console/include/javascript/pandora_events.js index fc8f4dd3dc..fd20082b9c 100644 --- a/pandora_console/include/javascript/pandora_events.js +++ b/pandora_console/include/javascript/pandora_events.js @@ -1345,7 +1345,7 @@ function check_event_sound(settings) { let element_time = $(this) .children(".li-hidden") .val(); - let obj_time = new Date(element_time); + let obj_time = new Date(element_time * 1000); let current_dt = new Date(); let timestamp = current_dt.getTime() - obj_time.getTime(); timestamp = timestamp / 1000; @@ -1427,7 +1427,7 @@ function check_event_sound(settings) { li.insertAdjacentHTML( "beforeend", '' ); $("#tabs-sound-modal .elements-discovered-alerts ul").prepend(li); diff --git a/pandora_console/include/rest-api/models/VisualConsole/Items/Percentile.php b/pandora_console/include/rest-api/models/VisualConsole/Items/Percentile.php index 181ceeb020..0f80ec16ab 100644 --- a/pandora_console/include/rest-api/models/VisualConsole/Items/Percentile.php +++ b/pandora_console/include/rest-api/models/VisualConsole/Items/Percentile.php @@ -601,7 +601,7 @@ final class Percentile extends Item $values = parent::getDefaultGeneralValues($values); // Default values. - if (isset($values['width']) === false) { + if (isset($values['width']) === false || empty($values['width']) === true) { $values['width'] = 100; } diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 8b62a5ecc6..c28d3cc010 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -14250,3 +14250,21 @@ div.tox .tox-editor-header { .select2-multiselect-text-wrap .select2-selection__choice__remove { flex-basis: 0% !important; } + +table.filter-table-adv td > div.row-flex { + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +table.filter-table-adv td > div.row-flex.flex-end { + justify-content: flex-end; +} + +table.filter-table-adv td > div.row-flex label.custom_checkbox { + margin: 0px; +} + +table.filter-table-adv td > div.row-flex input { + width: 100%; +} diff --git a/pandora_console/include/visual-console-client/vc.main.css b/pandora_console/include/visual-console-client/vc.main.css index e90f4b5903..27f64fda50 100644 --- a/pandora_console/include/visual-console-client/vc.main.css +++ b/pandora_console/include/visual-console-client/vc.main.css @@ -12,7 +12,11 @@ } .is-maintenance :nth-child(1) { - display: none; + display: none !important; +} + +.is-maintenance .vc-item-nl-arrow { + display: none !important; } .visual-console-item { diff --git a/pandora_console/include/visual-console-client/vc.main.css.map b/pandora_console/include/visual-console-client/vc.main.css.map index e4b53f9baa..65006d1cb9 100644 --- a/pandora_console/include/visual-console-client/vc.main.css.map +++ b/pandora_console/include/visual-console-client/vc.main.css.map @@ -1 +1 @@ -{"version":3,"file":"vc.main.css","mappings":"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","sources":["webpack://pandora-fms-visual-console/./src/main.css","webpack://pandora-fms-visual-console/./src/lib/FontAwesomeIcon.styles.css","webpack://pandora-fms-visual-console/./src/lib/autocomplete.css","webpack://pandora-fms-visual-console/./src/items/Clock/styles.css"],"sourcesContent":["#visual-console-container {\n margin: 0px auto;\n position: relative;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n background-position: center;\n margin-top: 5px;\n}\n\n.is-maintenance {\n background-image: url(./lib/maintenanceMode.png) !important;\n}\n\n.is-maintenance :nth-child(1) {\n display: none;\n}\n\n.visual-console-item {\n position: absolute;\n display: flex;\n flex-direction: initial;\n justify-items: center;\n align-items: center;\n user-select: text;\n z-index: 1;\n}\n\n.visual-console-item.is-on-top {\n z-index: 2;\n}\n\n.visual-console-item * {\n overflow: visible;\n font-family: inherit;\n line-height: inherit;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\n.visual-console-item.is-editing {\n border: 2px dashed #b2b2b2;\n transform: translateX(-2px) translateY(-2px);\n user-select: none;\n}\n\n.visual-console-item.is-editing:hover {\n border-color: #2b2b2b;\n}\n\n.visual-console-item.is-editing.is-selected {\n border: 2px dashed #82b92e;\n cursor: move;\n z-index: 10;\n}\n.visual-console-item.is-editing > .resize-draggable {\n float: right;\n position: absolute;\n right: 0;\n bottom: 0;\n width: 15px;\n height: 15px;\n background: url(./resize-handle.svg);\n cursor: se-resize;\n z-index: 10;\n}\n\n.visual-console-item.is-editing :first-child {\n pointer-events: none;\n}\n\n@keyframes spinner-loading {\n 0% {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(1turn);\n }\n}\n\n.visual-console-item.is-alert-triggered {\n border: 3px solid #f36201;\n}\n\n.visual-console-spinner {\n background-color: transparent;\n margin: 0px auto;\n border-top: 5px solid rgb(82, 85, 87);\n border-right: 5px solid rgb(82, 85, 87);\n border-bottom: 5px solid rgb(82, 85, 87);\n border-left: 5px solid rgba(82, 85, 87, 0.2);\n\n animation-name: spinner-loading;\n animation-duration: 0.8s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n\n.visual-console-spinner,\n.visual-console-spinner :after {\n display: block;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n}\n\n.visual-console-spinner.small,\n.visual-console-spinner.small :after {\n width: 12px;\n height: 12px;\n}\n\n.div-visual-console-spinner {\n position: absolute;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n opacity: 0.7;\n background: rgb(212, 215, 218);\n z-index: 10;\n}\n\n.show-elements {\n display: inline-block;\n}\n\n.hide-elements {\n display: none;\n}\n\n/*Forms*/\n.div-input-group label {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n font-size: 12pt;\n font-weight: 600;\n color: #343434;\n margin-right: 10px;\n}\n.div-input-group label img {\n margin-left: 4px;\n}\n\n.div-input-group input[type=\"text\"],\n.div-input-group input[type=\"number\"] {\n height: 25px;\n font-size: 10pt;\n background-color: transparent;\n border: none;\n border-radius: 0;\n border-bottom: 1px solid #ccc;\n font-weight: lighter;\n padding: 0px 0px 2px 0px;\n box-sizing: border-box;\n margin-right: 10px;\n padding-left: 2px;\n}\n\n.div-input-group input[type=\"radio\"] {\n margin-right: 10px;\n width: 17px;\n height: 17px;\n}\n\n.div-input-group select {\n font-weight: lighter;\n font-size: 10pt;\n}\n\n.input-groups {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n}\n\n.input-group {\n width: 100%;\n margin-bottom: 25px;\n padding-left: 20px;\n}\n\n.div-ranges-input-group {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n.div-ranges-input-group > div {\n padding-left: 20px;\n margin-top: 10px;\n}\n\n.div-input-group,\n.div-input-group div div {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.div-input-group h3 {\n text-transform: initial;\n text-align: center;\n font-style: italic;\n text-decoration: underline;\n margin: 0 auto;\n}\n\n.div-input-group div div a {\n margin-left: 10px;\n}\n\n.div-input-group-autocomplete-agent {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: space-between;\n height: 70px;\n}\n\n.div-input-group-inside {\n padding-left: 20px;\n}\n\n.input-group-link-console {\n height: 70px;\n}\n\n.show-elements > div.div-input-group-autocomplete-agent {\n margin-left: 20px;\n}\n\n.img-vc-elements {\n margin-left: 10px;\n}\n\ninput.error-input-validate[type=\"number\"],\ninput.error-input-validate[type=\"text\"],\nselect.error-input-validate {\n border: 1px solid #c00;\n}\n\nselect.error-input-validate:focus {\n outline-color: #c00;\n}\n\np.error-p-validate {\n width: 100%;\n color: #c00;\n}\n\n#modalVCItemForm #textarea_label_ifr {\n background-color: #c9cfcd;\n}\n\n/* Styles for the solid icons */\n\n.fa {\n display: inline-block;\n margin: 0;\n}\n\n.fa,\n.fa > svg,\n.fa.medium,\n.fa.medium > svg {\n width: 28px;\n height: 28px;\n}\n\n.fa.fa-small,\n.fa.fa-small > svg {\n width: 14px;\n height: 14px;\n}\n\n.fa.fa-large,\n.fa.fa-large > svg {\n width: 44px;\n height: 44px;\n}\n\n.fa-spin {\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n animation: fa-spin 1s infinite steps(8);\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.autocomplete {\n /*the container must be positioned relative:*/\n position: relative;\n display: inline-block;\n}\n.autocomplete input {\n /*background: pink;*/\n}\n.autocomplete-items {\n border: 1px solid #d4d4d4;\n border-bottom: none;\n border-top: none;\n /*position the autocomplete items to be the same width as the container:*/\n position: absolute;\n z-index: 1;\n overflow: auto;\n max-height: 150px;\n max-width: 250px;\n}\n.autocomplete-items div {\n width: 100%;\n padding: 10px;\n cursor: pointer;\n background-color: #fff;\n border-bottom: 1px solid #d4d4d4;\n border-top: 1px solid #d4d4d4;\n}\n.autocomplete-items div:hover {\n width: 100%;\n background-color: #e9e9e9;\n}\n.autocomplete-active {\n /*when navigating through the items using the arrow keys:*/\n background-color: DodgerBlue !important;\n color: #ffffff;\n}\n\n/* Digital clock */\n\n.visual-console-item .digital-clock {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n flex-direction: column;\n justify-content: center;\n justify-items: center;\n align-content: center;\n align-items: center;\n}\n\n.visual-console-item .digital-clock > span {\n /* To improve legibility */\n text-rendering: optimizeLegibility;\n text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;\n}\n\n.visual-console-item .digital-clock > span.time {\n font-size: 50px;\n}\n\n.visual-console-item .digital-clock > span.date {\n font-size: 25px;\n}\n\n.visual-console-item .digital-clock > span.timezone {\n font-size: 25px;\n}\n\n/* Analog clock */\n\n.visual-console-item .analogic-clock {\n text-align: center;\n}\n\n.visual-console-item .analogic-clock .hour-hand {\n animation: rotate-hour 43200s infinite linear;\n}\n\n.visual-console-item .analogic-clock .minute-hand {\n animation: rotate-minute 3600s infinite linear;\n}\n\n.visual-console-item .analogic-clock .second-hand {\n animation: rotate-second 60s infinite linear;\n}\n\n#html-tabs .ui-widget-header {\n background-color: #ffffff;\n border: 0px;\n}\n\n#html-tabs .ui-tabs-anchor {\n float: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n\n#html-tabs .ui-tabs-anchor img {\n margin-right: 10px;\n}\n\n#html-tabs .ui-tabs-nav li {\n border-radius: 5px 5px 0px 0px;\n}\n\nli.interval-color-ranges > label,\nli#li-default-ranges > label {\n margin-right: 15px;\n}\n\nli.interval-color-ranges > input[type=\"number\"],\nli#li-default-ranges > input[type=\"number\"] {\n width: 80px;\n}\n\nli.interval-color-ranges > label:not(:first-child),\nli#li-default-ranges > label:not(:first-child),\nli#li-size-item > label:not(:first-child),\nli#li-position-item > label:not(:first-child) {\n width: initial;\n margin-left: 15px;\n}\n\nli#li-image-item label {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n\nli#li-image-item label img {\n flex: initial;\n}\n\n.discovery.modal * {\n font-weight: normal;\n color: #343434;\n}\n\n.discovery.modal .tox-tinymce * {\n color: var(--text-color);\n}\n\n.discovery.modal select {\n width: 100px;\n}\n\n.discovery.modal div#period_manual select,\n.discovery.modal div#period_manual input,\n.discovery.modal div#period_default select,\n.discovery.modal div#cacheExpiration_manual select,\n.discovery.modal div#cacheExpiration_manual input,\n.discovery.modal div#cacheExpiration_default select {\n font-size: inherit !important;\n}\n.discovery.modal div#period_default select#period_select,\n.discovery.modal div#cacheExpiration_default select#cacheExpiration_select {\n max-width: 230px;\n width: inherit;\n}\n\nli#li-timeZone-item > label:not(:first-child),\n.discovery.modal li#div-textarea-label > label {\n flex: inherit;\n}\n\nli#li-timeZone-item > select:not(:first-child) {\n margin-left: 10px;\n}\n\n.discovery.modal li#div-textarea-label table tbody td.mceIframeContainer {\n background-color: #ededed;\n}\n\n/*style item group show statistic*/\n.group-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n.group-container .group-item-title {\n width: 100%;\n height: 30%;\n background-color: #9d9ea0;\n color: black;\n font-weight: bold;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.group-container .group-item-info {\n width: 100%;\n height: 70%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n padding: 2%;\n align-items: center;\n}\n\n.group-container .group-item-info .group-item-info-container {\n flex: 1 1 20%;\n display: flex;\n flex-direction: row;\n border-radius: 2px;\n max-height: 50px;\n min-height: 35px;\n margin: 1%;\n}\n\n.group-container .group-item-info .group-item-info-container .value-style {\n flex: 1;\n color: #fff;\n font-size: 100%;\n padding: 0%;\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n\n.group-container .group-item-info .group-item-info-container .name-style {\n flex: 1;\n background-color: white;\n color: black;\n font-size: 100%;\n padding: 0%;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n\ndiv.label,\ndiv.simple-value {\n min-width: fit-content;\n min-height: fit-content;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\ndiv.simple-value > div {\n max-height: -webkit-fill-available;\n}\n\ndiv.module-graph .parent_graph p table tr {\n height: 25px;\n}\n\ndiv.module-graph {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n}\n\ndiv.basic-chart {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-end;\n justify-content: center;\n}\n\n.basic-chart-header {\n height: 40%;\n width: 100%;\n display: flex;\n}\n\n.basic-chart-header-name {\n margin: 0;\n padding: 0;\n height: 100%;\n width: 80%;\n display: flex;\n align-items: center;\n font-size: 2.5vmin;\n margin-left: 3%;\n}\n\n.basic-chart-header-value {\n margin: 0;\n padding: 0;\n height: 100%;\n width: 20%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 2.5vmin;\n}\n\ndiv.module-graph .gauge_d3_class {\n flex: 1 1 100px;\n float: none !important;\n overflow: inherit !important;\n text-align: center;\n}\n\n.textDecorationNone:hover {\n text-decoration: none;\n}\n\n.vc-item-nl-label {\n border-radius: 5px;\n background-color: #fff;\n padding: 5px;\n padding-left: 1em;\n font-size: 14px;\n}\n\n.odometer {\n overflow: hidden !important;\n}\n\n.odometer-container {\n width: 100%;\n height: 100%;\n overflow: hidden;\n text-align: center;\n display: flex;\n align-items: flex-end;\n}\n\n.odometer-a {\n z-index: 5;\n position: absolute;\n width: 65%;\n height: 65%;\n left: calc(17.5%);\n border-radius: 1000px 1000px 0px 0px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-direction: column;\n line-height: 0px;\n}\n\n.odometer-b {\n z-index: 4;\n position: relative;\n width: 95%;\n height: 95%;\n border-radius: 0px 0px 1000px 1000px;\n transform-origin: center top;\n transition: all 1.3s ease-in-out;\n top: calc(95%);\n left: calc(2.5%);\n}\n\n.odometer-c {\n z-index: 3;\n position: absolute;\n width: 96%;\n height: 96%;\n left: calc(2%);\n background-color: #202226;\n margin-left: auto;\n margin-right: auto;\n border-radius: 1000px 1000px 0px 0px;\n transform-origin: center top;\n transition: all 1.3s ease-in-out;\n}\n\n.odometer-d {\n z-index: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: #82b92e;\n margin-left: auto;\n margin-right: auto;\n border-radius: 1000px 1000px 0px 0px;\n transform-origin: center top;\n transition: all 1.3s ease-in-out;\n}\n\n.gauge-data {\n z-index: 4;\n color: #fff;\n font-size: 1.5em;\n width: 100%;\n height: 100%;\n transition: all 1s ease-out;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: flex-end;\n}\n\n.svg_warning {\n fill: #f3b200;\n}\n\n.svg_warning_hide {\n fill: #fff !important;\n}\n\n.gauge-data #percent {\n color: #000;\n}\n\n.orange_background {\n background: #ffa631;\n}\n.red_background {\n background: #e63c52;\n}\n.yellow_background {\n background: #f3b200;\n}\n.grey_background {\n background: #b2b2b2;\n}\n.blue_background {\n background: #4a83f3;\n}\n.green_background {\n background: #82b92e;\n}\n\n#box-rectangle-selection {\n position: absolute;\n width: 0px;\n height: 0px;\n border: 2px solid #002f33;\n}\n\np {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\nstrong {\n font-size: inherit;\n}\n","/* Styles for the solid icons */\n\n.fa {\n display: inline-block;\n margin: 0;\n}\n\n.fa,\n.fa > svg,\n.fa.medium,\n.fa.medium > svg {\n width: 28px;\n height: 28px;\n}\n\n.fa.fa-small,\n.fa.fa-small > svg {\n width: 14px;\n height: 14px;\n}\n\n.fa.fa-large,\n.fa.fa-large > svg {\n width: 44px;\n height: 44px;\n}\n\n.fa-spin {\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n animation: fa-spin 1s infinite steps(8);\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n",".autocomplete {\n /*the container must be positioned relative:*/\n position: relative;\n display: inline-block;\n}\n.autocomplete input {\n /*background: pink;*/\n}\n.autocomplete-items {\n border: 1px solid #d4d4d4;\n border-bottom: none;\n border-top: none;\n /*position the autocomplete items to be the same width as the container:*/\n position: absolute;\n z-index: 1;\n overflow: auto;\n max-height: 150px;\n max-width: 250px;\n}\n.autocomplete-items div {\n width: 100%;\n padding: 10px;\n cursor: pointer;\n background-color: #fff;\n border-bottom: 1px solid #d4d4d4;\n border-top: 1px solid #d4d4d4;\n}\n.autocomplete-items div:hover {\n width: 100%;\n background-color: #e9e9e9;\n}\n.autocomplete-active {\n /*when navigating through the items using the arrow keys:*/\n background-color: DodgerBlue !important;\n color: #ffffff;\n}\n","/* Digital clock */\n\n.visual-console-item .digital-clock {\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n justify-items: center;\n align-content: center;\n align-items: center;\n}\n\n.visual-console-item .digital-clock > span {\n /* To improve legibility */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;\n}\n\n.visual-console-item .digital-clock > span.time {\n font-size: 50px;\n}\n\n.visual-console-item .digital-clock > span.date {\n font-size: 25px;\n}\n\n.visual-console-item .digital-clock > span.timezone {\n font-size: 25px;\n}\n\n/* Analog clock */\n\n.visual-console-item .analogic-clock {\n text-align: center;\n}\n\n.visual-console-item .analogic-clock .hour-hand {\n animation: rotate-hour 43200s infinite linear;\n}\n\n.visual-console-item .analogic-clock .minute-hand {\n animation: rotate-minute 3600s infinite linear;\n}\n\n.visual-console-item .analogic-clock .second-hand {\n animation: rotate-second 60s infinite linear;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"vc.main.css","mappings":"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","sources":["webpack://pandora-fms-visual-console/./src/main.css","webpack://pandora-fms-visual-console/./src/lib/FontAwesomeIcon.styles.css","webpack://pandora-fms-visual-console/./src/lib/autocomplete.css","webpack://pandora-fms-visual-console/./src/items/Clock/styles.css"],"sourcesContent":["#visual-console-container {\n margin: 0px auto;\n position: relative;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n background-position: center;\n margin-top: 5px;\n}\n\n.is-maintenance {\n background-image: url(./lib/maintenanceMode.png) !important;\n}\n\n.is-maintenance :nth-child(1) {\n display: none !important;\n}\n\n.is-maintenance .vc-item-nl-arrow {\n display: none !important;\n}\n\n.visual-console-item {\n position: absolute;\n display: flex;\n flex-direction: initial;\n justify-items: center;\n align-items: center;\n user-select: text;\n z-index: 1;\n}\n\n.visual-console-item.is-on-top {\n z-index: 2;\n}\n\n.visual-console-item * {\n overflow: visible;\n font-family: inherit;\n line-height: inherit;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\n.visual-console-item.is-editing {\n border: 2px dashed #b2b2b2;\n transform: translateX(-2px) translateY(-2px);\n user-select: none;\n}\n\n.visual-console-item.is-editing:hover {\n border-color: #2b2b2b;\n}\n\n.visual-console-item.is-editing.is-selected {\n border: 2px dashed #82b92e;\n cursor: move;\n z-index: 10;\n}\n.visual-console-item.is-editing > .resize-draggable {\n float: right;\n position: absolute;\n right: 0;\n bottom: 0;\n width: 15px;\n height: 15px;\n background: url(./resize-handle.svg);\n cursor: se-resize;\n z-index: 10;\n}\n\n.visual-console-item.is-editing :first-child {\n pointer-events: none;\n}\n\n@keyframes spinner-loading {\n 0% {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(1turn);\n }\n}\n\n.visual-console-item.is-alert-triggered {\n border: 3px solid #f36201;\n}\n\n.visual-console-spinner {\n background-color: transparent;\n margin: 0px auto;\n border-top: 5px solid rgb(82, 85, 87);\n border-right: 5px solid rgb(82, 85, 87);\n border-bottom: 5px solid rgb(82, 85, 87);\n border-left: 5px solid rgba(82, 85, 87, 0.2);\n\n animation-name: spinner-loading;\n animation-duration: 0.8s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n\n.visual-console-spinner,\n.visual-console-spinner :after {\n display: block;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n}\n\n.visual-console-spinner.small,\n.visual-console-spinner.small :after {\n width: 12px;\n height: 12px;\n}\n\n.div-visual-console-spinner {\n position: absolute;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n opacity: 0.7;\n background: rgb(212, 215, 218);\n z-index: 10;\n}\n\n.show-elements {\n display: inline-block;\n}\n\n.hide-elements {\n display: none;\n}\n\n/*Forms*/\n.div-input-group label {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n font-size: 12pt;\n font-weight: 600;\n color: #343434;\n margin-right: 10px;\n}\n.div-input-group label img {\n margin-left: 4px;\n}\n\n.div-input-group input[type=\"text\"],\n.div-input-group input[type=\"number\"] {\n height: 25px;\n font-size: 10pt;\n background-color: transparent;\n border: none;\n border-radius: 0;\n border-bottom: 1px solid #ccc;\n font-weight: lighter;\n padding: 0px 0px 2px 0px;\n box-sizing: border-box;\n margin-right: 10px;\n padding-left: 2px;\n}\n\n.div-input-group input[type=\"radio\"] {\n margin-right: 10px;\n width: 17px;\n height: 17px;\n}\n\n.div-input-group select {\n font-weight: lighter;\n font-size: 10pt;\n}\n\n.input-groups {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n}\n\n.input-group {\n width: 100%;\n margin-bottom: 25px;\n padding-left: 20px;\n}\n\n.div-ranges-input-group {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n.div-ranges-input-group > div {\n padding-left: 20px;\n margin-top: 10px;\n}\n\n.div-input-group,\n.div-input-group div div {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.div-input-group h3 {\n text-transform: initial;\n text-align: center;\n font-style: italic;\n text-decoration: underline;\n margin: 0 auto;\n}\n\n.div-input-group div div a {\n margin-left: 10px;\n}\n\n.div-input-group-autocomplete-agent {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: space-between;\n height: 70px;\n}\n\n.div-input-group-inside {\n padding-left: 20px;\n}\n\n.input-group-link-console {\n height: 70px;\n}\n\n.show-elements > div.div-input-group-autocomplete-agent {\n margin-left: 20px;\n}\n\n.img-vc-elements {\n margin-left: 10px;\n}\n\ninput.error-input-validate[type=\"number\"],\ninput.error-input-validate[type=\"text\"],\nselect.error-input-validate {\n border: 1px solid #c00;\n}\n\nselect.error-input-validate:focus {\n outline-color: #c00;\n}\n\np.error-p-validate {\n width: 100%;\n color: #c00;\n}\n\n#modalVCItemForm #textarea_label_ifr {\n background-color: #c9cfcd;\n}\n\n/* Styles for the solid icons */\n\n.fa {\n display: inline-block;\n margin: 0;\n}\n\n.fa,\n.fa > svg,\n.fa.medium,\n.fa.medium > svg {\n width: 28px;\n height: 28px;\n}\n\n.fa.fa-small,\n.fa.fa-small > svg {\n width: 14px;\n height: 14px;\n}\n\n.fa.fa-large,\n.fa.fa-large > svg {\n width: 44px;\n height: 44px;\n}\n\n.fa-spin {\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n animation: fa-spin 1s infinite steps(8);\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.autocomplete {\n /*the container must be positioned relative:*/\n position: relative;\n display: inline-block;\n}\n.autocomplete input {\n /*background: pink;*/\n}\n.autocomplete-items {\n border: 1px solid #d4d4d4;\n border-bottom: none;\n border-top: none;\n /*position the autocomplete items to be the same width as the container:*/\n position: absolute;\n z-index: 1;\n overflow: auto;\n max-height: 150px;\n max-width: 250px;\n}\n.autocomplete-items div {\n width: 100%;\n padding: 10px;\n cursor: pointer;\n background-color: #fff;\n border-bottom: 1px solid #d4d4d4;\n border-top: 1px solid #d4d4d4;\n}\n.autocomplete-items div:hover {\n width: 100%;\n background-color: #e9e9e9;\n}\n.autocomplete-active {\n /*when navigating through the items using the arrow keys:*/\n background-color: DodgerBlue !important;\n color: #ffffff;\n}\n\n/* Digital clock */\n\n.visual-console-item .digital-clock {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n flex-direction: column;\n justify-content: center;\n justify-items: center;\n align-content: center;\n align-items: center;\n}\n\n.visual-console-item .digital-clock > span {\n /* To improve legibility */\n text-rendering: optimizeLegibility;\n text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;\n}\n\n.visual-console-item .digital-clock > span.time {\n font-size: 50px;\n}\n\n.visual-console-item .digital-clock > span.date {\n font-size: 25px;\n}\n\n.visual-console-item .digital-clock > span.timezone {\n font-size: 25px;\n}\n\n/* Analog clock */\n\n.visual-console-item .analogic-clock {\n text-align: center;\n}\n\n.visual-console-item .analogic-clock .hour-hand {\n animation: rotate-hour 43200s infinite linear;\n}\n\n.visual-console-item .analogic-clock .minute-hand {\n animation: rotate-minute 3600s infinite linear;\n}\n\n.visual-console-item .analogic-clock .second-hand {\n animation: rotate-second 60s infinite linear;\n}\n\n#html-tabs .ui-widget-header {\n background-color: #ffffff;\n border: 0px;\n}\n\n#html-tabs .ui-tabs-anchor {\n float: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n\n#html-tabs .ui-tabs-anchor img {\n margin-right: 10px;\n}\n\n#html-tabs .ui-tabs-nav li {\n border-radius: 5px 5px 0px 0px;\n}\n\nli.interval-color-ranges > label,\nli#li-default-ranges > label {\n margin-right: 15px;\n}\n\nli.interval-color-ranges > input[type=\"number\"],\nli#li-default-ranges > input[type=\"number\"] {\n width: 80px;\n}\n\nli.interval-color-ranges > label:not(:first-child),\nli#li-default-ranges > label:not(:first-child),\nli#li-size-item > label:not(:first-child),\nli#li-position-item > label:not(:first-child) {\n width: initial;\n margin-left: 15px;\n}\n\nli#li-image-item label {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n\nli#li-image-item label img {\n flex: initial;\n}\n\n.discovery.modal * {\n font-weight: normal;\n color: #343434;\n}\n\n.discovery.modal .tox-tinymce * {\n color: var(--text-color);\n}\n\n.discovery.modal select {\n width: 100px;\n}\n\n.discovery.modal div#period_manual select,\n.discovery.modal div#period_manual input,\n.discovery.modal div#period_default select,\n.discovery.modal div#cacheExpiration_manual select,\n.discovery.modal div#cacheExpiration_manual input,\n.discovery.modal div#cacheExpiration_default select {\n font-size: inherit !important;\n}\n.discovery.modal div#period_default select#period_select,\n.discovery.modal div#cacheExpiration_default select#cacheExpiration_select {\n max-width: 230px;\n width: inherit;\n}\n\nli#li-timeZone-item > label:not(:first-child),\n.discovery.modal li#div-textarea-label > label {\n flex: inherit;\n}\n\nli#li-timeZone-item > select:not(:first-child) {\n margin-left: 10px;\n}\n\n.discovery.modal li#div-textarea-label table tbody td.mceIframeContainer {\n background-color: #ededed;\n}\n\n/*style item group show statistic*/\n.group-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n.group-container .group-item-title {\n width: 100%;\n height: 30%;\n background-color: #9d9ea0;\n color: black;\n font-weight: bold;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.group-container .group-item-info {\n width: 100%;\n height: 70%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n padding: 2%;\n align-items: center;\n}\n\n.group-container .group-item-info .group-item-info-container {\n flex: 1 1 20%;\n display: flex;\n flex-direction: row;\n border-radius: 2px;\n max-height: 50px;\n min-height: 35px;\n margin: 1%;\n}\n\n.group-container .group-item-info .group-item-info-container .value-style {\n flex: 1;\n color: #fff;\n font-size: 100%;\n padding: 0%;\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n\n.group-container .group-item-info .group-item-info-container .name-style {\n flex: 1;\n background-color: white;\n color: black;\n font-size: 100%;\n padding: 0%;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n\ndiv.label,\ndiv.simple-value {\n min-width: fit-content;\n min-height: fit-content;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\ndiv.simple-value > div {\n max-height: -webkit-fill-available;\n}\n\ndiv.module-graph .parent_graph p table tr {\n height: 25px;\n}\n\ndiv.module-graph {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n}\n\ndiv.basic-chart {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-end;\n justify-content: center;\n}\n\n.basic-chart-header {\n height: 40%;\n width: 100%;\n display: flex;\n}\n\n.basic-chart-header-name {\n margin: 0;\n padding: 0;\n height: 100%;\n width: 80%;\n display: flex;\n align-items: center;\n font-size: 2.5vmin;\n margin-left: 3%;\n}\n\n.basic-chart-header-value {\n margin: 0;\n padding: 0;\n height: 100%;\n width: 20%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 2.5vmin;\n}\n\ndiv.module-graph .gauge_d3_class {\n flex: 1 1 100px;\n float: none !important;\n overflow: inherit !important;\n text-align: center;\n}\n\n.textDecorationNone:hover {\n text-decoration: none;\n}\n\n.vc-item-nl-label {\n border-radius: 5px;\n background-color: #fff;\n padding: 5px;\n padding-left: 1em;\n font-size: 14px;\n}\n\n.odometer {\n overflow: hidden !important;\n}\n\n.odometer-container {\n width: 100%;\n height: 100%;\n overflow: hidden;\n text-align: center;\n display: flex;\n align-items: flex-end;\n}\n\n.odometer-a {\n z-index: 5;\n position: absolute;\n width: 65%;\n height: 65%;\n left: calc(17.5%);\n border-radius: 1000px 1000px 0px 0px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-direction: column;\n line-height: 0px;\n}\n\n.odometer-b {\n z-index: 4;\n position: relative;\n width: 95%;\n height: 95%;\n border-radius: 0px 0px 1000px 1000px;\n transform-origin: center top;\n transition: all 1.3s ease-in-out;\n top: calc(95%);\n left: calc(2.5%);\n}\n\n.odometer-c {\n z-index: 3;\n position: absolute;\n width: 96%;\n height: 96%;\n left: calc(2%);\n background-color: #202226;\n margin-left: auto;\n margin-right: auto;\n border-radius: 1000px 1000px 0px 0px;\n transform-origin: center top;\n transition: all 1.3s ease-in-out;\n}\n\n.odometer-d {\n z-index: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: #82b92e;\n margin-left: auto;\n margin-right: auto;\n border-radius: 1000px 1000px 0px 0px;\n transform-origin: center top;\n transition: all 1.3s ease-in-out;\n}\n\n.gauge-data {\n z-index: 4;\n color: #fff;\n font-size: 1.5em;\n width: 100%;\n height: 100%;\n transition: all 1s ease-out;\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: flex-end;\n}\n\n.svg_warning {\n fill: #f3b200;\n}\n\n.svg_warning_hide {\n fill: #fff !important;\n}\n\n.gauge-data #percent {\n color: #000;\n}\n\n.orange_background {\n background: #ffa631;\n}\n.red_background {\n background: #e63c52;\n}\n.yellow_background {\n background: #f3b200;\n}\n.grey_background {\n background: #b2b2b2;\n}\n.blue_background {\n background: #4a83f3;\n}\n.green_background {\n background: #82b92e;\n}\n\n#box-rectangle-selection {\n position: absolute;\n width: 0px;\n height: 0px;\n border: 2px solid #002f33;\n}\n\np {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\nstrong {\n font-size: inherit;\n}\n","/* Styles for the solid icons */\n\n.fa {\n display: inline-block;\n margin: 0;\n}\n\n.fa,\n.fa > svg,\n.fa.medium,\n.fa.medium > svg {\n width: 28px;\n height: 28px;\n}\n\n.fa.fa-small,\n.fa.fa-small > svg {\n width: 14px;\n height: 14px;\n}\n\n.fa.fa-large,\n.fa.fa-large > svg {\n width: 44px;\n height: 44px;\n}\n\n.fa-spin {\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n animation: fa-spin 1s infinite steps(8);\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n",".autocomplete {\n /*the container must be positioned relative:*/\n position: relative;\n display: inline-block;\n}\n.autocomplete input {\n /*background: pink;*/\n}\n.autocomplete-items {\n border: 1px solid #d4d4d4;\n border-bottom: none;\n border-top: none;\n /*position the autocomplete items to be the same width as the container:*/\n position: absolute;\n z-index: 1;\n overflow: auto;\n max-height: 150px;\n max-width: 250px;\n}\n.autocomplete-items div {\n width: 100%;\n padding: 10px;\n cursor: pointer;\n background-color: #fff;\n border-bottom: 1px solid #d4d4d4;\n border-top: 1px solid #d4d4d4;\n}\n.autocomplete-items div:hover {\n width: 100%;\n background-color: #e9e9e9;\n}\n.autocomplete-active {\n /*when navigating through the items using the arrow keys:*/\n background-color: DodgerBlue !important;\n color: #ffffff;\n}\n","/* Digital clock */\n\n.visual-console-item .digital-clock {\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n justify-items: center;\n align-content: center;\n align-items: center;\n}\n\n.visual-console-item .digital-clock > span {\n /* To improve legibility */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;\n}\n\n.visual-console-item .digital-clock > span.time {\n font-size: 50px;\n}\n\n.visual-console-item .digital-clock > span.date {\n font-size: 25px;\n}\n\n.visual-console-item .digital-clock > span.timezone {\n font-size: 25px;\n}\n\n/* Analog clock */\n\n.visual-console-item .analogic-clock {\n text-align: center;\n}\n\n.visual-console-item .analogic-clock .hour-hand {\n animation: rotate-hour 43200s infinite linear;\n}\n\n.visual-console-item .analogic-clock .minute-hand {\n animation: rotate-minute 3600s infinite linear;\n}\n\n.visual-console-item .analogic-clock .second-hand {\n animation: rotate-second 60s infinite linear;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/pandora_console/install.php b/pandora_console/install.php index dd413b6abe..8f1262be97 100644 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -131,7 +131,7 @@
head[0] .= '   '.html_print_image( - 'images/op_inventory.menu.png', + 'images/op_inventory.png', true, [ 'alt' => __('Diff view'), diff --git a/pandora_console/operation/agentes/graphs.php b/pandora_console/operation/agentes/graphs.php index ace92311f0..e9a6382dcc 100644 --- a/pandora_console/operation/agentes/graphs.php +++ b/pandora_console/operation/agentes/graphs.php @@ -31,7 +31,9 @@ global $config; require_once 'include/functions_agents.php'; require_once 'include/functions_custom_graphs.php'; -ui_require_javascript_file('calendar'); +ui_require_css_file('datepicker'); +ui_include_time_picker(); +ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/'); if ((bool) check_acl($config['id_user'], $id_grupo, 'AR') === false && (bool) check_acl($config['id_user'], 0, 'AW') === false) { db_pandora_audit( @@ -223,13 +225,6 @@ $table->data[0][1] = html_print_label_input_block( 10, 40, true - ).html_print_image( - 'images/calendar_view_day.png', - true, - [ - 'class' => 'invert_filter', - 'onclick' => "scwShow(scwID('text-start_date'),this);", - ] ).'
' ); @@ -472,6 +467,14 @@ echo ''; // Load graphs $(document).ready(function() { + $('#text-start_date').datepicker ({ + dateFormat: 'yy-mm-dd', + changeMonth: true, + changeYear: true, + showAnim: 'slideDown', + firstDay: "", + }); + $('#combined').change(function() { if ($('#combined').val() == 1) { $('#option_type').empty(); diff --git a/pandora_console/operation/events/sound_events.php b/pandora_console/operation/events/sound_events.php index 6511afb7f5..42ff6af0cb 100644 --- a/pandora_console/operation/events/sound_events.php +++ b/pandora_console/operation/events/sound_events.php @@ -437,7 +437,7 @@ function check_event_sound() { let element_time = $(this) .children(".li-hidden") .val(); - let obj_time = new Date(element_time); + let obj_time = new Date(element_time * 1000); let current_dt = new Date(); let timestamp = current_dt.getTime() - obj_time.getTime(); timestamp = timestamp / 1000; @@ -492,13 +492,13 @@ function check_event_sound() { // Remove audio. remove_audio(); var urlSound = '../../include/sounds/'+$('#sound_id :selected').val(); - console.log(urlSound) + // Apend audio. add_audio(urlSound); // Add elements. data.forEach(function(element) { - console.log(element); + var li = document.createElement("li"); var b64 = btoa(JSON.stringify(element)); li.insertAdjacentHTML( @@ -519,7 +519,7 @@ function check_event_sound() { ); li.insertAdjacentHTML( "beforeend", - '' + '' ); $("#tabs-sound-modal .elements-discovered-alerts ul").prepend(li); }); diff --git a/pandora_console/pandora_console.redhat.spec b/pandora_console/pandora_console.redhat.spec index aca77d26e9..6162f824a5 100644 --- a/pandora_console/pandora_console.redhat.spec +++ b/pandora_console/pandora_console.redhat.spec @@ -6,7 +6,7 @@ %define debug_package %{nil} %define name pandorafms_console %define version 7.0NG.776 -%define release 240418 +%define release 240419 # User and Group under which Apache is running %define httpd_name httpd diff --git a/pandora_console/pandora_console.rhel7.spec b/pandora_console/pandora_console.rhel7.spec index d133d3a604..50ae24d383 100644 --- a/pandora_console/pandora_console.rhel7.spec +++ b/pandora_console/pandora_console.rhel7.spec @@ -6,7 +6,7 @@ %define debug_package %{nil} %define name pandorafms_console %define version 7.0NG.776 -%define release 240418 +%define release 240419 # User and Group under which Apache is running %define httpd_name httpd diff --git a/pandora_console/pandora_console.spec b/pandora_console/pandora_console.spec index 8ed3768efa..26c1888182 100644 --- a/pandora_console/pandora_console.spec +++ b/pandora_console/pandora_console.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.776 -%define release 240418 +%define release 240419 %define httpd_name httpd # User and Group under which Apache is running %define httpd_name apache2 diff --git a/pandora_console/pandoradb_data.sql b/pandora_console/pandoradb_data.sql index 4a9f56d9bb..a6abf17754 100644 --- a/pandora_console/pandoradb_data.sql +++ b/pandora_console/pandoradb_data.sql @@ -2594,7 +2594,7 @@ INSERT INTO `tncm_script` VALUES (47,5,''), (48,7,'enable\n expect:Password:\s* _enablepass_\n capture:show version\n exit\n'), (49,0,'sleep:1 exit\n\r'), - (50,1,'sleep:1 capture:system resource print\n\r exit\n\r'), + (50,1,'sleep:1 capture:export\n\r exit\n\r'), (51,2,'sleep:1 system backup load name=_nameBackup_ password=_passwordBackup_\n\r expect:Restore yes\n\r exit\n\r'), (52,3,'sleep:1 capture:/system package print\n\r exit\n\r'), (53,4,'sleep:1 /system routerboard upgrade\n\r expect:Do yes\n\r exit\n\r'), diff --git a/pandora_server/DEBIAN/control b/pandora_server/DEBIAN/control index 676f538086..3d4a8ece85 100644 --- a/pandora_server/DEBIAN/control +++ b/pandora_server/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-server -Version: 7.0NG.776-240418 +Version: 7.0NG.776-240419 Architecture: all Priority: optional Section: admin diff --git a/pandora_server/DEBIAN/make_deb_package.sh b/pandora_server/DEBIAN/make_deb_package.sh index daf07cdd57..58aefee97a 100644 --- a/pandora_server/DEBIAN/make_deb_package.sh +++ b/pandora_server/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.776-240418" +pandora_version="7.0NG.776-240419" package_cpan=0 package_pandora=1 diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm index 32f9662e77..cd40a38c16 100644 --- a/pandora_server/lib/PandoraFMS/Config.pm +++ b/pandora_server/lib/PandoraFMS/Config.pm @@ -46,7 +46,7 @@ our @EXPORT = qw( # version: Defines actual version of Pandora Server for this module only my $pandora_version = "7.0NG.776"; -my $pandora_build = "240418"; +my $pandora_build = "240419"; our $VERSION = $pandora_version." ".$pandora_build; # Setup hash diff --git a/pandora_server/lib/PandoraFMS/PluginTools.pm b/pandora_server/lib/PandoraFMS/PluginTools.pm index be8169c2b0..d0bd1d393a 100644 --- a/pandora_server/lib/PandoraFMS/PluginTools.pm +++ b/pandora_server/lib/PandoraFMS/PluginTools.pm @@ -34,7 +34,7 @@ our @ISA = qw(Exporter); # version: Defines actual version of Pandora Server for this module only my $pandora_version = "7.0NG.776"; -my $pandora_build = "240418"; +my $pandora_build = "240419"; our $VERSION = $pandora_version." ".$pandora_build; our %EXPORT_TAGS = ( 'all' => [ qw() ] ); diff --git a/pandora_server/lib/PandoraFMS/PredictionServer.pm b/pandora_server/lib/PandoraFMS/PredictionServer.pm index c3f87d45db..282a8eeb20 100644 --- a/pandora_server/lib/PandoraFMS/PredictionServer.pm +++ b/pandora_server/lib/PandoraFMS/PredictionServer.pm @@ -197,13 +197,6 @@ sub exec_prediction_module ($$$$) { return; } - # Netflow modules - if ($agent_module->{'prediction_module'} == 4) { - logger ($pa_config, "Executing netflow module " . $agent_module->{'nombre'}, 10); - enterprise_hook ('exec_netflow_module', [$pa_config, $agent_module, $server_id, $dbh]); - return; - } - # Cluster status module. if ($agent_module->{'prediction_module'} == 5) { logger ($pa_config, "Executing cluster status module " . $agent_module->{'nombre'}, 10); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index fd369cfb76..89ebb75d2f 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -7,7 +7,7 @@ %define debug_package %{nil} %define name pandorafms_server %define version 7.0NG.776 -%define release 240418 +%define release 240419 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index a8f199229b..2cef2e298a 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_server %define version 7.0NG.776 -%define release 240418 +%define release 240419 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index edbc076df0..511880a2d3 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.776" -PI_BUILD="240418" +PI_BUILD="240419" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index b0c8f24a2f..a25e602b62 100755 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -38,7 +38,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.776 Build 240418"; +my $version = "7.0NG.776 Build 240419"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index 42e6e62d8d..9b2b67e087 100755 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.776 Build 240418"; +my $version = "7.0NG.776 Build 240419"; # save program name for logging my $progname = basename($0); diff --git a/visual_console_client/src/main.css b/visual_console_client/src/main.css index 951724e76b..4b6557a6f9 100644 --- a/visual_console_client/src/main.css +++ b/visual_console_client/src/main.css @@ -12,7 +12,11 @@ } .is-maintenance :nth-child(1) { - display: none; + display: none !important; +} + +.is-maintenance .vc-item-nl-arrow { + display: none !important; } .visual-console-item {