diff --git a/lib/HttpInput.php b/lib/HttpInput.php index 1312b708..a28ee356 100644 --- a/lib/HttpInput.php +++ b/lib/HttpInput.php @@ -1,4 +1,6 @@ |array|array|array|string|int|float|bool|null + * @return array|array|array|array|string|int|float|bool|DateTimeImmutable|null */ private static function GetHttpVar(string $variable, HttpVariableType $type, HttpVariableSource $set): mixed{ $vars = []; @@ -170,9 +172,12 @@ class HttpInput{ // We asked for not an array, but we got an array return null; } - else{ + elseif(is_string($vars[$variable])){ $var = trim($vars[$variable]); } + else{ + $var = $vars[$variable]; + } switch($type){ case HttpVariableType::String: @@ -189,7 +194,7 @@ class HttpInput{ } break; case HttpVariableType::Boolean: - if($var === '0' || strtolower($var) == 'false' || strtolower($var) == 'off'){ + if($var === false || $var === '0' || strtolower($var) == 'false' || strtolower($var) == 'off'){ return false; } else{ @@ -205,6 +210,17 @@ class HttpInput{ } } break; + case Enums\HttpVariableType::DateTime: + if($var != ''){ + try{ + return new DateTimeImmutable($var); + } + catch(Exception){ + vdd('q'); + return null; + } + } + break; } }