<?php
session_start();
include_once '../config/database.php';

header('Content-Type: application/json');

if (!isset($_SESSION['user'])) {
    echo json_encode(['success' => false, 'message' => 'No autorizado']);
    exit();
}

$database = new Database();
$conn = $database->getConnection();

if (!isset($_POST['codencuesta']) || empty($_POST['codencuesta'])) {
    echo json_encode(['success' => false, 'message' => 'ID de encuesta no proporcionado']);
    exit();
}

try {
    $codencuesta = intval($_POST['codencuesta']);
    $preguntas = isset($_POST['preguntas']) ? json_decode($_POST['preguntas'], true) : [];
    
    if (!is_array($preguntas)) {
        $preguntas = [];
    }
    
    // Convertir a enteros
    $preguntas = array_map('intval', $preguntas);
    
    $conn->beginTransaction();
    
    // Eliminar todas las preguntas actuales de esta encuesta
    $stmt_delete = $conn->prepare("DELETE FROM tdet_encu_pregu WHERE codencuesta = ?");
    $stmt_delete->execute([$codencuesta]);
    
    // Insertar las nuevas preguntas seleccionadas
    if (!empty($preguntas)) {
        $stmt_insert = $conn->prepare("INSERT INTO tdet_encu_pregu (codencuesta, codpreguntas) VALUES (?, ?)");
        foreach ($preguntas as $codpreguntas) {
            $stmt_insert->execute([$codencuesta, $codpreguntas]);
        }
    }
    
    $conn->commit();
    
    echo json_encode([
        'success' => true,
        'message' => 'Preguntas guardadas correctamente',
        'total' => count($preguntas)
    ]);
} catch(PDOException $e) {
    $conn->rollBack();
    echo json_encode(['success' => false, 'message' => 'Error: ' . $e->getMessage()]);
} catch(Exception $e) {
    $conn->rollBack();
    echo json_encode(['success' => false, 'message' => 'Error: ' . $e->getMessage()]);
}
?>

