Source for file setdefaultlanguage.php
Documentation is available at setdefaultlanguage.php
 * @package     Joomla.Installation  
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.  
 * @license     GNU General Public License version 2 or later; see LICENSE.txt  
 * Controller class to set the default application languages for the Joomla Installer.  
 * @package     Joomla.Installation  
        // Overrides application config and set the configuration.php file so tokens and database works  
     * Execute the controller.  
        /* @var InstallationApplicationWeb $app */  
        // Check for request forgeries.  
        // Get the languages model.  
        // Check for request forgeries in the administrator language  
        $admin_lang = 
$this->input->getString('administratorlang', false);  
        // Check that the string is an ISO Language Code avoiding any injection.  
        if (!preg_match('/^[a-z]{2}(\-[A-Z]{2})?$/', $admin_lang))  
        // Attempt to set the default administrator language  
        if (!$model->setDefault($admin_lang, 'administrator'))  
            // Create a error response message.  
            $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_ADMIN_COULDNT_SET_DEFAULT'), 'error');  
            // Create a response body.  
            $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_ADMIN_SET_DEFAULT', $admin_lang));  
        // Check for request forgeries in the site language  
        $frontend_lang = 
$this->input->getString('frontendlang', false);  
        // Check that the string is an ISO Language Code avoiding any injection.  
        if (!preg_match('/^[a-z]{2}(\-[A-Z]{2})?$/', $frontend_lang))  
            $frontend_lang = 
'en-GB';  
        // Attempt to set the default site language  
        if (!$model->setDefault($frontend_lang, 'site'))  
            // Create a error response message.  
            $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_FRONTEND_COULDNT_SET_DEFAULT'), 'error');  
            // Create a response body.  
            $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_FRONTEND_SET_DEFAULT', $frontend_lang));  
        // Check if user has activated the multilingual site  
        $data                = 
$this->input->post->get('jform', array(), 'array');  
        $activeMultilanguage = (int) 
$data['activateMultilanguage'];  
        if ($activeMultilanguage)  
            if (!$model->enablePlugin('plg_system_languagefilter'))  
                $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER', $frontend_lang));  
            // Activate optional ISO code Plugin  
            $activatePluginIsoCode = (int) 
$data['activatePluginLanguageCode'];  
            if ($activatePluginIsoCode)  
                if (!$model->enablePlugin('plg_system_languagecode'))  
                    $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE'));  
            if (!$model->addModuleLanguageSwitcher())  
                $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE'));  
            $siteLanguages = 
$model->getInstalledlangsFrontend();  
            foreach ($siteLanguages as $siteLang)  
                // Add Language Manager: Content Languages  
                $return = 
$tableLanguage->load(array('lang_code' => 
$siteLang->language));  
                    $sefLangString = 
$model->getSefString($siteLang, $siteLanguages);  
                    if (!$model->addLanguage($siteLang, $sefLangString))  
                        $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CONTENT_LANGUAGE', $siteLang->name));  
                if (!$error && 
!$model->addMenuGroup($siteLang))  
                    $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU', $siteLang->name));  
                if (!$error && 
!$model->addMenuItem($siteLang))  
                    $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM', $siteLang->name));  
                if (!$error && 
!$model->addModuleMenu($siteLang))  
                    $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE', $frontend_lang));  
                    $tableCategory = 
$model->addCategory($siteLang);  
                    if ($tableCategory === 
false)  
                        $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY', $frontend_lang));  
                    $categoryId = 
$tableCategory->id;  
                    if (!$model->addArticle($siteLang, $categoryId))  
                        $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE', $frontend_lang));  
            if (!$model->disableModuleMainMenu())  
                $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_UNPUBLISH_MOD_DEFAULTMENU'));  
            if (!$model->enableModule('mod_multilangstatus'))  
                $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_PUBLISH_MOD_MULTILANGSTATUS'));  
        // Redirect to the final page.  
        $app->sendJsonResponse($r);  
 
 
	
		Documentation generated on Tue, 19 Nov 2013 15:12:57 +0100 by phpDocumentor 1.4.3