protected function checkForceLocale(Request $request) { $allSupportedLocaleCodes = allSupportedLocaleCodes(); $isDirectLocale = in_array($request->segment(1), $allSupportedLocaleCodes); $forceLocale = $isDirectLocale ? currentLocaleCode() : SettingsFacade::getLocale(); if ($request->has(AppConfig::KEY_FORCE_LOCALE)) { $forceLocale = $request->input(AppConfig::KEY_FORCE_LOCALE); } if (in_array($forceLocale, $allSupportedLocaleCodes)) { if ($forceLocale != SettingsFacade::getLocale()) { SettingsFacade::setLocale($forceLocale); SettingsFacade::storeSession(); SettingsFacade::storeUser(); } if ($forceLocale != currentLocaleCode()) { $rdr = redirect(currentURL($forceLocale)); return SettingsFacade::storeCookie($rdr); } } return false; }