public function save(HTTPRequestCustom $request) { $installed_langs = LangsManager::get_installed_langs_map(); foreach ($installed_langs as $lang) { if ($request->get_string('delete-' . $lang->get_id(), '')) { AppContext::get_response()->redirect(AdminLangsUrlBuilder::uninstall($lang->get_id())); } } if ($request->get_bool('update', false)) { foreach ($installed_langs as $lang) { if ($lang->get_id() !== LangsManager::get_default_lang()) { $id = $lang->get_id(); $activated = $request->get_bool('activated-' . $id, false); $authorizations = Authorizations::auth_array_simple(Lang::ACCES_LANG, $id); LangsManager::change_informations($id, $activated, $authorizations); } } AppContext::get_response()->redirect(AdminLangsUrlBuilder::list_installed_langs()); } }
public function update_langs() { $active_langs_number = 0; foreach (LangsManager::get_installed_langs_map() as $id => $lang) { if ($lang->get_configuration()->get_compatibility() == self::NEW_KERNEL_VERSION) { $active_langs_number++; } else { LangsManager::uninstall($id); $this->add_information_to_file('lang ' . $id, 'has been uninstalled because : incompatible with new version'); } } if (empty($active_langs_number)) { LangsManager::install('french'); $user_accounts_config = UserAccountsConfig::load(); $user_accounts_config->set_default_lang('french'); UserAccountsConfig::save(); } }