/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $fallback_locale = Settings::getFallBackLocale(); $locales = Settings::getLocales(); if (!Session::has('locale') || !in_array(Session::get('locale'), $locales)) { Session::put('locale', $fallback_locale); } app()->setLocale(Session::get('locale')); return $next($request); }
/** * Handles locales update * * @param LocalesRequest $request * @return Response */ public function putLocales(LocalesRequest $request) { $fallback_locale = Settings::getFallBackLocale(); Session::put('settings_tab', 'locales'); // Check if try to set fallback locale that is not in the locales list if (!preg_match('/' . $fallback_locale . '/', $request->get('locales'))) { flash()->warning(trans('settings.fallback_locale_not_in_list')); } else { flash()->success(trans('settings.locales_updated')); } Settings::where('param', 'locales')->update(['value' => $request->input('locales')]); Cache::flush('settings'); Session::put('locale', $fallback_locale); return redirect()->back(); }