From 154e3eaa232e304262253a8ced3a65a4d81f271a Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Sun, 28 Dec 2025 10:02:49 -0500 Subject: [PATCH] fix: Create index(es) for optional named parameters in init() method --- lib/Horde/Form.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/Horde/Form.php b/lib/Horde/Form.php index f74ea6d..bfdef04 100644 --- a/lib/Horde/Form.php +++ b/lib/Horde/Form.php @@ -188,11 +188,19 @@ private function getType($type, $params = []) self::$init_params_cache[$type_class] = $keys; } - // convert named keys to numeric indexes + // convert named parameters to positional $i = 0; + $ni = 0; foreach ($keys as $key) { if (array_key_exists($key, $params)) { - $params[$i] = $params[$key]; + // make sure prior index(es) exist + while ($ni < $i) { + if (!array_key_exists($ni, $params)) { + $params[$ni] = null; + } + ++$ni; + } + $params[$ni++] = $params[$key]; unset($params[$key]); } ++$i;