<?php
include("../config/conexion.php");

if ($conexion->connect_error) {
    die("Conexión fallida: " . $conexion->connect_error);
}

// Obtener los datos del formulario
$carnet = $_POST['carnet'];
$nombre = $_POST['nombre'];
$carrera = $_POST['carrera'] ?? null;
$grado = $_POST['grado'] ?? null;
$seccion = $_POST['seccion'] ?? null;
$falta = $_POST['falta'] ?? null;
$bimestre = $_POST['bimestre'] ?? null;
$fecha = $_POST['fecha'] ?? null;
$observaciones = $_POST['observaciones'] ?? null;

// Verificar cuántas faltas tiene el carnet
$sql = "SELECT COUNT(*) as total_faltas FROM registro_falta WHERE carnet = '$carnet'";
$resultado = $conexion->query($sql);

if ($resultado) {
    $fila = $resultado->fetch_assoc();
    $total_faltas = $fila['total_faltas'];

    // Si el alumno ya tiene 4 faltas, mostrar el total y ofrecer la opción de generar una cita
    if ($total_faltas >= 4) {
        echo "<script>
            alert('Este carnet ya tiene $total_faltas faltas registradas.');
            if (confirm('¿Desea generar una cita?')) {
                window.location.href='../Formularios/formcita.php?carnet=$carnet';
            } else {
                window.location.href='../inicio_registrofalta.php'; // Redirigir a la página de inicio si no desea generar cita
            }
        </script>";
    } else {
        // Insertar la nueva falta
        $insert_sql = "INSERT INTO registro_falta(carnet, nombre, carrera, grado, seccion, falta, bimestre, fecha, observaciones) 
                       VALUES ('$carnet', '$nombre', '$carrera', '$grado', '$seccion', '$falta', '$bimestre', '$fecha', '$observaciones')";

        if ($conexion->query($insert_sql) === TRUE) {
            echo "<script>
                alert('Falta registrada exitosamente. Total de faltas: " . ($total_faltas + 1) . ".');
                window.location.href='../inicio_registrofalta.php'; // Redirigir a la página de inicio
            </script>";
            generarReporte($carnet, $total_faltas + 1, $carrera, $grado, $seccion, $falta, $bimestre, $fecha, $observaciones);
        } else {
            die("Error al registrar la falta: " . $conexion->error);
        }
    }
} else {
    die("Error al verificar las faltas: " . $conexion->error);
}

// Cerrar la conexión
$conexion->close();

// Función para generar el reporte
function generarReporte($carnet, $total_faltas, $carrera, $grado, $seccion, $falta, $bimestre, $fecha, $observaciones)
{
    // Implementa la lógica para crear un reporte
}
