Exemplo n.º 1
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $this->checkSettings($request);
     $forceLocale = SettingsFacade::getLocale();
     if ($request->has(AppConfig::KEY_FORCE_LOCALE)) {
         $forceLocale = $request->input(AppConfig::KEY_FORCE_LOCALE);
     }
     setCurrentLocale($forceLocale);
     return $next($request);
 }
Exemplo n.º 2
0
 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;
 }