]> git.mxchange.org Git - friendica.git/commitdiff
Improved defaults check
authorMichael <heluecht@pirati.ca>
Sun, 16 Jan 2022 12:38:04 +0000 (12:38 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 16 Jan 2022 12:38:04 +0000 (12:38 +0000)
src/BaseModule.php

index 5ac56533ca94e465f4e3ac5c4dbd2ec99723e3fb..06d9da66afb457a43816f7be55f9c359c1078e41 100644 (file)
@@ -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)]);
                        }