--- 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 '