Beispiel #1
0
// Used for multi-language sites
$lang->handleGet($_GET);
if ($lang->isMultiLang()) {
    // Cfg::LANGUAGES might be empty
    foreach ($lang->getAllLangs() as $lng) {
        if (!defined('Cfg::MENUFILE_' . strtoupper($lng))) {
            throw new Exception('Parameter Cfg::MENUFILE_' . strtoupper($lng) . ' is not set');
        }
        if (!property_exists('Cfg', 'pages_' . $lng)) {
            throw new Exception('Parameter Cfg::pages_' . $lng . ' is not set');
        }
        if (!property_exists('Cfg', 'menu_categories_' . $lng)) {
            throw new Exception('Parameter Cfg::menu_categories_' . $lng . ' is not set');
        }
    }
    // $pages_<lang>
    $pmgr = PageMgr::getInstance(Cfg::${'pages_' . $lang->getLang()}, Common::getAbsPath(Cfg::PAGES_PATH));
    $catalog = CatalogFactory::createCatalogProvider(Cfg::$structure, Cfg::CATALOG_SOURCE_TYPE);
    // MENUFILE_<LANG>
    $menufile = constant('Cfg::MENUFILE_' . strtoupper($lang->getLang()));
    $catalog->loadSource(Common::getAbsPath($menufile));
    $catalog->loadCategories(Cfg::${'menu_categories_' . $lang->getLang()});
    // remember current language
    $mem->store('langdir', $lang->getLang() . DIRECTORY_SEPARATOR);
    $view->set('multilang', true);
    $view->set('curlang', $lang->getLang());
    $view->set('lang_link_start', '?lang=' . $lang->getLang());
    $view->set('lang_link_append', '&lang=' . $lang->getLang());
} else {
    $view->set('multilang', false);
}