<?php namespace App\Listeners; use App\Events\LastActivityEvent; use App\Http\Controllers\Auth\LoginController; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; class LastActivityListener { public function __construct() { // } public function handle(LastActivityEvent $event) { $user = Auth::user(); $time = Settings('device_limit_time'); $last_activity = $user->last_activity_at; if ($time != 0) { if (!empty($last_activity)) { $valid_activity = Carbon::parse($last_activity)->addMinutes($time); $current_time = Carbon::now(); if ($current_time->lt($valid_activity)) { // Toastr::success('in'); } else { // Toastr::error('out'); $loginController = new LoginController(); $loginController->logout(request()); } } } $user->last_activity_at = now(); $user->save(); } }