/** * Register any other events for your application. * * @param \Illuminate\Contracts\Events\Dispatcher $events * @return void */ public function boot(DispatcherContract $events) { parent::boot($events); Event::listen('language.change', function (Language $language) { // Change application language $language->apply()->remember(); // Update user's language if ($user = Auth::user()) { $user->language()->associate($language)->save(); } // Feedback Session::flash('success', sprintf(_('Language changed to %s'), $language->native_name)); }); Event::listen('auth.login', function (User $user) { // Change application language to current user's language if ($user->language instanceof Language) { $user->language->apply()->remember(); } // Stats $user->increment('login_count'); $user->provider->increment('login_count'); // Feedback Session::flash('success', sprintf(_('Logged in as %s'), $user)); }); Event::listen('auth.logout', function (User $user) { // Feedback Session::flash('success', _('Logged out')); // Reset default application language Language::forget(); }); }
/** * Handle the event. * * @param PodcastWasPurchased $event * @return void */ public function handle(Logout $event) { // Access the user using $event->user... // Reset default application language Language::forget(); // Purge admin panel search results cache Cache::forget('adminSearchResults' . $event->user->getKey()); }