270 public function get_request(
string $aName=
"",
string|
int|array|
float|
bool|
null $aDefault=
null,
string $type=
"",
string|array $range=
"")
278 if (
false === $this->strict_looking_inside)
281 if (strtoupper($_SERVER[
'REQUEST_METHOD']) ==
"POST")
283 $return_value = (
true === array_key_exists ($aName , $_POST) ) ? $_POST[$aName] : $aDefault;
287 $return_value = (
true === array_key_exists ($aName , $_GET) ) ? $_GET[$aName] : $aDefault;
292 switch ($this->strict_looking_inside)
295 $return_value = $_POST[$aName] ?? $aDefault;
299 $return_value = $_GET[$aName] ?? $aDefault;
303 $return_value = $_REQUEST[$aName] ?? $aDefault;
307 $return_value = $_SESSION[$aName] ?? $aDefault;
311 $return_value = $_SERVER[$aName] ?? $aDefault;
315 $return_value =
null;
324 if (is_array($return_value) && ($type !=
"array"))
326 foreach ($return_value as $key => &$tempValue)
328 $tempValue = $this->
filterValue($tempValue, $type, $aDefault, $range);
333 $return_value = $this->
filterValue($return_value, $type, $aDefault, $range);
336 return $return_value;
659 string|
int|array|
float|
bool|
null $return_value,
661 string|
int|array|
float|
bool|
null $aDefault=
null,
662 string|array $range=
""
663 ): string|int|array|float|bool|null
665 switch (strtolower($type))
671 $return_value = intval($return_value);
672 if (!is_int($return_value)) {
673 $return_value = $aDefault;
675 if (
true === is_array($range))
677 $this->check_range($type, $return_value, $aDefault, $range);
684 $return_value = intval($return_value);
685 if (!is_int($return_value))
687 $return_value = $aDefault;
690 if ($return_value <= 0)
692 $return_value = $aDefault;
695 if (
true === is_array($range) )
697 $this->check_range($type, $return_value, $aDefault, $range);
703 $return_value = intval($return_value);
704 if (!is_int($return_value))
706 $return_value = $aDefault;
709 if ( $return_value >= 0)
711 $return_value = $aDefault;
714 if (
true === is_array($range) )
716 $this->check_range($type, $return_value, $aDefault, $range);
733 $sPattern =
"/[^0-9-,\.]/i";
734 $return_value = preg_replace (
737 (
string)$return_value
741 $return_value = str_replace(
",",
".", $return_value);
744 $aTemp = explode(
".", $return_value);
747 if(count($aTemp) > 2)
749 $sPrefix = array_pop($aTemp);
750 $return_value = implode(
"", $aTemp).
".".$sPrefix;
754 if (
true === is_array($range) )
756 $this->check_range($type, $return_value, $aDefault, $range);
762 $return_value = intval(eval(
"return ".$return_value.
";"));
764 if (
true === is_array($range))
766 $this->check_range($type, $return_value, $aDefault, $range);
774 if (!is_string($return_value))
776 $return_value = $aDefault;
779 if (
true === is_array($range))
781 $this->check_range($type, $return_value, $aDefault, $range);
787 if (!is_string($return_value))
789 $return_value = $aDefault;
793 $return_value = htmlspecialchars(strip_tags($return_value));
800 if (!is_string($return_value))
802 $return_value = $aDefault;
806 $return_value = lib_lepton::getToolInstance(
"htmlpurifier")->purify($return_value);
807 $return_value = htmlspecialchars($return_value);
812 case 'string_allowed':
814 if (!is_string($return_value))
816 $return_value = $aDefault;
820 $return_value = strip_tags($return_value, $range);
825 case 'string_secure':
828 $return_value = $aDefault;
834 if (!is_string($return_value))
836 $return_value = $aDefault;
840 $return_value = $aDefault;
846 if (!is_string($return_value))
848 $return_value = $aDefault;
852 $return_value = $aDefault;
858 if (!is_string($return_value))
860 $return_value = $aDefault;
864 $return_value = $aDefault;
871 if (!is_string($return_value))
873 $return_value = $aDefault;
876 $d = DateTime::createFromFormat($format, $return_value);
877 $result = $d && $d->format($format) == $return_value;
878 if ($result ===
false) {
879 $return_value = $aDefault;
881 if (
true === is_array($range) )
883 $this->check_range($type, $return_value, $aDefault, $range);
892 if (!is_string($return_value))
894 $return_value = $aDefault;
896 $format =
'Y-m-d H:i:s';
897 $d = DateTime::createFromFormat($format, $return_value);
898 $result = $d && $d->format($format) == $return_value;
899 if ($result ===
false) {
900 $return_value = $aDefault;
902 if (
true === is_array($range) )
904 $this->check_range($type, $return_value, $aDefault, $range);
911 case 'datetime_local':
912 if (!is_string($return_value))
914 $return_value = $aDefault;
916 $format =
'Y-m-d\TH:i:s';
917 $d = DateTime::createFromFormat($format, $return_value);
918 $result = $d && $d->format($format) == $return_value;
919 if ($result ===
false) {
920 $return_value = $aDefault;
927 if (!is_string($return_value))
929 $return_value = $aDefault;
932 $d = DateTime::createFromFormat($format, $return_value);
933 $result = $d && $d->format($format) == $return_value;
934 if ($result ===
false) {
935 $return_value = $aDefault;
942 if (!is_string($return_value))
944 $return_value = $aDefault;
947 $d = DateTime::createFromFormat($format, $return_value);
948 $result = $d && $d->format($format) == $return_value;
949 if ($result ===
false) {
950 $return_value = $aDefault;
952 if (
true === is_array($range) )
954 $this->check_range($type, $return_value, $aDefault, $range);
962 if (!is_string($return_value))
964 $return_value = $aDefault;
967 $result = preg_match(
"/^[1-9][0-9]{3}[-][W][0-9]{2}$/", $return_value);
969 $return_value = $aDefault;
976 if (!is_array($return_value))
978 $return_value = $aDefault;
984 if ((
true === is_array($range)) && (isset($range[
'pattern'])))
986 $test = preg_match($range[
'pattern'], $return_value);
989 $return_value = $range[
'default'] ?? $aDefault;
996 $return_value = filter_var(
998 FILTER_VALIDATE_BOOLEAN,
999 [
'flags' => FILTER_NULL_ON_FAILURE]
1009 return $return_value;