From 2ebfe4db94e7a254af92037a9d7dbe09a210572b Mon Sep 17 00:00:00 2001 From: Julian Prieber Date: Thu, 16 Feb 2023 13:02:05 +0100 Subject: [PATCH] Added last seen section to users page --- app/Http/Controllers/AdminController.php | 8 +++---- resources/views/layouts/sidebar.blade.php | 8 +++++++ resources/views/panel/users.blade.php | 27 ++++++++++++++++++++--- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index c932686..1231991 100755 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -50,16 +50,16 @@ public function users(Request $request) switch ($usersType) { case 'all': - $users = User::select('id', 'name', 'email', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at')->get(); + $users = User::select('id', 'name', 'email', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at', 'updated_at')->get(); break; case 'user': - $users = User::where('role', 'user')->select('id', 'email', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at')->get(); + $users = User::where('role', 'user')->select('id', 'email', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at', 'updated_at')->get(); break; case 'vip': - $users = User::where('role', 'vip')->select('id', 'email', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at')->get(); + $users = User::where('role', 'vip')->select('id', 'email', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at', 'updated_at')->get(); break; case 'admin': - $users = User::where('role', 'admin')->select('id', 'email', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at')->get(); + $users = User::where('role', 'admin')->select('id', 'email', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at', 'created_at', 'updated_at')->get(); break; } diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index 0178f09..aeafaf9 100755 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -4,6 +4,14 @@ Studio ⚙️ {{ config('app.name') }} +@php +// Update the 'updated_at' timestamp for the currently authenticated user +if (auth()->check()) { + $user = auth()->user(); + $user->touch(); +} +@endphp + @include('layouts.analytics') diff --git a/resources/views/panel/users.blade.php b/resources/views/panel/users.blade.php index cbd3fbc..a6b2189 100755 --- a/resources/views/panel/users.blade.php +++ b/resources/views/panel/users.blade.php @@ -39,6 +39,7 @@ Total links Total clicks Created at + Last seen Edit Links @if(env('REGISTER_AUTH') !== 'auth')E-Mail Verified@endif @@ -48,10 +49,29 @@ @foreach($users as $user) - created_at)); + @php + $dateFormat = 'd/m/Y'; + + $date = date($dateFormat, strtotime($user->created_at)); if(!isset($user->created_at)){$date = "NULL";} - ?> + + $lastSeen = $user->updated_at; + $lastSeenDate = date($dateFormat, strtotime($lastSeen)); + $timezone = new DateTimeZone(date_default_timezone_get()); + $datetime = new DateTime($lastSeen, $timezone); + $now = new DateTime(null, $timezone); + $interval = $now->diff($datetime); + $daysAgo = $interval->days." days ago"; + if($interval->days == 1) $daysAgo = "1 day ago"; + if($interval->days == 0) $daysAgo = "Today"; + if ($interval->days >= 365) { + $yearsAgo = floor($interval->days / 365); + if ($yearsAgo == 1) { + $daysAgo = "1 year ago"; + } else { + $daysAgo = "$yearsAgo years ago"; + }} + @endphp {{ $user->id }} {{ $user->name }} @@ -61,6 +81,7 @@ {{$user->links}} {{$user->clicks}} {{$date}} + {{$daysAgo}} Edit View @if(env('REGISTER_AUTH') !== 'auth')