<?php 
session_start();

if (!isset($_SESSION['ingresado']) || $_SESSION['ingresado'] != true) {
    header("Location: login.php");
    exit();
}

if ($_SESSION['rol'] != 'Inspector') {
    header("Location: login.php");
    exit();
}

if (isset($_GET['cerrar'])) {
    session_destroy();
    header("Location: login.php");
    exit();
}

$servername = "localhost";
$username_db = "root";
$password_db = "";
$database = "control_atrasos";

$conn = new mysqli($servername, $username_db, $password_db, $database);
$conn->set_charset("utf8mb4");

$mensaje = "";
$tipo_mensaje = "success";
$estudiantes = null;

$cursos = $conn->query("SELECT id_curso, nombre_curso, paralelo FROM curso ORDER BY nombre_curso, paralelo");

$id_curso_seleccionado = isset($_POST['select_curso']) ? $_POST['select_curso'] : '';

// Registrar atraso
if (isset($_POST['btn_registrar_atraso'])) {
    $id_estudiante = $_POST['id_estudiante'];
    $trimestre = $_POST['trimestre'];
    $fecha_hora = date("Y-m-d H:i:s");
    
    $stmt = $conn->prepare("INSERT INTO registro (id_estudiante, tipo, trimestre, fecha_hora) VALUES (?, 'atraso', ?, ?)");
    $stmt->bind_param("iss", $id_estudiante, $trimestre, $fecha_hora);
    $stmt->execute();
    $stmt->close();

    $contar = $conn->query("SELECT COUNT(*) as total FROM registro WHERE id_estudiante = '$id_estudiante' AND tipo = 'atrasado'");
    $atrasos = $contar->fetch_assoc()['total'];

    $datos = $conn->query("SELECT nombre, apellido FROM estudiante WHERE id_estudiante = '$id_estudiante'");
    $dato = $datos->fetch_assoc();

    if ($atrasos >= 12) {
        $mensaje = "⚠️ ALERTA CRÍTICA: ".$dato['nombre']." ".$dato['apellido']." ha alcanzado el LÍMITE de 12 ATRASOS.";
        $tipo_mensaje = "warning";
    } elseif ($atrasos >= 10) {
        $mensaje = "⚠️ AVISO: ".$dato['nombre']." ".$dato['apellido']." tiene $atrasos atrasos.";
        $tipo_mensaje = "warning";
    } else {
        $mensaje = "✅ Atraso registrado para ".$dato['nombre'].". Total: $atrasos";
    }
}

// Registrar permiso/falta
if (isset($_POST['btn_registrar_permiso'])) {
    $id_estudiante = $_POST['id_estudiante'];
    $tipo = $_POST['tipo_permiso'];
    $trimestre = $_POST['trimestre_permiso'];
    $fecha_hora = date("Y-m-d H:i:s");
    
    $stmt = $conn->prepare("INSERT INTO registro (id_estudiante, tipo, trimestre, fecha_hora) VALUES (?, ?, ?, ?)");
    $stmt->bind_param("isss", $id_estudiante, $tipo, $trimestre, $fecha_hora);
    $stmt->execute();
    $stmt->close();

    $datos = $conn->query("SELECT nombre, apellido FROM estudiante WHERE id_estudiante = '$id_estudiante'");
    $dato = $datos->fetch_assoc();

    $mensaje = "✅ ".strtoupper($tipo)." registrada para ".$dato['nombre'];
}

// Registrar fuga
if (isset($_POST['btn_registrar_fuga'])) {
    $id_estudiante = $_POST['id_estudiante'];
    $trimestre = $_POST['trimestre_fuga'];
    $fecha_hora = date("Y-m-d H:i:s");
    
    $stmt = $conn->prepare("INSERT INTO registro (id_estudiante, tipo, trimestre, fecha_hora) VALUES (?, 'fuga', ?, ?)");
    $stmt->bind_param("iss", $id_estudiante, $trimestre, $fecha_hora);
    $stmt->execute();
    $stmt->close();

    $contar_fugas = $conn->query("SELECT COUNT(*) as total FROM registro WHERE id_estudiante = '$id_estudiante' AND tipo = 'fuga'");
    $fugas = $contar_fugas->fetch_assoc()['total'];

    $datos = $conn->query("SELECT nombre, apellido FROM estudiante WHERE id_estudiante = '$id_estudiante'");
    $dato = $datos->fetch_assoc();

    if ($fugas >= 3) {
        $mensaje = "⚠️ ALERTA CRÍTICA: ".$dato['nombre']." ".$dato['apellido']." tiene $fugas FUGAS.";
        $tipo_mensaje = "warning";
    } else {
        $mensaje = "✅ Fuga registrada para ".$dato['nombre'].". Total: $fugas";
    }
}

$registro_a_mostrar = null;
$historial_curso = null;
$nombre_curso = null;

if ($id_curso_seleccionado && (isset($_POST['btn_buscar_curso']) || isset($_POST['btn_historial_curso']))) {
    $estudiantes = $conn->query("SELECT e.*, c.nombre_curso, c.paralelo 
        FROM estudiante e 
        JOIN curso c ON e.id_curso = c.id_curso 
        WHERE e.id_curso = '$id_curso_seleccionado' 
        ORDER BY e.apellido, e.nombre");
        
    $nombre_curso = $conn->query("SELECT nombre_curso, paralelo FROM curso WHERE id_curso = '$id_curso_seleccionado'")->fetch_assoc();
}

if (isset($_POST['btn_ver_historial'])) {
    $id_historial = $_POST['id_estudiante'];
    $registro_a_mostrar = $conn->query("SELECT r.*, e.nombre, e.apellido 
        FROM registro r 
        JOIN estudiante e ON r.id_estudiante = e.id_estudiante 
        WHERE r.id_estudiante = '$id_historial' 
        ORDER BY r.fecha_hora DESC");
        
    $InfoEst = $conn->query("SELECT nombre, apellido FROM estudiante WHERE id_estudiante = '$id_historial'")->fetch_assoc();
}

if (isset($_POST['btn_historial_curso']) && $id_curso_seleccionado) {
    $historial_curso = $conn->query("SELECT r.*, e.nombre, e.apellido 
        FROM registro r 
        JOIN estudiante e ON r.id_estudiante = e.id_estudiante 
        WHERE e.id_curso = '$id_curso_seleccionado' 
        ORDER BY r.fecha_hora DESC");
        
    $nombre_curso = $conn->query("SELECT nombre_curso, paralelo FROM curso WHERE id_curso = '$id_curso_seleccionado'")->fetch_assoc();
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Historial - U.E. Jaime Roldós Aguilera</title>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/cssall.min.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; }
body { background: #f0f2f5; }
.header { background: linear-gradient(90deg, #002c6b, #003f8c); color: white; padding: 20px 40px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.logo img { width: 90px; margin-right: 20px; }
.titulo h1 { font-size: 28px; font-weight: 700; }
.titulo h2 { font-size: 16px; font-weight: 300; opacity: 0.9; }
.btn-cerrar { background: #f0b323; color: #002c6b; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: bold; transition: 0.3s; }
.btn-cerrar:hover { background: #fff; }
.bienvenido { background: #004a9f; color: white; padding: 15px 40px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.contenedor { max-width: 1300px; margin: 30px auto; padding: 0 20px; }
.card { background: white; padding: 30px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); margin-bottom: 30px; }
.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 2px solid #f0f0f0; padding-bottom: 15px; flex-wrap: wrap; gap: 10px; }
.card-header h3 { color: #002c6b; font-size: 22px; }
.filtro-curso { display: flex; gap: 15px; align-items: end; background: #f8f9fa; padding: 20px; border-radius: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.form-group { flex: 1; min-width: 200px; margin-bottom: 0; }
.form-group label { font-weight: 600; color: #444; margin-bottom: 5px; display: block; }
.form-group select, .form-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; font-size: 15px; }
.boton { padding: 10px 25px; background: #003b8e; color: white; border: none; border-radius: 6px; font-weight: 600; cursor: pointer; transition: 0.2s; }
.boton:hover { background: #00285e; }
.boton-secundario { background: #6c757d; }
.boton-secundario:hover { background: #5a6268; }
.mensaje { padding: 15px 20px; border-radius: 8px; margin-bottom: 20px; font-weight: 500; }
.mensaje.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.mensaje.warning { background: #fff3cd; color: #856404; border: 2px solid #ffc107; animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); } }
.tabla-container { overflow-x: auto; }
.tabla { width: 100%; border-collapse: collapse; min-width: 1100px; }
.tabla th { background: #f4f6f9; color: #555; padding: 12px; text-align: left; font-weight: 600; border-bottom: 2px solid #e0e0e0; font-size: 13px; text-transform: uppercase; }
.tabla td { padding: 10px; border-bottom: 1px solid #eee; vertical-align: middle; }
.tabla tr:hover { background: #f8f9fa; }
.badge { padding: 5px 10px; border-radius: 4px; font-size: 12px; font-weight: 600; }
.badge-atrasado { background: #e74c3c; color: white; }
.badge-permiso { background: #3498db; color: white; }
.badge-justificada { background: #27ae60; color: white; }
.badge-injustificada { background: #e67e22; color: white; }
.badge-fuga { background: #8e44ad; color: white; }
.contador { font-weight: bold; padding: 5px 10px; border-radius: 4px; margin-right: 5px; }
.contador.ok { color: #27ae60; }
.contador.advertencia { background: #fff3cd; color: #856404; }
.contador.peligro { background: #e74c3c; color: white; animation: blink 1s infinite; }
@keyframes blink { 50% { opacity: 0.5; } }
.btn-accion { padding: 6px 10px; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: 600; transition: 0.2s; }
.btn-atraso { background: #e74c3c; color: white; }
.btn-atraso:hover { background: #c0392b; }
.btn-permiso { background: #3498db; color: white; }
.btn-permiso:hover { background: #2980b9; }
.btn-fuga { background: #8e44ad; color: white; }
.btn-fuga:hover { background: #6c3483; }
.btn-historial { background: #003b8e; color: white; }
.btn-historial:hover { background: #00285e; }
.tabla select { padding: 5px; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; background: white; }
.acciones-cell { display: flex; gap: 8px; flex-wrap: wrap; }
.footer { background: #002c6b; color: white; text-align: center; padding: 20px; margin-top: 40px; }
.footer p { opacity: 0.8; font-size: 14px; }
@media (max-width: 768px) {
    .header { flex-direction: column; text-align: center; }
    .filtro-curso { flex-direction: column; }
    .filtro-curso .form-group { width: 100%; }
}
</style>
</head>
<body>
<div class="header">
    <div class="logo"><img src="logo.png" alt="Logo"></div>
    <div class="titulo">
        <h2>UNIDAD EDUCATIVA FISCOMISIONAL</h2>
        <h1>JAIME ROLDÓS AGUILERA</h1>
    </div>
    <a href="?cerrar=1" class="btn-cerrar"><i class="fas fa-sign-out-alt"></i> Cerrar Sesión</a>
</div>
<div class="bienvenido">
    <h2><i class="fas fa-user-clock"></i> CONTROL DE ATRASOS Y FALTAS - INSPECTOR</h2>
</div>

<div class="contenedor">
    <?php if (!empty($mensaje)) { ?>
        <div class="mensaje <?php echo $tipo_mensaje; ?>">
            <?php echo $mensaje; ?>
        </div>
    <?php } ?>

    <div class="card">
        <div class="card-header">
            <h3><i class="fas fa-search"></i> Seleccionar Curso</h3>
        </div>
        <form method="POST" class="filtro-curso">
            <div class="form-group">
                <label for="select_curso">Seleccione el Curso:</label>
                <select name="select_curso" id="select_curso" required>
                    <option value="">-- Seleccionar --</option>
                    <?php 
                    $cursos->data_seek(0);
                    while($c = $cursos->fetch_assoc()) { ?>
                        <option value="<?php echo $c['id_curso']; ?>" <?php echo ($id_curso_seleccionado == $c['id_curso']) ? 'selected' : ''; ?>>
                            <?php echo $c['nombre_curso']; ?> "<?php echo $c['paralelo']; ?>"
                        </option>
                    <?php } ?>
                </select>
            </div>
            <button type="submit" name="btn_buscar_curso" class="boton">
                <i class="fas fa-search"></i> BUSCAR
            </button>
            <?php if ($id_curso_seleccionado) { ?>
            <?php } ?>
        </form>

        <?php if (!is_null($estudiantes) && $estudiantes->num_rows > 0) { ?>
        <div class="tabla-container">
            <table class="tabla">
                <thead>
                    <tr>
                        <th style="width:50px;">#</th>
                        <th>Estudiante</th>
                        <th>Atrasos</th>
                        <th>Fugas</th>
                        <th>Registrar</th>
                        <th>Historial</th>
                    </tr>
                </thead>
                <tbody>
                    <?php 
                    $contador = 1; 
                    while($est = $estudiantes->fetch_assoc()) { 
                                           $contar_atrasos = $conn->query("SELECT COUNT(*) as total FROM registro WHERE id_estudiante = '".$est['id_estudiante']."' AND tipo = 'atrasado'");
                        $total_atrasos = $contar_atrasos->fetch_assoc()['total'];
                        
                        $contar_fugas = $conn->query("SELECT COUNT(*) as total FROM registro WHERE id_estudiante = '".$est['id_estudiante']."' AND tipo = 'fuga'");
                        $total_fugas = $contar_fugas->fetch_assoc()['total'];
                        
                        $clase_atraso = "ok";
                        if ($total_atrasos >= 12) $clase_atraso = "peligro";
                        elseif ($total_atrasos >= 10) $clase_atraso = "advertencia";
                        
                        $clase_fuga = "ok";
                        if ($total_fugas >= 3) $clase_fuga = "peligro";
                        elseif ($total_fugas >= 2) $clase_fuga = "advertencia";
                    ?>
                    <tr>
                        <td><?php echo $contador++; ?></td>
                        <td><strong><?php echo $est['apellido']; ?></strong> <?php echo $est['nombre']; ?></td>
                        <td><span class="contador <?php echo $clase_atraso; ?>"><?php echo $total_atrasos; ?>/12</span></td>
                        <td><span class="contador <?php echo $clase_fuga; ?>"><?php echo $total_fugas; ?>/3</span></td>
                        <td>
                            <div class="acciones-cell">
                                <!-- Botón ATRASO -->
                                <form method="POST" style="display:flex; gap:2px;">
                                    <input type="hidden" name="id_estudiante" value="<?php echo $est['id_estudiante']; ?>">
                                    <select name="trimestre" required style="width:55px; font-size:11px;">
                                        <option value="1">T1</option>
                                        <option value="2">T2</option>
                                        <option value="3">T3</option>
                                    </select>
                                    <button type="submit" name="btn_registrar_atraso" class="btn-accion btn-atraso" title="Registrar Atraso">⏰</button>
                                </form>
                                
                                <!-- Botón PERMISO/FALTA -->
                                <form method="POST" style="display:flex; gap:2px;">
                                    <input type="hidden" name="id_estudiante" value="<?php echo $est['id_estudiante']; ?>">
                                    <select name="tipo_permiso" required style="width:75px; font-size:11px;">
                                        <option value="permiso">Permiso</option>
                                        <option value="justificada">Justif.</option>
                                        <option value="injustificada">Injustif.</option>
                                    </select>
                                    <select name="trimestre_permiso" required style="width:50px; font-size:11px;">
                                        <option value="1">T1</option>
                                        <option value="2">T2</option>
                                        <option value="3">T3</option>
                                    </select>
                                    <button type="submit" name="btn_registrar_permiso" class="btn-accion btn-permiso" title="Registrar Permiso">✓</button>
                                </form>
                                
                                <!-- Botón FUGA -->
                                <form method="POST" style="display:flex; gap:2px;">
                                    <input type="hidden" name="id_estudiante" value="<?php echo $est['id_estudiante']; ?>">
                                    <select name="trimestre_fuga" required style="width:55px; font-size:11px;">
                                        <option value="1">T1</option>
                                        <option value="2">T2</option>
                                        <option value="3">T3</option>
                                    </select>
                                    <button type="submit" name="btn_registrar_fuga" class="btn-accion btn-fuga" title="Registrar Fuga">🏃</button>
                                </form>
                            </div>
                        </td>
                        <td>
                            <form method="POST">
                                <input type="hidden" name="id_estudiante" value="<?php echo $est['id_estudiante']; ?>">
                                <button type="submit" name="btn_ver_historial" class="btn-accion btn-historial">
                                    <i class="fas fa-history"></i>
                                </button>
                            </form>
                        </td>
                    </tr>
                    <?php } ?>
                </tbody>
            </table>
        </div>
        <?php } else { ?>
            <div style="text-align:center; padding: 40px; color: #888;">
                <i class="fas fa-info-circle"></i> Seleccione un curso para ver los estudiantes
            </div>
        <?php } ?>
    </div>

    <!-- Historial de un estudiante específico -->
    <?php if ($registro_a_mostrar && $registro_a_mostrar->num_rows > 0) { ?>
    <div class="card">
        <div class="card-header">
            <h3><i class="fas fa-history"></i> Historial de <?php echo $InfoEst['nombre'].' '.$InfoEst['apellido']; ?></h3>
            <a href="historial.php" class="boton" style="background:#666;"><i class="fas fa-times"></i> Cerrar</a>
        </div>
        <div class="tabla-container">
            <table class="tabla">
                <thead>
                    <tr>
                        <th>Fecha/Hora</th>
                        <th>Tipo</th>
                        <th>Trimestre</th>
                    </tr>
                </thead>
                <tbody>
                    <?php while($r = $registro_a_mostrar->fetch_assoc()) { ?>
                    <tr>
                        <td><?php echo date('d/m/Y H:i', strtotime($r['fecha_hora'])); ?></td>
                        <td>
                            <?php 
                            $clase = '';
                            switch($r['tipo']) {
                                case 'atrasado': $clase = 'badge-atrasado'; break;
                                case 'permiso': $clase = 'badge-permiso'; break;
                                case 'justificada': $clase = 'badge-justificada'; break;
                                case 'injustificada': $clase = 'badge-injustificada'; break;
                                case 'fuga': $clase = 'badge-fuga'; break;
                            }
                            ?>
                            <span class="badge <?php echo $clase; ?>"><?php echo strtoupper($r['tipo']); ?></span>
                        </td>
                        <td><?php echo $r['trimestre']; ?>° Tri</td>
                    </tr>
                    <?php } ?>
                </tbody>
            </table>
        </div>
    </div>
    <?php } ?>

    <!-- Historial de todo el curso -->
    <?php if ($historial_curso && $historial_curso->num_rows > 0) { ?>
    <div class="card">
        <div class="card-header">
            <h3><i class="fas fa-list"></i> Historial Completo - <?php echo $nombre_curso['nombre_curso'].' "'.$nombre_curso['paralelo'].'"'; ?></h3>
            <a href="historial.php" class="boton" style="background:#666;"><i class="fas fa-times"></i> Cerrar</a>
        </div>
        <div class="tabla-container">
            <table class="tabla">
                <thead>
                    <tr>
                        <th>Estudiante</th>
                        <th>Fecha/Hora</th>
                        <th>Tipo</th>
                        <th>Trimestre</th>
                    </tr>
                </thead>
                <tbody>
                    <?php while($r = $historial_curso->fetch_assoc()) { ?>
                    <tr>
                        <td><strong><?php echo $r['apellido']; ?></strong> <?php echo $r['nombre']; ?></td>
                        <td><?php echo date('d/m/Y H:i', strtotime($r['fecha_hora'])); ?></td>
                        <td>
                            <?php 
                            $clase = '';
                            switch($r['tipo']) {
                                case 'atrasado': $clase = 'badge-atrasado'; break;
                                case 'permiso': $clase = 'badge-permiso'; break;
                                case 'justificada': $clase = 'badge-justificada'; break;
                                case 'injustificada': $clase = 'badge-injustificada'; break;
                                case 'fuga': $clase = 'badge-fuga'; break;
                            }
                            ?>
                            <span class="badge <?php echo $clase; ?>"><?php echo strtoupper($r['tipo']); ?></span>
                        </td>
                        <td><?php echo $r['trimestre']; ?>° Tri</td>
                    </tr>
                    <?php } ?>
                </tbody>
            </table>
        </div>
    </div>
    <?php } ?>

</div>

<div class="footer">
    <p>&copy; 2025 U.E. Fiscomisional Jaime Roldós Aguilera</p>
</div>

</body>
</html>