<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: GET");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

require_once 'db.php';

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    try {
        if (isset($_GET['mobile']) && !empty($_GET['mobile'])) {
            $mobile = $_GET['mobile'];

            // Use CURDATE() to get the current date in MySQL
            $stmt = $pdo->prepare("SELECT * FROM membership WHERE mem_mobile = :mobile AND mem_end_date >= CURDATE() ORDER BY id DESC");
            $stmt->bindParam(':mobile', $mobile);
            $stmt->execute();

            $membership = $stmt->fetch(PDO::FETCH_ASSOC);

            if ($membership) {
                $currentDate = new DateTime();
                $endDate = new DateTime($membership['mem_end_date']);
                $interval = $currentDate->diff($endDate);
                $daysRemaining = $interval->days;

                // Ensure questionsLeft is an integer
                $questionsLeft = intval($membership['mem_question_left']);

                // IMPORTANT: Always include questionsLeft in the response
                if ($daysRemaining <= 0) {
                    $response = [
                        'status' => 'expired',
                        'reason' => 'Membership expired',
                        'questionsLeft' => 0
                    ];
                } else {
                    $response = [
                        'status' => 'active',
                        'reason' => 'Expiring in ' . $daysRemaining . ' days',
                        'questionsLeft' => $questionsLeft
                    ];
                }

                echo json_encode($response);
            } else {
                echo json_encode([
                    'status' => 'expired', 
                    'reason' => 'Membership not found',
                    'questionsLeft' => 0
                ]);
            }
        } else {
            echo json_encode([
                'status' => 'error', 
                'reason' => 'Mobile number is required',
                'questionsLeft' => 0
            ]);
        }
    } catch (Exception $e) {
        echo json_encode([
            'status' => 'error', 
            'reason' => 'Error: ' . $e->getMessage(),
            'questionsLeft' => 0
        ]);
    }
}
?>