From 4319136421ceee3ddc65bab8d3908d32974ee86b Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 16 Jan 2022 12:38:04 +0000 Subject: [PATCH] Improved defaults check --- src/BaseModule.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/BaseModule.php b/src/BaseModule.php index 5ac56533ca..06d9da66af 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -261,15 +261,15 @@ abstract class BaseModule implements ICanHandleRequests foreach ($defaults as $parameter => $defaultvalue) { if (is_string($defaultvalue)) { - $request[$parameter] = $input[$parameter] ?? $defaultvalue; + $request[$parameter] = (string)($input[$parameter] ?? $defaultvalue); } elseif (is_int($defaultvalue)) { - $request[$parameter] = (int)($input[$parameter] ?? $defaultvalue); + $request[$parameter] = filter_var($input[$parameter] ?? $defaultvalue, FILTER_VALIDATE_INT); } elseif (is_float($defaultvalue)) { - $request[$parameter] = (float)($input[$parameter] ?? $defaultvalue); + $request[$parameter] = filter_var($input[$parameter] ?? $defaultvalue, FILTER_VALIDATE_FLOAT); } elseif (is_array($defaultvalue)) { - $request[$parameter] = $input[$parameter] ?? []; + $request[$parameter] = filter_var($input[$parameter] ?? $defaultvalue, FILTER_DEFAULT, ['flags' => FILTER_FORCE_ARRAY]); } elseif (is_bool($defaultvalue)) { - $request[$parameter] = in_array(strtolower($input[$parameter] ?? ''), ['true', '1']); + $request[$parameter] = filter_var($input[$parameter] ?? $defaultvalue, FILTER_VALIDATE_BOOLEAN); } else { $this->logger->notice('Unhandled default value type', ['parameter' => $parameter, 'type' => gettype($defaultvalue)]); }