1 <?php
defined('IN_CMS') or die('No direct access allowed.');
5 public static function clean($str) {
6 // handle magic quotes for people who cant turn it off
7 if(function_exists('get_magic_quotes_gpc')) {
8 if(get_magic_quotes_gpc()) {
9 return is_array($str) ?
array_map(array('Input', 'clean'), $str) : stripslashes($str);
16 private static function fetch_array($array, $key, $default = false) {
21 $data[$k] = static::fetch_array($array, $k, $default);
27 if(array_key_exists($key, $array)) {
28 return static::clean($array[$key]);
31 return ($default instanceof \Closure
) ?
call_user_func($default) : $default;
34 public static function post($key, $default = false) {
35 return static::fetch_array($_POST, $key, $default);
38 public static function get($key, $default = false) {
39 return static::fetch_array($_GET, $key, $default);
42 public static function put($key, $default = false) {
43 return static::fetch_array(parse_str(file_get_contents('php://input')), $key, $default);
46 public static function delete($key, $default = false) {
47 return static::fetch_array(parse_str(file_get_contents('php://input')), $key, $default);
50 public static function cookie($key, $default = false) {
51 return static::fetch_array($_COOKIE, $key, $default);
54 public static function server($key, $default = false) {
55 return static::fetch_array($_SERVER, strtoupper($key), $default);
58 public static function file($key, $default = false) {
59 return static::fetch_array($_FILES, $key, $default);
62 public static function method() {
63 return static::server('REQUEST_METHOD');
66 public static function ip_address() {
67 // IP from share internet
68 if (static::server('REMOTE_ADDR') and static::server('HTTP_CLIENT_IP')) {
69 return static::server('HTTP_CLIENT_IP');
72 if(static::server('REMOTE_ADDR')) {
73 return static::server('REMOTE_ADDR');
76 if(static::server('HTTP_CLIENT_IP')) {
77 return static::server('HTTP_CLIENT_IP');
81 if(static::server('HTTP_X_FORWARDED_FOR')) {
82 return static::server('HTTP_X_FORWARDED_FOR');
88 public static function user_agent() {
89 return static::server('HTTP_USER_AGENT');