<?php
// /public_html/admin/status_manage.php
session_start();
require '../config/db_connect.php';

// Auth Check
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"); }

// 1. UPDATE COMPONENT STATUS
if (isset($_POST['update_component'])) {
    $id = intval($_POST['component_id']);
    $status = $_POST['status'];
    $conn->query("UPDATE system_status SET status = '$status' WHERE id = $id");
    $msg = "Component status updated.";
}

// 2. CREATE INCIDENT
if (isset($_POST['create_incident'])) {
    $title = $conn->real_escape_string($_POST['title']);
    $message = $conn->real_escape_string($_POST['message']);
    $status = $_POST['incident_status'];
    
    $stmt = $conn->prepare("INSERT INTO incidents (title, message, status) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $title, $message, $status);
    $stmt->execute();
    $msg = "New incident posted.";
}

// 3. UPDATE INCIDENT
if (isset($_POST['update_incident'])) {
    $id = intval($_POST['incident_id']);
    $status = $_POST['incident_status'];
    $conn->query("UPDATE incidents SET status = '$status' WHERE id = $id");
    $msg = "Incident updated.";
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Manage System Status</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-5">
        <h2 class="mb-4">System Status Control</h2>
        <?php if(isset($msg)) echo "<div class='alert alert-success'>$msg</div>"; ?>

        <div class="row">
            <div class="col-md-6">
                <div class="card shadow-sm mb-4">
                    <div class="card-header bg-dark text-white">Component Health</div>
                    <div class="card-body p-0">
                        <table class="table mb-0">
                            <thead><tr><th>Service</th><th>Status</th><th>Action</th></tr></thead>
                            <tbody>
                                <?php
                                $comps = $conn->query("SELECT * FROM system_status");
                                while($c = $comps->fetch_assoc()):
                                ?>
                                <tr>
                                    <td><?php echo $c['component_name']; ?></td>
                                    <td>
                                        <form method="POST" class="d-flex">
                                            <input type="hidden" name="component_id" value="<?php echo $c['id']; ?>">
                                            <select name="status" class="form-select form-select-sm me-2" onchange="this.form.submit()">
                                                <option value="operational" <?php if($c['status']=='operational') echo 'selected'; ?>>Operational 🟢</option>
                                                <option value="degraded" <?php if($c['status']=='degraded') echo 'selected'; ?>>Degraded 🟡</option>
                                                <option value="outage" <?php if($c['status']=='outage') echo 'selected'; ?>>Outage 🔴</option>
                                            </select>
                                            <input type="hidden" name="update_component" value="1">
                                        </form>
                                    </td>
                                </tr>
                                <?php endwhile; ?>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>

            <div class="col-md-6">
                <div class="card shadow-sm mb-4">
                    <div class="card-header bg-warning text-dark">Post New Incident</div>
                    <div class="card-body">
                        <form method="POST">
                            <input type="text" name="title" class="form-control mb-2" placeholder="Title (e.g. Database Maintenance)" required>
                            <textarea name="message" class="form-control mb-2" rows="2" placeholder="Details..." required></textarea>
                            <select name="incident_status" class="form-select mb-3">
                                <option value="investigating">Investigating</option>
                                <option value="identified">Identified</option>
                                <option value="monitoring">Monitoring</option>
                                <option value="resolved">Resolved</option>
                            </select>
                            <button type="submit" name="create_incident" class="btn btn-dark w-100">Post Incident</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>

        <h4 class="mt-4">Recent Incidents</h4>
        <div class="card">
            <div class="card-body p-0">
                <table class="table mb-0">
                    <thead><tr><th>Date</th><th>Title</th><th>Current Status</th><th>Update</th></tr></thead>
                    <tbody>
                        <?php
                        $incidents = $conn->query("SELECT * FROM incidents ORDER BY created_at DESC LIMIT 5");
                        while($inc = $incidents->fetch_assoc()):
                        ?>
                        <tr>
                            <td><?php echo date('M d H:i', strtotime($inc['created_at'])); ?></td>
                            <td><?php echo htmlspecialchars($inc['title']); ?></td>
                            <td><span class="badge bg-secondary"><?php echo strtoupper($inc['status']); ?></span></td>
                            <td>
                                <?php if($inc['status'] != 'resolved'): ?>
                                <form method="POST" class="d-flex" style="max-width: 150px;">
                                    <input type="hidden" name="incident_id" value="<?php echo $inc['id']; ?>">
                                    <select name="incident_status" class="form-select form-select-sm me-1">
                                        <option value="investigating">Investigating</option>
                                        <option value="resolved">Resolved</option>
                                    </select>
                                    <button type="submit" name="update_incident" class="btn btn-sm btn-primary">Save</button>
                                </form>
                                <?php else: ?>
                                    <span class="text-success small"><i class="bi bi-check-circle"></i> Closed</span>
                                <?php endif; ?>
                            </td>
                        </tr>
                        <?php endwhile; ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</body>
</html>