mirror of
https://github.com/standardebooks/web.git
synced 2025-07-06 06:40:33 -04:00
Initial commit
This commit is contained in:
commit
28c8a3f0ba
136 changed files with 13350 additions and 0 deletions
82
lib/HttpInput.php
Normal file
82
lib/HttpInput.php
Normal file
|
@ -0,0 +1,82 @@
|
|||
<?
|
||||
class HttpInput{
|
||||
public static function GetString(string $variable, bool $allowEmptyString = true, $default = null){ // Can't type hint return values because it might return null
|
||||
$var = self::GetHttpVar($variable, HTTP_VAR_STR, GET, $default);
|
||||
|
||||
if(!$allowEmptyString && $var === ''){
|
||||
return null;
|
||||
}
|
||||
|
||||
return $var;
|
||||
}
|
||||
|
||||
public static function GetInt(string $variable, $default = null){ // Can't type hint return values because it might return null
|
||||
return self::GetHttpVar($variable, HTTP_VAR_INT, GET, $default);
|
||||
}
|
||||
|
||||
public static function GetBool(string $variable, $default = null){ // Can't type hint return values because it might return null
|
||||
return self::GetHttpVar($variable, HTTP_VAR_BOOL, GET, $default);
|
||||
}
|
||||
|
||||
public static function GetDec(string $variable, $default = null){ // Can't type hint return values because it might return null
|
||||
return self::GetHttpVar($variable, HTTP_VAR_DEC, GET, $default);
|
||||
}
|
||||
|
||||
private static function GetHttpVar(string $variable, int $type, int $set, $default){
|
||||
$vars = array();
|
||||
|
||||
switch($set){
|
||||
case GET:
|
||||
$vars = $_GET;
|
||||
break;
|
||||
case POST:
|
||||
$vars = $_POST;
|
||||
break;
|
||||
case COOKIE:
|
||||
$vars = $_COOKIE;
|
||||
break;
|
||||
}
|
||||
|
||||
if(isset($vars[$variable])){
|
||||
$var = trim($vars[$variable]);
|
||||
|
||||
switch($type){
|
||||
case HTTP_VAR_STR:
|
||||
return $var;
|
||||
break;
|
||||
case HTTP_VAR_INT:
|
||||
// Can't use ctype_digit because we may want negative integers
|
||||
if(is_numeric($var) && mb_strpos($var, '.') === false){
|
||||
try{
|
||||
return intval($var);
|
||||
}
|
||||
catch(\Exception $ex){
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HTTP_VAR_BOOL:
|
||||
if($var === '0' || strtolower($var) == 'false' || strtolower($var) == 'off'){
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case HTTP_VAR_DEC:
|
||||
if(is_numeric($var)){
|
||||
try{
|
||||
return floatval($var);
|
||||
}
|
||||
catch(\Exception $ex){
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $default;
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue