From fee2b338d2af883ca4dd75a7d285f65b284fb73b Mon Sep 17 00:00:00 2001 From: Krzysztof Date: Sun, 27 Nov 2022 21:17:33 +0100 Subject: net/phpldapadmin: fix support for php81+ PR: 266678 Reported by: Gerard Seibert Approved by: rene (mentor) Differential Revision: https://reviews.freebsd.org/D37513 --- .../files/patch-lib_TemplateRender.php | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 net/phpldapadmin/files/patch-lib_TemplateRender.php (limited to 'net/phpldapadmin/files/patch-lib_TemplateRender.php') diff --git a/net/phpldapadmin/files/patch-lib_TemplateRender.php b/net/phpldapadmin/files/patch-lib_TemplateRender.php new file mode 100644 index 000000000000..3ef25c591299 --- /dev/null +++ b/net/phpldapadmin/files/patch-lib_TemplateRender.php @@ -0,0 +1,99 @@ +--- lib/TemplateRender.php.orig 2021-12-12 02:35:51 UTC ++++ lib/TemplateRender.php +@@ -291,8 +291,8 @@ class TemplateRender extends PageRender { + $formvalues = array_change_key_case($_REQUEST['form']); + + foreach ($filtermatchall[1] as $arg) { +- $value = $formvalues[strtolower($arg)]; +- $args[1] = preg_replace("/%($arg)(\|.+)?(\/[lU])?%/U",$value,$args[1]); ++ $value = $formvalues[strtolower((string) $arg)]; ++ $args[1] = preg_replace("/%($arg)(\|.+)?(\/[lU])?%/U",$value,is_null($args[1])? "":$args[1]); + } + } + +@@ -323,7 +323,7 @@ class TemplateRender extends PageRender { + $fixedvalue = preg_split('/=\>/',$fixedvalue); + $displayvalue = explode('=',$fixedvalue[1]); + +- $newvalue[trim($fixedvalue[0])] = array($args[2]=>trim($fixedvalue[0]),trim($displayvalue[0])=>trim($displayvalue[1])); ++ $newvalue[trim((string) $fixedvalue[0])] = array($args[2]=>trim((string) $fixedvalue[0]),trim((string) $displayvalue[0])=>trim((string) $displayvalue[1])); + + $picklistvalues = array_merge($picklistvalues,$newvalue); + } +@@ -353,7 +353,7 @@ class TemplateRender extends PageRender { + if (function_exists('mb_convert_case')) + $disp_val = mb_convert_case($disp_val,MB_CASE_LOWER,'utf-8'); + else +- $disp_val = strtolower($disp_val); ++ $disp_val = strtolower((string) $disp_val); + + break; + +@@ -380,11 +380,11 @@ class TemplateRender extends PageRender { + } + + # make value a substring of +- preg_match_all('/^\|([0-9]*)-([0-9]*)$/',trim($matchall[2][$key]),$substrarray); ++ preg_match_all('/^\|([0-9]*)-([0-9]*)$/',trim((string) $matchall[2][$key]),$substrarray); + + if ((isset($substrarray[1][0]) && $substrarray[1][0]) || (isset($substrarray[2][0]) && $substrarray[2][0])) { + $begin = $substrarray[1][0] ? $substrarray[1][0] : '0'; +- $end = $substrarray[2][0] ? $substrarray[2][0] : strlen($disp_val); ++ $end = $substrarray[2][0] ? $substrarray[2][0] : strlen((string) $disp_val); + + if (function_exists('mb_substr')) + $disp_val = mb_substr($disp_val,$begin,$end,'utf-8'); +@@ -392,7 +392,7 @@ class TemplateRender extends PageRender { + $disp_val = substr($disp_val,$begin,$end); + } + +- $display = preg_replace("/%($arg)(\|.+)?(\/[lUC])?%/U",$disp_val,$display); ++ $display = preg_replace("/%($arg)(\|.+)?(\/[lUC])?%/U",$disp_val,is_null($display)? "":$display); + } + + if (! isset($picklist[$values[$args[2]]])) { +@@ -1347,7 +1347,7 @@ class TemplateRender extends PageRender { + echo '