HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //var/www/html/owlcrm/app/Http/Middleware/CheckSubscription.php
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Support\Facades\Log;
use Symfony\Component\HttpFoundation\Response;

class CheckSubscription
{
    public function handle(Request $request, Closure $next): Response
    {
        
        //  Check if the user has an active subscription
        $user = auth()->user();

        $id = $request->route('id'); // Get the 'id' parameter from the route
        session(['subscriptionKey' => $id]);
    
        if (!Auth::check()) {
            Log::info("User not logged in. Redirecting to register page.");
            return redirect()->route('register');
        }
      
         // Check if the user has an active subscription
         $hasActiveSubscription = $user->subscriptions->where('status', 'active')->count() > 0;
         if (!$hasActiveSubscription && !request()->routeIs('subscriptions') && !request()->routeIs('buy.subscription.plan')) {
             return redirect()->route('subscriptions');
         }


        Log::info("Already on the buy-subscription-plan route. Proceeding to next.");
        return $next($request);
    }
}