protected static function _parseRequest($routes, $level) { $p = InRequest::getUrlPart($level); if ($p && isset($routes[$p])) { if (!is_array($routes[$p])) { self::$_controller = $routes[$p]; self::$_context = IN_CONTEXT_DEFAULT; } else { self::_parseRequest($routes[$p], $level + 1); } } else { if (isset($routes['default'])) { if (!is_array($routes['default'])) { self::$_controller = $routes['default']; self::$_context = IN_CONTEXT_DEFAULT; } else { self::$_controller = $routes['default'][0]; self::$_context = isset($routes['default'][1]) ? $routes['default'][1] : IN_CONTEXT_DEFAULT; self::$_params = isset($routes['default'][2]) ? $routes['default'][2] : null; } } else { self::$_controller = $routes[0]; self::$_context = isset($routes[1]) ? $routes[1] : IN_CONTEXT_DEFAULT; self::$_params = isset($routes[2]) ? $routes[2] : null; } } }