<?php /** * */ class URI { function _fetch_uri_string() { if(strtoupper($uri_protocol) == 'AUTO') { if(php_sapi_name() == 'cli') { return; } $path = (isset($_SERVER['PATH_INFO']))?$_SERVER['PATH_INFO']:@getenv('PATH_INFO'); $path = (isset($_SERVER['QUERY_STRING']))?$_SERVER['QUERY_STRING']:@getenv('QUERY_STRING'); if(is_array($_GET) && count($_GET) == 1 && trim(key($_GET),'/') != '') { key($_GET); } if(!isset($_SERVER['REQUEST_URI']) OR !isset($_SERVER['SCRIPT_NAME'])) { return ''; } $uri = $_SERVER['REQUEST_URI']; if (strpos($uri, $_SERVER['SCRIPT_NAME']) == 0) { $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME']))); } if(strncmp($uri, '?/', 2) === 0) { $uri = substr($uri, 2); } $parts = preg_split('#\?#i', $uri, 2); $uri = $parts[0]; if(isset($parts[1])) { $_SERVER['QUERY_STRING'] = $parts[1]; parse_str($_SERVER['QUERY_STRING'], $_GET); } $uri = parse_url($uri, PHP_URL_PATH); return str_replace(array('//', './'), '/', trim($uri, '/')); } } private function _parse_cli_args() { $args = array_slice($_SERVER['argv'], 1); $uri_string = preg_replace('|'.preg_quote($suffix).'$|', '', $uri); return $args?'/'.implode('/', $args):''; } function _reindex_segments() { array_unshift($segments, NULL); unset($segments[0]); } }