Viewing: CheckSubscription.php
<?php namespace App\Http\Middleware; use Closure; use Auth; use Carbon\Carbon; use App\Models\Subscription; use App\Models\Magazine; class CheckSubscription { public function handle($request, Closure $next) { if (Auth::check()) { $user = Auth::user(); $userSubscription = Subscription::where('user_id', $user->id)->first(); if (!$userSubscription || !$userSubscription->isActive()) { return redirect()->route('subscription.page'); } $remainingDays = Carbon::parse($userSubscription->end_date)->diffInDays(today(), false); if ($remainingDays < 0) { // Subscription has expired, redirect to the subscription page return redirect()->route('subscription.page'); } } else { // User is not authenticated, redirect to the subscription page return redirect()->route('subscription.page'); } return $next($request); } }
Return