[eluser]solepixel[/eluser]
Ok, this is what I ended up with:
Code:
global $DB_ROUTES;
list($uri, $qs) = (strpos($_SERVER['REQUEST_URI'], '?') !== false) ? explode('?', $_SERVER['REQUEST_URI']) : array($_SERVER['REQUEST_URI'],'');
$route = $uri;
if($uri != '/'){
$uri = trim($uri, '/');
$route = trim($route, '/');
$route = str_replace('-', '_', $route);
}
if($row->controller){
$path = ($row->controller == '/') ? 'index_controller' : trim($row->controller, '/');
if($path != $uri){
$route_uri = trim($row->uri, '/');
$remainder = '/'.trim(str_replace($route_uri, '', $uri), '/');
if($remainder == '/'){
$remainder = '';
}
$uri = str_replace('-', '_', $uri);
$DB_ROUTES[$uri] = $path.$remainder;
$DB_ROUTES[$uri.'/(.*)'] = $path.$remainder.'/$1';
}
} else {
// insert index into global variable
$DB_ROUTES[$route] = 'content/'.(($uri == '/') ? 'root' : $uri);
}