toastr = $toastr; } /** * Set locale if it's allowed. * * @param string $locale * @param \Illuminate\Http\Request $request **/ private function setLocale($locale, $request) { // Check if is allowed and set default locale if not if (! Language::allowed($locale)) { $locale = config('app.locale'); } if (auth()->check()) { auth()->user()->setAttribute('locale', $locale)->save(); } else { $request->session()->put('locale', $locale); } } /** * Set locale and return home url. * * @param string $locale * @param \Illuminate\Http\Request $request * * @return string **/ public function home($locale, Request $request) { $this->setLocale($locale, $request); return redirect()->route('home') ->with($this->toastr->success('Language Changed!!', 'Yay!', ['options'])); } /** * Set locale and return back. * * @param string $locale * @param \Illuminate\Http\Request $request * * @return string **/ public function back($locale, Request $request) { $this->setLocale($locale, $request); return redirect()->back() ->with($this->toastr->success('Language Changed!!', 'Yay!', ['options'])); } }