1 <?php
defined('IN_CMS') or die('No direct access allowed.');
5 public static function uri_segment($index, $default = false) {
7 $segments = explode('/', static::uri());
8 return isset($segments[$index]) ?
$segments[$index] : $default;
11 public static function uri() {
12 if(isset($_SERVER['PATH_INFO'])) {
13 $uri = $_SERVER['PATH_INFO'];
16 elseif(isset($_SERVER['REQUEST_URI'])) {
17 // make sure we can parse URI
18 if(($uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH
)) === false) {
19 throw new Exception('Malformed request URI');
22 // cannot process request
24 throw new Exception('Unable to determine the request URI');
28 $base_url = parse_url(Config
::get('application.base_url'), PHP_URL_PATH
);
30 if(strlen($base_url)) {
31 if(strpos($uri, $base_url) === 0) {
32 $uri = substr($uri, strlen($base_url));
37 $index = '/' . Config
::get('application.index_page');
39 if(strpos($uri, $index) === 0) {
40 $uri = substr($uri, strlen($index));
43 return trim($uri, '/');