Advertisement
customhost

Untitled

Jul 9th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.71 KB | None | 0 0
  1. /**
  2. * request_var
  3. *
  4. * Used to get passed variable
  5. */
  6. function request_var($var_name, $default, $multibyte = false, $cookie = false)
  7. {
  8.     if (!$cookie && isset($_COOKIE[$var_name]))
  9.     {
  10.         if (!isset($_GET[$var_name]) && !isset($_POST[$var_name]))
  11.         {
  12.             return (is_array($default)) ? array() : $default;
  13.         }
  14.         $_REQUEST[$var_name] = isset($_POST[$var_name]) ? $_POST[$var_name] : $_GET[$var_name];
  15.     }
  16.  
  17.     if (!isset($_REQUEST[$var_name]) || (is_array($_REQUEST[$var_name]) && !is_array($default)) || (is_array($default) && !is_array($_REQUEST[$var_name])))
  18.     {
  19.         return (is_array($default)) ? array() : $default;
  20.     }
  21.  
  22.     $var = $_REQUEST[$var_name];
  23.     if (!is_array($default))
  24.     {
  25.         $type = gettype($default);
  26.     }
  27.     else
  28.     {
  29.         list($key_type, $type) = each($default);
  30.         $type = gettype($type);
  31.         $key_type = gettype($key_type);
  32.         if ($type == 'array')
  33.         {
  34.             reset($default);
  35.             $default = current($default);
  36.             list($sub_key_type, $sub_type) = each($default);
  37.             $sub_type = gettype($sub_type);
  38.             $sub_type = ($sub_type == 'array') ? 'NULL' : $sub_type;
  39.             $sub_key_type = gettype($sub_key_type);
  40.         }
  41.     }
  42.  
  43.     if (is_array($var))
  44.     {
  45.         $_var = $var;
  46.         $var = array();
  47.  
  48.         foreach ($_var as $k => $v)
  49.         {
  50.             set_var($k, $k, $key_type);
  51.             if ($type == 'array' && is_array($v))
  52.             {
  53.                 foreach ($v as $_k => $_v)
  54.                 {
  55.                     if (is_array($_v))
  56.                     {
  57.                         $_v = null;
  58.                     }
  59.                     set_var($_k, $_k, $sub_key_type);
  60.                     set_var($var[$k][$_k], $_v, $sub_type, $multibyte);
  61.                 }
  62.             }
  63.             else
  64.             {
  65.                 if ($type == 'array' || is_array($v))
  66.                 {
  67.                     $v = null;
  68.                 }
  69.                 set_var($var[$k], $v, $type, $multibyte);
  70.             }
  71.         }
  72.     }
  73.     else
  74.     {
  75.         set_var($var, $var, $type, $multibyte);
  76.     }
  77.  
  78.     return $var;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement