diff --git a/system/request.php b/system/request.php index 04ec2c8d..3ea419a2 100644 --- a/system/request.php +++ b/system/request.php @@ -27,6 +27,28 @@ public static function uri() { if ( ! is_null(static::$uri)) return static::$uri; + $uri = static::raw_uri(); + + if (strpos($uri, $base = parse_url(Config::get('application.url'), PHP_URL_PATH)) === 0) + { + $uri = substr($uri, strlen($base)); + } + + if (strpos($uri, $index = '/index.php') === 0) + { + $uri = substr($uri, strlen($index)); + } + + return static::$uri = (($uri = trim($uri, '/')) == '') ? '/' : $uri; + } + + /** + * Get the raw request URI from the $_SERVER array. + * + * @return string + */ + private static function raw_uri() + { if (isset($_SERVER['PATH_INFO'])) { $uri = $_SERVER['PATH_INFO']; @@ -45,17 +67,7 @@ public static function uri() throw new \Exception("Malformed request URI. Request terminated."); } - if (strpos($uri, $base = parse_url(Config::get('application.url'), PHP_URL_PATH)) === 0) - { - $uri = substr($uri, strlen($base)); - } - - if (strpos($uri, $index = '/index.php') === 0) - { - $uri = substr($uri, strlen($index)); - } - - return static::$uri = (($uri = trim($uri, '/')) == '') ? '/' : $uri; + return $uri; } /** diff --git a/system/response.php b/system/response.php index 95ff4a4d..af617af2 100644 --- a/system/response.php +++ b/system/response.php @@ -133,7 +133,10 @@ public static function prepare($response) */ public function send() { - if ( ! array_key_exists('Content-Type', $this->headers)) $this->header('Content-Type', 'text/html; charset=utf-8'); + if ( ! array_key_exists('Content-Type', $this->headers)) + { + $this->header('Content-Type', 'text/html; charset=utf-8'); + } if ( ! headers_sent()) $this->send_headers(); diff --git a/system/session.php b/system/session.php index 440e5921..869144b7 100644 --- a/system/session.php +++ b/system/session.php @@ -60,9 +60,15 @@ public static function load($id) { static::$session = ( ! is_null($id)) ? static::driver()->load($id) : null; - if (static::invalid(static::$session)) static::$session = array('id' => Str::random(40), 'data' => array()); + if (static::invalid(static::$session)) + { + static::$session = array('id' => Str::random(40), 'data' => array()); + } - if ( ! static::has('csrf_token')) static::put('csrf_token', Str::random(16)); + if ( ! static::has('csrf_token')) + { + static::put('csrf_token', Str::random(16)); + } static::$session['last_activity'] = time(); }