Пример #1
0
                        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}");
            }
        }
    }
}