Update uri.php

This commit is contained in:
Namhyeon Go 2018-04-13 14:16:52 +09:00 committed by GitHub
parent 3437f07fa7
commit ae9977a173
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,11 @@
<?php <?php
/**
* @file uri.php
* @date 2018-04-13
* @author Go Namhyeon <gnh1201@gmail.com>
* @brief URI module
*/
if(!function_exists("base_url")) { if(!function_exists("base_url")) {
function base_url() { function base_url() {
return get_config_value("base_url"); return get_config_value("base_url");
@ -15,7 +22,7 @@ if(!function_exists("get_uri")) {
function get_uri() { function get_uri() {
$requests = get_requests(); $requests = get_requests();
$request_uri = ''; $request_uri = "";
if(!array_key_empty("REQUEST_URI", $_SERVER)) { if(!array_key_empty("REQUEST_URI", $_SERVER)) {
$request_uri = $requests["_URI"]; $request_uri = $requests["_URI"];
} }
@ -56,58 +63,50 @@ if(!function_exists("read_requests")) {
if(!function_exists("get_requests")) { if(!function_exists("get_requests")) {
function get_requests() { function get_requests() {
global $requests; $requests = get_scope("requests");
$requests = is_array($requests) ? $requests : read_requests();
return $requests; if(!is_array($requests)) {
set_scope("requests", read_requests());
}
return get_scope("requests");
} }
} }
if(!function_exists("redirect_uri")) { if(!function_exists("redirect_uri")) {
function redirect_uri($uri, $permanent=false) { function redirect_uri($uri, $permanent=false) {
header('Location: ' . $uri, true, $permanent ? 301 : 302); header("Location: " . $uri, true, $permanent ? 301 : 302);
exit(); exit();
} }
} }
if(!function_exists("get_requested_value")) { if(!function_exists("read_requests")) {
function get_requested_value($name, $scope="all", $escape_quotes=true, $escape_tags=false) { function read_requests() {
$requests = get_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(),
);
$value = ""; // with security module
$method = ""; if(function_exists("get_clean_xss")) {
foreach($requests['_GET'] as $k=>$v) {
switch($scope) { if(is_string($v)) {
case "all": $requests['_GET'][$k] = get_clean_xss($v);
$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; // set alias
$requests['all'] = $requests['_ALL'];
$requests['post'] = $requests['_POST'];
$requests['get'] = $requests['_GET'];
$requests['uri'] = $requests['_URI'];
$requests['files'] = $requests['_FILES'];
return $requests;
} }
} }
@ -117,4 +116,5 @@ if(!function_exists("get_array")) {
} }
} }
$requests = read_requests(); // set scope
set_scope("requests", read_requests());