Ejemplo n.º 1
0
 /**
  * Bind data to the view.
  *
  * @param View $view
  */
 public function compose(View $view)
 {
     Session::updateCurrent();
     $sessions = Session::registered()->withUserMessages()->where('user_id', '<>', Auth::user()->id)->get();
     $offlineUsers = User::getOfflineWithMessages();
     $user = Auth::user();
     $view->with(['sessions' => $sessions, 'user' => $user, 'offlineUsers' => $offlineUsers]);
 }
Ejemplo n.º 2
0
 /**
  * Register any other events for your application.
  *
  * @param \Illuminate\Contracts\Events\Dispatcher $events
  */
 public function boot(DispatcherContract $events)
 {
     parent::boot($events);
     $pusher = App::make('pusher');
     $events->listen('auth.logout', function ($user) use($pusher) {
         Session::logoutCurrent();
         $pusher->trigger('notifications', 'new-logout', $user);
     });
     $events->listen('auth.login', function ($user, $remember) use($pusher) {
         $pusher->trigger('notifications', 'new-login', $user);
     });
 }
Ejemplo n.º 3
0
 public static function getOfflineWithMessages()
 {
     return self::whereNotIn('id', Session::getRegisteredUserIds())->withMessages()->get()->reject(function ($user) {
         return $user->getAllMessages()->isEmpty();
     });
 }