<?php
include 'header.php';

// 1. Verify database connection
if (!$link) {
    die("<div class='alert alert-danger'>Database connection failed: " . mysqli_connect_error() . "</div>");
}

// 2. Debug: Check if table exists
$table_check = mysqli_query($link, "SHOW TABLES LIKE 'signal_subscriptions'");
if (mysqli_num_rows($table_check) == 0) {
    die("<div class='alert alert-danger'>Error: The 'signal_subscriptions' table doesn't exist in the database.</div>");
}

// 3. Count total subscriptions for debugging
$count_sql = "SELECT COUNT(*) as total FROM signal_subscriptions";
$count_result = mysqli_query($link, $count_sql);
if (!$count_result) {
    die("<div class='alert alert-danger'>Error counting subscriptions: " . mysqli_error($link) . "</div>");
}
$count = mysqli_fetch_assoc($count_result);

// Handle delete action
if (isset($_GET['del'])) {
    $tid = mysqli_real_escape_string($link, $_GET['del']);
    $del = mysqli_query($link, "DELETE FROM signal_subscriptions WHERE id = '$tid'");
    if ($del) {
        echo "<script>
            Swal.fire({
                icon: 'success',
                title: 'Deleted!',
                text: 'Subscription deleted successfully',
                confirmButtonColor: '#1e293b'
            }).then(() => {
                window.location.href = 'signal_subscriptions.php';
            });
        </script>";
    } else {
        echo "<script>
            Swal.fire({
                icon: 'error',
                title: 'Error!',
                text: 'Error deleting subscription: " . addslashes(mysqli_error($link)) . "',
                confirmButtonColor: '#1e293b'
            });
        </script>";
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Signal Subscriptions</title>
    
    <!-- DataTables CSS -->
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/dataTables.jqueryui.min.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.5.6/css/buttons.jqueryui.min.css">
    
    <!-- SweetAlert2 -->
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    
    <style>
    .table-responsive {
        overflow-x: hidden;
    }
    @media (max-width: 800px) {
        .table-responsive {
            overflow-x: auto;
        }
    }
    .badge-pending { background-color: #ffc107; color: #000; }
    .badge-active { background-color: #28a745; color: #fff; }
    .badge-expired { background-color: #6c757d; color: #fff; }
    .badge-rejected { background-color: #dc3545; color: #fff; }
    </style>
</head>
<body>
<div class="page-content">
    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-12">
                <div class="card">
                    <div class="card-header">
                        <h4 class="card-title mb-0">Signal Subscriptions (Total: <?php echo $count['total']; ?>)</h4>
                    </div>
                    <div class="card-body">
                        <div class="table-responsive">
                            <table id="subscriptionsTable" class="table table-bordered table-striped">
                                <thead>
                                    <tr>
                                        <th>ID</th>
                                        <th>User</th>
                                        <th>Subscription ID</th>
                                        <th>WhatsApp</th>
                                        <th>Amount</th>
                                        <th>Start Date</th>
                                        <!--<th>Expiry Date</th>-->
                                        <!--<th>Status</th>-->
                                        <th>Actions</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php
                                    $sql = "SELECT s.*, u.first_name, u.last_name, u.email 
                                           FROM signal_subscriptions s
                                           LEFT JOIN users u ON s.user_id = u.id
                                           ORDER BY s.id DESC";
                                    $result = mysqli_query($link, $sql);
                                    
                                    if ($result && mysqli_num_rows($result) > 0) {
                                        while($row = mysqli_fetch_assoc($result)) {
                                            $status_class = 'badge-' . strtolower($row['status']);
                                            ?>
                                            <tr>
                                                <td><?php echo htmlspecialchars($row['id']); ?></td>
                                                <td>
                                                    <?php echo htmlspecialchars($row['fname'] . ' ' . $row['lname']); ?>
                                                    <br><small><?php echo htmlspecialchars($row['email']); ?></small>
                                                </td>
                                                <td><?php echo htmlspecialchars($row['subscription_id']); ?></td>
                                                <td><?php echo htmlspecialchars($row['whatsapp_number']); ?></td>
                                                <td>$<?php echo number_format($row['amount'], 2); ?></td>
                                                <td><?php echo date('M d, Y', strtotime($row['subscription_date'])); ?></td>
                                                <!--<td><?php echo date('M d, Y', strtotime($row['expiry_date'])); ?></td>-->
                                                <!--<td>-->
                                                <!--    <span class="badge <?php echo $status_class; ?>">-->
                                                <!--        <?php echo ucfirst($row['status']); ?>-->
                                                <!--    </span>-->
                                                <!--</td>-->
                                                <td>
                                                   
                                                    <a href="?del=<?php echo $row['id']; ?>" class="btn btn-sm btn-danger" 
                                                       onclick="return confirmDelete()">
                                                       <i class="fas fa-trash"></i> Delete
                                                    </a>
                                                </td>
                                            </tr>
                                            <?php
                                        }
                                    } else {
                                        echo '<tr><td colspan="9" class="text-center">No subscriptions found in database</td></tr>';
                                    }
                                    ?>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- DataTables JS -->
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/buttons/1.5.6/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/buttons/1.5.6/js/buttons.html5.min.js"></script>

<script>
$(document).ready(function() {
    $('#subscriptionsTable').DataTable({
        dom: 'Bfrtip',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5'
        ],
        responsive: true
    });
});

function confirmDelete() {
    return Swal.fire({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        icon: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#d33',
        cancelButtonColor: '#3085d6',
        confirmButtonText: 'Yes, delete it!'
    }).then((result) => {
        return result.isConfirmed;
    });
}
</script>

<?php include 'footer.php'; ?>