Example #1
0
$request = new Request($model);
// PATH_INFO, for example "/ysa/fi"
$path = $request->getServerConstant('PATH_INFO') ? $request->getServerConstant('PATH_INFO') : '';
$parts = explode('/', $path);
if (sizeof($parts) <= 2) {
    // if language code missing, redirect to guessed language
    // in any case, redirect to <lang>/
    $lang = sizeof($parts) == 2 && $parts[1] !== '' ? $parts[1] : $controller->guessLanguage();
    header("Location: " . $lang . "/");
} else {
    if (array_key_exists($parts[1], $config->getLanguages())) {
        // global pages
        $request->setLang($parts[1]);
        $content_lang = $request->getQueryParam('clang');
        $request->setContentLang($content_lang);
        $parts[2] == 'about' || $parts[2] == 'feedback' || $parts[2] == 'search' ? $request->setPage($parts[2]) : $request->setPage('');
        if ($request->getPage() == '') {
            $controller->invokeVocabularies($request);
        } elseif ($request->getPage() == 'about') {
            $controller->invokeAboutPage($request);
        } elseif ($request->getPage() == 'feedback') {
            $controller->invokeFeedbackForm($request);
        } elseif ($request->getPage() == 'search') {
            $controller->invokeGlobalSearch($request);
        } else {
            $controller->invokeGenericErrorPage($request);
        }
    } else {
        // vocabulary-specific pages
        $vocab = $parts[1];
        try {