<?php
session_start();

if (!isset($_SESSION['id'])) {
    header('Location: login.php');
    exit;
}

require_once('conex2.php');

if (!function_exists('conectar')) {
    die('Error: no existe la función conectar() en conex2.php');
}

$conexion = conectar();

if (!$conexion) {
    die('Error de conexión a la base de datos');
}

if ($conexion instanceof mysqli) {
    $conexion->set_charset('utf8');
}

$url = isset($_SESSION['url']) ? $_SESSION['url'] : 'index.php';

function escapar($valor)
{
    return htmlspecialchars((string)$valor, ENT_QUOTES, 'UTF-8');
}

$miClavePaciente = isset($_POST['clavePaciente']) ? trim($_POST['clavePaciente']) : '';
$recuperarNombre = isset($_POST['nombrePaciente']) ? trim($_POST['nombrePaciente']) : '';

if ($miClavePaciente === '') {
    die('No se recibió la clave del paciente.');
}

if ($recuperarNombre === '') {
    $stmtPaciente = $conexion->prepare("
        SELECT CONCAT(apellido_paterno_paciente, ' ', apellido_materno_paciente, ' ', nombre_paciente) AS nombre
        FROM paciente
        WHERE clave_paciente = ?
        LIMIT 1
    ");

    if (!$stmtPaciente) {
        die('Error al preparar la consulta del paciente.');
    }

    $stmtPaciente->bind_param('s', $miClavePaciente);
    $stmtPaciente->execute();
    $resultadoPaciente = $stmtPaciente->get_result();
    $datosPaciente = $resultadoPaciente ? $resultadoPaciente->fetch_assoc() : null;
    $stmtPaciente->close();

    if (!$datosPaciente) {
        die('Paciente no encontrado.');
    }

    $recuperarNombre = $datosPaciente['nombre'];
}

if (isset($_POST['btnFactores'])) {
    $miTexto = isset($_POST['factoresDeRiesgo']) ? trim($_POST['factoresDeRiesgo']) : '';
    $misFactores = array_filter(array_map('trim', explode(',', $miTexto)), function ($valor) {
        return $valor !== '';
    });

    if (!empty($misFactores)) {
        $stmtInsert = $conexion->prepare("
            INSERT INTO visualauditivafactoresriesgo (clave_paciente, Factor_de_riesgo)
            VALUES (?, ?)
        ");

        if (!$stmtInsert) {
            die('Error al preparar el insert de factores.');
        }

        foreach ($misFactores as $factor) {
            $stmtInsert->bind_param('ss', $miClavePaciente, $factor);
            $stmtInsert->execute();
        }

        $stmtInsert->close();
    }

    header('Location: ' . $url);
    exit;
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Factores de riesgo</title>
    <link rel="stylesheet" href="styles/factores.css">
</head>
<body>
<?php $tituloPagina = 'Factores'; ?>
<?php require_once('includes/header.php'); ?>
<div class="page-actions">
    <a href="index.php" class="btn-inicio">Inicio</a>
</div>

    <main class="page">
        <section class="risk-card">
            <div class="risk-card__header">
                <p class="risk-card__subtitle">Factores de riesgo de</p>
                <h2 class="risk-card__name"><?php echo escapar($recuperarNombre); ?></h2>
            </div>

            <form action="" method="POST" class="risk-form">
                <div class="form-group">
                    <label for="factoresDeRiesgo">Introduce factores de riesgo separados por una coma</label>
                    <textarea
                        name="factoresDeRiesgo"
                        id="factoresDeRiesgo"
                        rows="6"
                        placeholder="Factor 1, Factor 2, Factor 3"
                    ></textarea>
                </div>


                <div class="form-actions">
                    <input type="hidden" name="clavePaciente" value="<?php echo escapar($miClavePaciente); ?>">
                    <input type="hidden" name="nombrePaciente" value="<?php echo escapar($recuperarNombre); ?>">
                    <input type="submit" name="btnFactores" id="btnFactores" value="Enviar">
                </div>
            </form>
        </section>
    </main>

</body>
</html>