<?php
session_start();
if (!isset($_SESSION['admin_logged_in'])) {
    header('Location: index.php');
    exit();
}
require_once('../db.php');

$message = "";

// Create uploads directory if not exists
if (!file_exists('../uploads/gallery')) {
    mkdir('../uploads/gallery', 0777, true);
}

// Handle Delete
if (isset($_GET['delete'])) {
    $id = $_GET['delete'];
    $res = $conn->query("SELECT image FROM gallery WHERE id = $id");
    if ($row = $res->fetch_assoc()) {
        if (file_exists('../uploads/gallery/' . $row['image'])) {
            unlink('../uploads/gallery/' . $row['image']);
        }
    }
    $conn->query("DELETE FROM gallery WHERE id = $id");
    $message = "Gallery item deleted successfully!";
}

// Handle Add/Update
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $heading = $_POST['heading'];
    $id = $_POST['id'];

    if (!empty($_FILES['image']['name'])) {
        $image = time() . '_' . $_FILES['image']['name'];
        move_uploaded_file($_FILES['image']['tmp_name'], '../uploads/gallery/' . $image);
        
        if ($id) {
            // Delete old image
            $res = $conn->query("SELECT image FROM gallery WHERE id = $id");
            if ($row = $res->fetch_assoc()) {
                if (file_exists('../uploads/gallery/' . $row['image'])) {
                    unlink('../uploads/gallery/' . $row['image']);
                }
            }
            $stmt = $conn->prepare("UPDATE gallery SET image=?, heading=? WHERE id=?");
            $stmt->bind_param("ssi", $image, $heading, $id);
        } else {
            $stmt = $conn->prepare("INSERT INTO gallery (image, heading) VALUES (?, ?)");
            $stmt->bind_param("ss", $image, $heading);
        }
    } else {
        if ($id) {
            $stmt = $conn->prepare("UPDATE gallery SET heading=? WHERE id=?");
            $stmt->bind_param("si", $heading, $id);
        }
    }
    
    if ($stmt->execute()) {
        $message = "Gallery item saved successfully!";
    }
}

$gallery = $conn->query("SELECT * FROM gallery ORDER BY id DESC");
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Manage Gallery | BSPS Admin</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
    <style>
        :root { --primary: #198754; --dark: #212529; }
        body { background: #f4f7f6; }
        .sidebar { height: 100vh; width: 250px; position: fixed; background: var(--dark); color: #fff; padding-top: 20px; }
        .sidebar a { color: rgba(255,255,255,0.7); text-decoration: none; padding: 15px 25px; display: block; transition: 0.3s; }
        .sidebar a:hover, .sidebar a.active { color: #fff; background: var(--primary); }
        .main-content { margin-left: 250px; padding: 40px; }
        .card { border: none; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
        .table img { width: 80px; height: 80px; object-fit: cover; border-radius: 5px; }
    </style>
</head>
<body>
    <div class="sidebar">
        <div class="px-4 mb-4"><h4 class="fw-bold">BSPS ADMIN</h4></div>
        <a href="dashboard.php"><i class="fas fa-home me-2"></i> Dashboard</a>
        <a href="manage_applications.php"><i class="fas fa-envelope-open-text me-2"></i> Applications Box</a>
        <a href="manage_schools.php"><i class="fas fa-school me-2"></i> Our Schools (Campuses)</a>
        <a href="manage_leadership.php"><i class="fas fa-users-cog me-2"></i> Board Leadership</a>
        <a href="manage_director.php"><i class="fas fa-user-tie me-2"></i> Director's Desk</a>
        <a href="manage_events.php"><i class="fas fa-calendar-alt me-2"></i> Events Gallery</a>
        <a href="manage_important_sites.php"><i class="fas fa-globe me-2"></i> Important Sites</a>
        <a href="manage_slider.php"><i class="fas fa-images me-2"></i> Manage Slider</a>
        <a href="manage_gallery.php" class="active"><i class="fas fa-photo-video me-2"></i> Manage Gallery</a>
        <a href="../index.php" target="_blank"><i class="fas fa-external-link-alt me-2"></i> Visit Website</a>
        <a href="logout.php" class="text-danger mt-4"><i class="fas fa-sign-out-alt me-2"></i> Logout</a>
    </div>

    <div class="main-content">
        <div class="d-flex justify-content-between align-items-center mb-4">
            <h2 class="fw-bold">Manage Gallery</h2>
            <button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addModal"><i class="fas fa-plus me-2"></i> Add New Image</button>
        </div>

        <?php if($message): ?>
            <div class="alert alert-success alert-dismissible fade show"><?php echo $message; ?><button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>
        <?php endif; ?>

        <div class="card p-4">
            <table class="table table-hover align-middle">
                <thead>
                    <tr>
                        <th>Image</th>
                        <th>Heading</th>
                        <th>Action</th>
                    </tr>
                </thead>
                <tbody>
                    <?php while($row = $gallery->fetch_assoc()): ?>
                    <tr>
                        <td><img src="../uploads/gallery/<?php echo $row['image']; ?>" alt=""></td>
                        <td><div class="fw-bold"><?php echo $row['heading']; ?></div></td>
                        <td>
                            <button class="btn btn-sm btn-primary edit-btn" data-data='<?php echo json_encode($row); ?>' data-bs-toggle="modal" data-bs-target="#addModal"><i class="fas fa-edit"></i></button>
                            <a href="?delete=<?php echo $row['id']; ?>" class="btn btn-sm btn-danger" onclick="return confirm('Are you sure?')"><i class="fas fa-trash"></i></a>
                        </td>
                    </tr>
                    <?php endwhile; ?>
                </tbody>
            </table>
        </div>
    </div>

    <!-- Add/Edit Modal -->
    <div class="modal fade" id="addModal" tabindex="-1">
        <div class="modal-dialog">
            <form method="POST" enctype="multipart/form-data" class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Gallery Details</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <input type="hidden" name="id" id="gallery_id">
                    <div class="mb-3">
                        <label class="form-label">Gallery Image</label>
                        <input type="file" name="image" class="form-control" id="gallery_image">
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Heading</label>
                        <input type="text" name="heading" class="form-control" id="gallery_heading">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Save Changes</button>
                </div>
            </form>
        </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        $('.edit-btn').click(function(){
            const data = $(this).data('data');
            $('#gallery_id').val(data.id);
            $('#gallery_heading').val(data.heading);
            $('#gallery_image').removeAttr('required');
        });
        $('#addModal').on('hidden.bs.modal', function () {
            $(this).find('form').trigger('reset');
            $('#gallery_id').val('');
            $('#gallery_image').attr('required', 'required');
        });
    </script>
</body>
</html>
