<?php
/*
ini_set('display_errors', 1);
error_reporting(E_ALL);
*/

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    include("../config/config.php");

    // Recibir y limpiar los datos del formulario
    $id = trim($_POST['id']);
    $submission_id = trim($_POST['submission_id']);
    $codigo = trim($_POST['codigo']);
    $fecha = trim($_POST['fecha']);
    $titulo = trim($_POST['titulo']);
    $cod_tipo_competicion_propuesto = trim($_POST['cod_tipo_competicion_propuesto']);
    $cod_tipo_presentacion_propuesto = trim($_POST['cod_tipo_presentacion_propuesto']);
    $cod_tipo_presentacion_aprobado = trim($_POST['cod_tipo_presentacion_aprobado']);
    $introduccion = trim($_POST['introduccion']);
    $materiales = trim($_POST['materiales']);
    $resultados = trim($_POST['resultados']);
    $conclusiones = trim($_POST['conclusiones']);
    $pais = trim($_POST['pais']);
    $ciudad = trim($_POST['ciudad']);
    $nro_autores = trim($_POST['nro_autores']);
    $email = trim($_POST['email']);
    $apellido_corresponsal = trim($_POST['apellido_corresponsal']);
    $area_tematica = trim($_POST['area_tematica']);
    $estado = trim($_POST['estado']);
    $evaluador1 = trim($_POST['evaluador1']);
    $evaluador2 = trim($_POST['evaluador2']);
    $evaluador3 = trim($_POST['evaluador3']);
    $activo = trim($_POST['activo']);
    $aprobado = trim($_POST['aprobado']);
    $control = trim($_POST['control']);
    $calificacion_promedio = trim($_POST['calificacion_promedio']);

    // Variables para los autores
    $autores = []; 
    for ($i = 1; $i <= 10; $i++) {
        $autores["autor{$i}"] = trim($_POST["autor{$i}"]) ?: null;
        $autores["apellido_autor{$i}"] = trim($_POST["apellido_autor{$i}"]) ?: null;
        $autores["inst_autor{$i}"] = trim($_POST["inst_autor{$i}"]) ?: null;
    }

    // Nombre del directorio para almacenar fotos
    $dirLocal = "fotos_empleados";
    
    // Procesamiento del archivo de imagen (si existe)
    $nombreArchivo = null;
    if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK) {
        $archivoTemporal = $_FILES['avatar']['tmp_name'];
        $nombreArchivoOriginal = $_FILES['avatar']['name'];
        $extension = strtolower(pathinfo($nombreArchivoOriginal, PATHINFO_EXTENSION));
        $nombreArchivo = substr(md5(uniqid(rand())), 0, 10) . "." . $extension;
        $rutaDestino = $dirLocal . '/' . $nombreArchivo;

        // Mover el archivo a la ubicación deseada
        if (!move_uploaded_file($archivoTemporal, $rutaDestino)) {
            echo json_encode(['error' => 'Error al mover el archivo']);
            exit;
        }
    }

    // Construir la consulta SQL con todos los campos necesarios
    $sql = "INSERT INTO ttrabajo (submission_id, codigo, fecha, titulo, cod_tipo_competicion_propuesto, cod_tipo_presentacion_propuesto, cod_tipo_presentacion_aprobado, archivo, introduccion, materiales, resultados, conclusiones, pais, ciudad, nro_autores, email, apellido_corresponsal, area_tematica, estado, evaluador1, evaluador2, evaluador3, activo, aprobado, control, calificacion_promedio, ";

    // Agregar columnas para autores
    foreach ($autores as $campo => $valor) {
        $sql .= "{$campo}, ";
    }

    $sql .= "avatar) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

    // Preparar la consulta
    $stmt = $conexion->prepare($sql);
    if (!$stmt) {
        echo "Error en la preparación de la consulta: " . $conexion->error;
        exit;
    }

    // Preparar los valores para la ejecución
    $valores = array_merge(
        [$submission_id, $codigo, $fecha, $titulo, $cod_tipo_competicion_propuesto, $cod_tipo_presentacion_propuesto, $cod_tipo_presentacion_aprobado, $nombreArchivo, $introduccion, $materiales, $resultados, $conclusiones, $pais, $ciudad, $nro_autores, $email, $apellido_corresponsal, $area_tematica, $estado, $evaluador1, $evaluador2, $evaluador3, $activo, $aprobado, $control, $calificacion_promedio],
        array_values($autores),
        [$nombreArchivo] // Duplicando el archivo para la última posición en el INSERT
    );

    // Ejecutar la consulta
    if ($stmt->execute($valores)) {
        header("Location: ../");
        exit;
    } else {
        echo "Error al crear el registro: " . $stmt->error;
    }
}

/**
 * Función para obtener todos los resúmenes
 */
function obtenerResumenes($conexion) {
    $sql = "SELECT * FROM ttrabajo ORDER BY id ASC";
    $resultado = $conexion->query($sql);
    if (!$resultado) {
        return false;
    }
    return $resultado;
}
?>