<?php
// /public_html/admin/ticket_reply.php
session_start();
require '../config/db_connect.php';

// Admin Auth
if (!isset($_SESSION['user_id'])) { header("Location: ../login.php"); exit(); }
$check = $conn->query("SELECT role FROM users WHERE id = {$_SESSION['user_id']}")->fetch_assoc();
if (($check['role'] ?? '') !== 'admin') { die("Access Denied"); }

$ticket_id = intval($_GET['id']);
$ticket = $conn->query("SELECT * FROM tickets WHERE id = $ticket_id")->fetch_assoc();

// HANDLE ADMIN REPLY
if (isset($_POST['admin_reply'])) {
    $message = $conn->real_escape_string($_POST['message']);
    $status = $_POST['status']; // Can set to 'answered' or 'closed'
    
    // 0 is Admin ID in replies table
    $stmt = $conn->prepare("INSERT INTO ticket_replies (ticket_id, user_id, message) VALUES (?, 0, ?)");
    $stmt->bind_param("is", $ticket_id, $message);
    
    if($stmt->execute()) {
        $conn->query("UPDATE tickets SET status = '$status', updated_at = NOW() WHERE id = $ticket_id");
        header("Location: ticket_reply.php?id=$ticket_id");
        exit();
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Reply Ticket #<?php echo $ticket_id; ?></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
    <?php include 'includes/navbar.php'; ?>

    <div class="container mt-4">
        <a href="tickets.php" class="btn btn-outline-secondary mb-3">&larr; Back</a>

        <div class="card shadow-sm">
            <div class="card-header bg-dark text-white">
                Ticket #<?php echo $ticket_id; ?>: <?php echo htmlspecialchars($ticket['subject']); ?>
            </div>
            <div class="card-body bg-light" style="max-height: 500px; overflow-y: auto;">
                 <?php
                $replies = $conn->query("SELECT * FROM ticket_replies WHERE ticket_id = $ticket_id ORDER BY created_at ASC");
                while($reply = $replies->fetch_assoc()):
                    $is_admin = ($reply['user_id'] == 0);
                    $bg_class = $is_admin ? "bg-primary text-white ms-auto" : "bg-white border me-auto";
                    $label = $is_admin ? "You (Support)" : "User";
                ?>
                    <div class="d-flex flex-column mb-3 <?php echo $is_admin ? 'align-items-end' : 'align-items-start'; ?>">
                        <div class="p-3 rounded shadow-sm <?php echo $bg_class; ?>" style="max-width: 75%;">
                            <small class="fw-bold d-block mb-1"><?php echo $label; ?></small>
                            <?php echo nl2br(htmlspecialchars($reply['message'])); ?>
                        </div>
                        <small class="text-muted"><?php echo date('d/m H:i', strtotime($reply['created_at'])); ?></small>
                    </div>
                <?php endwhile; ?>
            </div>
            <div class="card-footer bg-white">
                <form method="POST">
                    <div class="mb-2">
                        <textarea name="message" class="form-control" rows="3" placeholder="Admin Reply..." required></textarea>
                    </div>
                    <div class="d-flex justify-content-between align-items-center">
                        <select name="status" class="form-select w-auto">
                            <option value="answered">Mark as Answered</option>
                            <option value="closed">Close Ticket</option>
                        </select>
                        <button type="submit" name="admin_reply" class="btn btn-primary">Send Reply</button>
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>