« Back to History
list.php
|
20260723_000646.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/../includes/bootstrap.php'; require_once __DIR__ . '/../includes/header.php'; require_once __DIR__ . '/../includes/sidebar.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action_id'], $_POST['status_action'])) { $action_id = (int)$_POST['action_id']; $target_status = ($_POST['status_action'] === 'activate') ? 'ACTIVE' : 'SUSPENDED'; try { $pdo->beginTransaction(); $statusStmt = $pdo->prepare("UPDATE plans SET status = ? WHERE id = ?"); $statusStmt->execute([$target_status, $action_id]); $pdo->commit(); } catch (Exception $e) { $pdo->rollBack(); } } $search = trim($_GET['search'] ?? ''); $filter = trim($_GET['filter'] ?? 'all'); $whereClause = " WHERE 1=1 "; $params = []; if (!empty($search)) { $whereClause .= " AND plan_name LIKE ? "; $params[] = "%$search%"; } if ($filter === 'active') { $whereClause .= " AND status = 'ACTIVE' "; } elseif ($filter === 'suspended') { $whereClause .= " AND status = 'SUSPENDED' "; } try { $dataStmt = $pdo->prepare("SELECT * FROM plans $whereClause ORDER BY id DESC"); $dataStmt->execute($params); $plans = $dataStmt->fetchAll(); } catch (PDOException $e) { $plans = []; } ?> <div class="container-fluid p-0"> <div class="d-flex justify-content-between align-items-center mb-3"> <h4 class="m-0 fw-bold text-dark">Subscription Plans</h4> <a href="/admin/plan/add.php" class="btn btn-primary btn-sm">+ Create Plan</a> </div> <div class="card border-0 shadow-sm p-3 mb-4 bg-white"> <form method="GET" action="list.php" class="row g-2 align-items-center"> <div class="col-12 col-md-4"> <input type="text" name="search" class="form-control form-control-sm" placeholder="Search plan structural names..." value="<?= htmlspecialchars($search) ?>"> </div> <div class="col-12 col-md-3"> <select name="filter" class="form-select form-select-sm"> <option value="all" <?= $filter === 'all' ? 'selected' : '' ?>>All Status Tiers</option> <option value="active" <?= $filter === 'active' ? 'selected' : '' ?>>Active Plans</option> <option value="suspended" <?= $filter === 'suspended' ? 'selected' : '' ?>>Suspended</option> </select> </div> <div class="col-12 col-md-2"> <button type="submit" class="btn btn-sm btn-secondary w-100">Apply Filters</button> </div> </form> </div> <div class="card border-0 shadow-sm bg-white"> <div class="table-responsive"> <table class="table table-hover align-middle mb-0 text-nowrap small"> <thead class="table-light"> <tr> <th>ID</th> <th>Plan Name</th> <th>Price</th> <th>Duration</th> <th>Users Max</th> <th>Branches Max</th> <th>Companies Max</th> <th>Storage Cap</th> <th>Status</th> <th class="text-center">Actions</th> </tr> </thead> <tbody> <?php if (empty($plans)): ?> <tr><td colspan="10" class="text-center py-4 text-muted">No defined plan frameworks registered.</td></tr> <?php else: ?> <?php foreach ($plans as $row): $statusBadge = ($row['status'] === 'ACTIVE') ? '<span class="badge bg-success">ACTIVE</span>' : '<span class="badge bg-danger">SUSPENDED</span>'; ?> <tr> <td><?= $row['id'] ?></td> <td class="fw-semibold text-dark"><?= htmlspecialchars($row['plan_name']) ?></td> <td class="fw-bold">₹<?= number_format($row['price'], 2) ?></td> <td><?= (int)$row['duration'] ?> Days</td> <td><?= (int)$row['max_users'] ?></td> <td><?= (int)$row['max_branches'] ?></td> <td><?= (int)$row['max_companies'] ?></td> <td><code><?= (int)$row['storage_limit'] ?> GB</code></td> <td><?= $statusBadge ?></td> <td class="text-center"> <div class="d-inline-flex gap-1"> <a href="/admin/plan/edit.php?id=<?= $row['id'] ?>" class="btn btn-sm btn-outline-secondary px-2">Edit Plan</a> <form method="POST" action="list.php" class="d-inline m-0"> <input type="hidden" name="action_id" value="<?= $row['id'] ?>"> <?php if ($row['status'] === 'ACTIVE'): ?> <input type="hidden" name="status_action" value="suspend"> <button type="submit" class="btn btn-sm btn-outline-danger px-2">Suspend</button> <?php else: ?> <input type="hidden" name="status_action" value="activate"> <button type="submit" class="btn btn-sm btn-outline-success px-2">Activate</button> <?php endif; ?> </form> </div> </td> </tr> <?php endforeach; ?> <?php endif; ?> </tbody> </table> </div> </div> </div> <?php require_once __DIR__ . '/../includes/footer.php'; ?>