219 public function get_request(
string $aName=
"",
string|
int|array|
float|
null $aDefault=
null,
string $type=
"",
string|array $range=
"")
227 if (
false === $this->strict_looking_inside)
230 if (strtoupper($_SERVER[
'REQUEST_METHOD']) ==
"POST")
232 $return_value = (
true === array_key_exists ($aName , $_POST) ) ? $_POST[$aName] : $aDefault;
236 $return_value = (
true === array_key_exists ($aName , $_GET) ) ? $_GET[$aName] : $aDefault;
241 switch (strtolower($this->strict_looking_inside))
244 $return_value = (
true === array_key_exists($aName , $_POST) ) ? $_POST[$aName] : $aDefault;
248 $return_value = (
true === array_key_exists($aName , $_GET) ) ? $_GET[$aName] : $aDefault;
252 $return_value = (
true === array_key_exists($aName , $_REQUEST) ) ? $_REQUEST[$aName] : $aDefault;
256 $return_value = NULL;
263 $this->
testType($aName, $type, gettype($return_value));
265 switch (strtolower($type))
271 $return_value = intval($return_value);
272 if (!is_int($return_value)) {
273 $return_value = $aDefault;
275 if (
true === is_array($range) )
277 $this->check_range($type, $return_value, $aDefault, $range);
284 $return_value = intval($return_value);
285 if (!is_int($return_value))
287 $return_value = $aDefault;
290 if ($return_value <= 0)
292 $return_value = $aDefault;
295 if (
true === is_array($range) )
297 $this->check_range($type, $return_value, $aDefault, $range);
303 $return_value = intval($return_value);
304 if (!is_int($return_value))
306 $return_value = $aDefault;
309 if ( $return_value >= 0)
311 $return_value = $aDefault;
314 if (
true === is_array($range) )
316 $this->check_range($type, $return_value, $aDefault, $range);
333 $sPattern =
"/[^0-9-,\.]/i";
334 $return_value = preg_replace (
337 (
string)$return_value
341 $return_value = str_replace(
",",
".", $return_value);
344 $aTemp = explode(
".", $return_value);
347 if(count($aTemp) > 2)
349 $sPrefix = array_pop($aTemp);
350 $return_value = implode(
"", $aTemp).
".".$sPrefix;
354 if (
true === is_array($range) )
356 $this->check_range($type, $return_value, $aDefault, $range);
365 if (!is_string((
string)$return_value))
367 $return_value = $aDefault;
370 if (
true === is_array($range))
372 $this->check_range($type, $return_value, $aDefault, $range);
378 if (!is_string((
string)$return_value))
380 $return_value = $aDefault;
384 $return_value = htmlspecialchars(strip_tags($return_value));
391 if (!is_string((
string)$return_value))
393 $return_value = $aDefault;
397 $return_value = lib_lepton::getToolInstance(
"htmlpurifier")->purify($return_value);
398 $return_value = htmlspecialchars($return_value);
403 case 'string_allowed':
405 if (!is_string((
string)$return_value))
407 $return_value = $aDefault;
411 $return_value = strip_tags($return_value, $range);
429 $d = DateTime::createFromFormat($format, $return_value);
430 $result = $d && $d->format($format) == $return_value;
431 if ($result ===
false) {
432 $return_value = $aDefault;
438 $format =
'Y-m-d H:i:s';
439 $d = DateTime::createFromFormat($format, $return_value);
440 $result = $d && $d->format($format) == $return_value;
441 if ($result ===
false) {
442 $return_value = $aDefault;
447 case 'datetime_local':
448 $format =
'Y-m-dTH:i:s';
449 $d = DateTime::createFromFormat($format, $return_value);
450 $result = $d && $d->format($format) == $return_value;
451 if ($result ===
false) {
452 $return_value = $aDefault;
459 $d = DateTime::createFromFormat($format, $return_value);
460 $result = $d && $d->format($format) == $return_value;
461 if ($result ===
false) {
462 $return_value = $aDefault;
469 $d = DateTime::createFromFormat($format, $return_value);
470 $result = $d && $d->format($format) == $return_value;
471 if ($result ===
false) {
472 $return_value = $aDefault;
479 $result = preg_match(
"/^[1-9][0-9]{3}[-][W][0-9]{2}$/", $return_value);
481 $return_value = $aDefault;
487 if (!is_array($return_value))
489 $return_value = $aDefault;
495 if ((
true === is_array($range)) && (isset($range[
'pattern'])))
497 $test = preg_match($range[
'pattern'], $return_value);
500 $return_value = $range[
'default'] ?? $aDefault;
511 return $return_value;