コード例 #1
0
ファイル: cliws.php プロジェクト: nopticon/rockr
function v($var_name, $default, $multibyte = false, $regex = '') {
	if (preg_match('/^(files)(\:?(.*?))?$/i', $var_name, $files_data)) {
		switch ($files_data[1]) {
			case 'files':
				$var_name = (isset($files_data[3]) && !empty($files_data[3])) ? $files_data[3] : $files_data[1];
				
				$_REQUEST[$var_name] = isset($_FILES[$var_name]) ? $_FILES[$var_name] : $default;
				break;
		}
	}
	
	if (!isset($_REQUEST[$var_name]) || (is_array($_REQUEST[$var_name]) && !is_array($default)) || (is_array($default) && !is_array($_REQUEST[$var_name]))) {
		return (is_array($default)) ? array() : $default;
	}
	
	$var = $_REQUEST[$var_name];
	
	if (!is_array($default)) {
		$type = gettype($default);
		$var = ($var);
	} else {
		list($key_type, $type) = each($default);
		$type = gettype($type);
		$key_type = gettype($key_type);
	}
	
	if (is_array($var)) {
		$_var = $var;
		$var = array();

		foreach ($_var as $k => $v) {
			if (is_array($v)) {
				foreach ($v as $_k => $_v) {
					_set_var($k, $k, $key_type);
					_set_var($_k, $_k, $key_type);
					_set_var($var[$k][$_k], $_v, $type, $multibyte);
				}
			} else {
				_set_var($k, $k, $key_type);
				_set_var($var[$k], $v, $type, $multibyte);
			}
		}
	} else {
		_set_var($var, $var, $type, $multibyte);
	}
	
	return $var;
}
コード例 #2
0
/**
* get_var
*
* Used to get passed variable
*/
function get_var($var_name, $default, $multibyte = false)
{
    global $HTTP_POST_VARS, $HTTP_GET_VARS;
    $request_var = isset($HTTP_POST_VARS[$var_name]) ? $HTTP_POST_VARS : $HTTP_GET_VARS;
    if (!isset($request_var[$var_name]) || is_array($request_var[$var_name]) && !is_array($default) || is_array($default) && !is_array($request_var[$var_name])) {
        return is_array($default) ? array() : $default;
    }
    $var = $request_var[$var_name];
    if (!is_array($default)) {
        $type = gettype($default);
    } else {
        list($key_type, $type) = each($default);
        $type = gettype($type);
        $key_type = gettype($key_type);
    }
    if (is_array($var)) {
        $_var = $var;
        $var = array();
        foreach ($_var as $k => $v) {
            if (is_array($v)) {
                foreach ($v as $_k => $_v) {
                    _set_var($k, $k, $key_type);
                    _set_var($_k, $_k, $key_type);
                    _set_var($var[$k][$_k], $_v, $type, $multibyte);
                }
            } else {
                _set_var($k, $k, $key_type);
                _set_var($var[$k], $v, $type, $multibyte);
            }
        }
    } else {
        _set_var($var, $var, $type, $multibyte);
    }
    return $var;
}
コード例 #3
0
function get_var($var_name, $default)
{
    global $HTTP_POST_VARS, $HTTP_GET_VARS;
    if (!isset($HTTP_POST_VARS[$var_name]) && !isset($HTTP_GET_VARS[$var_name])) {
        return $default;
    } else {
        $var = isset($HTTP_POST_VARS[$var_name]) ? $HTTP_POST_VARS[$var_name] : $HTTP_GET_VARS[$var_name];
        $type = gettype($default);
        if (is_array($var)) {
            return $default;
        } else {
            _set_var($var, $var, $type);
        }
        return $var;
    }
}