From abcbb09de506527f87d5fe70168cc50383c92f68 Mon Sep 17 00:00:00 2001 From: Agostino Sarubbo Date: Fri, 21 Feb 2025 14:14:25 +0100 Subject: [PATCH] fix an 'Array to string conversion' reproducible with php-8.2 on FreePBX-17 --- page.queuemetrics.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/page.queuemetrics.php b/page.queuemetrics.php index ba3a594..2794d32 100644 --- a/page.queuemetrics.php +++ b/page.queuemetrics.php @@ -4,8 +4,18 @@ $settings = queuemetrics_get_details(); foreach ($settings as $key => $val) { - $var[$val['keyword']] = isset($_REQUEST[$val['keyword']]) ? $_REQUEST[$val['keyword']] : $val['value']; - $$val['keyword'] = $var[$val['keyword']]; + // Ensure the key exists and is a valid string + $keyword = is_string($val['keyword']) ? $val['keyword'] : 'unknown_key'; + + // Ensure value is not an array + $value = isset($_REQUEST[$keyword]) ? $_REQUEST[$keyword] : $val['value']; + + if (is_array($value)) { + $value = json_encode($value); // Convert array to JSON string + } + + $var[$keyword] = $value; + ${$keyword} = $value; // Dynamically create a variable } $checked = (isset($ivr_logging) && $ivr_logging == 'true')?'CHECKED':'';