From c59b6b9b4db81c16da84ab6be3d56e8f5dd6678f Mon Sep 17 00:00:00 2001 From: TheWitness Date: Sun, 3 Sep 2023 03:04:53 -0400 Subject: [PATCH] Fixing #5475 - Issue with ss_fping.php and PHP8 strict typing (#5477) * QA: Broken Function * QA: Two additional QA Items - Do a check for IP address as dns_get_records() does not have a timeout and I don't use DNS - Properly display information about MariaDB 11. * Fixing #5475 - Ping Issues with Advanced Ping an PHP8 PHP 8.x error - Unsupported operand types: float + string * QA: Fix two typos --- CHANGELOG | 1 + include/global_settings.php | 4 ++-- install/templates/PING_Advanced_Ping.xml.gz | Bin 17269 -> 17373 bytes scripts/ss_fping.php | 25 ++++++++++++++++---- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e544988079..f959330a95 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -78,6 +78,7 @@ Cacti CHANGELOG -issue#5462: Package preview aparantely making changes to Cacti Templates or there is a Caching issue -issue#5466: When enabling boost on a fresh install, we get a single error in the Cacti log -issue#5467: Cacti logging throws error when attempting to generate a log message from empty log string in PHP 8.x +-issue#5475: PHP 8.x error - Unsupported operand types: float + string -feature#5375: Add template for Fortinet firewall and Aruba Instant cluster -feature#5393: Add template for SNMP printer -feature#5418: Display device class before package import diff --git a/include/global_settings.php b/include/global_settings.php index 77b714011b..02632c39d0 100644 --- a/include/global_settings.php +++ b/include/global_settings.php @@ -2289,12 +2289,12 @@ ) ), 'extended_paths_header' => array( - 'friendly_name' => __('Structured RRDfile Paths'), + 'friendly_name' => __('Structure RRDfile Paths'), 'method' => 'spacer', 'collapsible' => 'true' ), 'extended_paths' => array( - 'friendly_name' => __('Method'), + 'friendly_name' => __('Enable Structured Paths'), 'description' => __('Use a separate subfolder for each hosts RRD files. The naming of the RRDfiles will be one of the following:

You can make this change after install by running the CLI script structure_rra_paths.php after you make the change. NOTE: If you change Max Directories value to decrease the number of directories, or if you change the Directory Pattern, empty directories will not be pruned after you rerun the structure_rra_paths.php script.'), 'method' => 'checkbox' ), diff --git a/install/templates/PING_Advanced_Ping.xml.gz b/install/templates/PING_Advanced_Ping.xml.gz index d60bd2958b55f717879ac9a0ee03c18547d79f35..aeb37c1fdac862eac1a8f7efd5775b5ef85f5310 100644 GIT binary patch literal 17373 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 literal 17269 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, $method, $ping_timeout, 1); + $end = microtime(true); if (!$result) { + // Error response $failed_results++; - } else { - $time[$i] = $ping->ping_status; + + $time[$i] = $end - $start; + $total_time += $end - $start; + } elseif (is_numeric($ping->ping_status)) { + $time[$i] = $ping->ping_status; $total_time += $ping->ping_status; - if ($ping->ping_status < $min) $min = $ping->ping_status; - if ($ping->ping_status > $max) $max = $ping->ping_status; + if ($ping->ping_status < $min) { + $min = $ping->ping_status; + } + + if ($ping->ping_status > $max) { + $max = $ping->ping_status; + } + } else { + // Down response + $failed_results++; + + $time[$i] = $end - $start; + $total_time += $end - $start; } $i++;