<?php
session_start();
date_default_timezone_set('America/Mexico_City');

// 1. Verificación de sesión más robusta y obtención del rol
if (!isset($_SESSION['Inicio']) || $_SESSION['Inicio'] !== "Ok" || !isset($_SESSION['Rol'])) {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=../login.php?m=5">');
    exit;
}

// 2. Determinar la URL del menú basada en el rol para la redirección
$urlMenuCorrespondiente = "";
switch ($_SESSION['Rol']) {
    case "Administrativo":
        $urlMenuCorrespondiente = "../MenuAdministrativo.php";
        break;
    case "Titular":
        $urlMenuCorrespondiente = "../MenuTitular.php";
        break;
    case "Pasante":
        $urlMenuCorrespondiente = "../MenuPasante.php";
        break;
    default:
        print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=../login.php?m=6">');
        exit;
}
// Todos los roles logueados pueden llegar aquí para registrar una evaluación Bele.

// Recoger datos del formulario (desde CIBele.php que usa method="GET")
// Los datos del paciente (nombre, apellidos, etc.) no se insertan en la tabla 'bele', solo 'clave_paciente'.
// Se usan aquí solo si necesitaras hacer alguna validación o logging con ellos.
$usuario_registro = $_SESSION['Usuario']; 
$clave_paciente = isset($_GET['clave_paciente']) ? $_GET['clave_paciente'] : null;
$fecha_evaluacion = isset($_GET['fecha_evaluacion']) ? $_GET['fecha_evaluacion'] : null;
$edad = isset($_GET['edad']) ? $_GET['edad'] : null;
$edad_corregida = isset($_GET['edad_corregida']) ? $_GET['edad_corregida'] : null;
$rango_edad = isset($_GET['rango_edad']) ? $_GET['rango_edad'] : null;
$punt_bruto_bele = isset($_GET['punt_bruto_bele']) ? $_GET['punt_bruto_bele'] : null;
$punt_esc_bele = isset($_GET['punt_esc_bele']) ? $_GET['punt_esc_bele'] : null;
$fonema_con_retras = isset($_GET['fonema_con_retras']) ? $_GET['fonema_con_retras'] : null;
$subgrupo_consonanticos = isset($_GET['subgrupo_consonanticos']) ? $_GET['subgrupo_consonanticos'] : null;
$subgrupo_diptongos = isset($_GET['subgrupo_diptongos']) ? $_GET['subgrupo_diptongos'] : null;
$bele_interpreta = isset($_GET['bele_interpreta']) ? $_GET['bele_interpreta'] : null;
$fecha_registro = date('Y-m-d H:i:s');


if (empty($clave_paciente) || empty($fecha_evaluacion) || empty($edad) ||
    is_null($punt_bruto_bele) || is_null($punt_esc_bele) || is_null($fonema_con_retras) || is_null($bele_interpreta)) {
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=bele_missing_data">');
    exit;
}



include("../Php/Conexion.php");
$Con = Conectar();

if (!$Con) {
    // 'n=bele_db_conn_error'
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=bele_db_conn_error">');
    exit;
}

// ---- SEGURIDAD: Usar Sentencias Preparadas ----
$SQL = "INSERT INTO bele (clave_paciente, fecha_evaluacion, edad, edad_corregida, rango_edad, punt_bruto_bele, punt_esc_bele, fonema_con_retras, subgrupo_consonanticos, subgrupo_diptongos, bele_interpreta,`usuario_registro`,
  `fecha_registro`)
        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

$stmt = mysqli_prepare($Con, $SQL);

if ($stmt) {
    mysqli_stmt_bind_param($stmt, "issssiissssss",
        $clave_paciente,
        $fecha_evaluacion,
        $edad,
        $edad_corregida,
        $rango_edad,
        $punt_bruto_bele,
        $punt_esc_bele,
        $fonema_con_retras,
        $subgrupo_consonanticos,
        $subgrupo_diptongos,
        $bele_interpreta,
        $usuario_registro,
        $fecha_registro 
    );

    if (mysqli_stmt_execute($stmt)) {
        $RegistrosAfectados = mysqli_stmt_affected_rows($stmt);
        if ($RegistrosAfectados == 1) {
            // Éxito: Redirigir al menú correspondiente con mensaje de éxito (m=bele_insert_success)
            print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?m=bele_insert_success">');
        } else {
            // No se insertó (podría ser un error o clave_paciente no existe si es FK)
            // Redirigir al menú correspondiente con mensaje de error (n=bele_insert_failed)
            print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=bele_insert_failed">');
        }
    } else {
        // Error al ejecutar la sentencia
        error_log("Error al ejecutar statement en IBele.php: " . mysqli_stmt_error($stmt));
        print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=bele_execute_error">');
    }
    mysqli_stmt_close($stmt);
} else {
    // Error al preparar la sentencia
    error_log("Error al preparar statement en IBele.php: " . mysqli_error($Con));
    print('<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=' . htmlspecialchars($urlMenuCorrespondiente) . '?n=bele_prepare_error">');
}

Cerrar($Con);
exit; // Asegurar que el script termina aquí
?>
<!-- HTML innecesario para un script de procesamiento que solo redirige -->