diff --git a/system/uri.php b/system/uri.php index a901d49..ded5163 100644 --- a/system/uri.php +++ b/system/uri.php @@ -1,4 +1,11 @@ + * @brief URI module + */ + if(!function_exists("base_url")) { function base_url() { return get_config_value("base_url"); @@ -15,7 +22,7 @@ if(!function_exists("get_uri")) { function get_uri() { $requests = get_requests(); - $request_uri = ''; + $request_uri = ""; if(!array_key_empty("REQUEST_URI", $_SERVER)) { $request_uri = $requests["_URI"]; } @@ -24,6 +31,55 @@ if(!function_exists("get_uri")) { } } +if(!function_exists("read_requests")) { + function read_requests() { + $requests = array( + "_ALL" => $_REQUEST, + "_POST" => $_POST, + "_GET" => $_GET, + "_URI" => !array_key_empty("REQUEST_URI", $_SERVER) ? $_SERVER["REQUEST_URI"] : '', + "_FILES" => is_array($_FILES) ? $_FILES : array(), + ); + + // with security module + if(function_exists("get_clean_xss")) { + foreach($requests['_GET'] as $k=>$v) { + if(is_string($v)) { + $requests['_GET'][$k] = get_clean_xss($v); + } + } + } + + // set alias + $requests['all'] = $requests['_ALL']; + $requests['post'] = $requests['_POST']; + $requests['get'] = $requests['_GET']; + $requests['uri'] = $requests['_URI']; + $requests['files'] = $requests['_FILES']; + + return $requests; + } +} + +if(!function_exists("get_requests")) { + function get_requests() { + $requests = get_scope("requests"); + + if(!is_array($requests)) { + set_scope("requests", read_requests()); + } + + return get_scope("requests"); + } +} + +if(!function_exists("redirect_uri")) { + function redirect_uri($uri, $permanent=false) { + header("Location: " . $uri, true, $permanent ? 301 : 302); + exit(); + } +} + if(!function_exists("read_requests")) { function read_requests() { $requests = array( @@ -54,67 +110,11 @@ if(!function_exists("read_requests")) { } } -if(!function_exists("get_requests")) { - function get_requests() { - global $requests; - $requests = is_array($requests) ? $requests : read_requests(); - return $requests; - } -} - -if(!function_exists("redirect_uri")) { - function redirect_uri($uri, $permanent=false) { - header('Location: ' . $uri, true, $permanent ? 301 : 302); - exit(); - } -} - -if(!function_exists("get_requested_value")) { - function get_requested_value($name, $scope="all", $escape_quotes=true, $escape_tags=false) { - $requests = get_requests(); - - $value = ""; - $method = ""; - - switch($scope) { - case "all": - $method = "_ALL"; - break; - case "post": - $method = "_POST"; - break; - case "get": - $method = "_GET"; - break; - default: - $method = ""; - } - - // set validated value - if(!empty($method)) { - $value = array_key_empty($name, $requests[$method]) ? $value : $requests[$method][$name]; - - if(is_string($value)) { - // security: set escape quotes - if($escape_quotes == true) { - $value = addslashes($value); - } - - // security: set escape tags - if($escape_tags == true) { - $value = htmlspecialchars($value); - } - } - } - - return $value; - } -} - if(!function_exists("get_array")) { function get_array($arr) { return is_array($arr) ? $arr : array(); } } -$requests = read_requests(); +// set scope +set_scope("requests", read_requests());