if ($request->getQueryParam('uri')) { $request->setUri($request->getQueryParam('uri')); $controller->invokeGroupContents($request); } else { $controller->invokeGroupIndex($request); } } else { $request->getQueryParam('uri') ? $request->setUri($request->getQueryParam('uri')) : $request->setUri($parts[4]); if ($request->getUri() === null) { $controller->invokeGroupIndex($request); } else { $controller->invokeGroupContents($request); } } } elseif ($request->getPage() == 'changes') { $controller->invokeChangeList($request, 'dc:modified'); } elseif ($request->getPage() == 'new') { $controller->invokeChangeList($request); } else { $controller->invokeGenericErrorPage($request); } } else { // language code missing, redirect to some language version $lang = $controller->guessLanguage($vocab); $pattern = '|' . preg_quote("/{$vocab}/") . '|'; $location = preg_replace($pattern, "/{$vocab}/{$lang}/", $request->getServerConstant('REQUEST_URI'), 1); header("Location: {$location}"); } } } }