<?php
require_once __DIR__ . '/../config/db_auto.php';
require_once __DIR__ . '/system_logger.php';
session_start();
header('Content-Type: application/json');

$logger = SystemLogger::getInstance();

if (!isset($_SESSION['user_id'])) {
    http_response_code(401);
    echo json_encode(['success' => false, 'msg' => 'No autenticado.']);
    exit;
}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    echo json_encode(['success' => false, 'msg' => 'M¨¦todo no permitido.']);
    exit;
}

$json_input = file_get_contents('php://input');
$data = json_decode($json_input, true);

$entrevista_id = isset($data['id']) ? (int)$data['id'] : null;
$motivo = isset($data['motivo']) ? trim($data['motivo']) : '';
$acuerdos = isset($data['acuerdos_compromisos']) ? trim($data['acuerdos_compromisos']) : '';
$observaciones = isset($data['observaciones']) ? trim($data['observaciones']) : '';
$usuario_modificacion = (int)$_SESSION['user_id'];

if (!$entrevista_id || empty($motivo)) {
    echo json_encode(['success' => false, 'msg' => 'Faltan datos obligatorios (ID y Motivo).']);
    exit;
}

try {
    $sql = "UPDATE entrevistas_alumnos SET 
                motivo = :motivo, 
                observaciones = :observaciones, 
                acuerdos = :acuerdos,
                usuario_modificacion = :usuario_modificacion,
                fecha_modificacion = NOW()
            WHERE id = :id";

    $stmt = $pdo->prepare($sql);
    $stmt->execute([
        ':id' => $entrevista_id,
        ':motivo' => $motivo,
        ':observaciones' => $observaciones,
        ':acuerdos' => $acuerdos,
        ':usuario_modificacion' => $usuario_modificacion
    ]);

    $logger->data('Entrevista con alumno actualizada', "ID: $entrevista_id, Motivo: $motivo");

    echo json_encode([
        'success' => true,
        'msg' => 'Entrevista actualizada correctamente.',
        'entrevista_id' => $entrevista_id
    ]);
} catch (Exception $e) {
    $logger->error('Error al actualizar entrevista de alumno', "Usuario ID: {$_SESSION['user_id']}, Entrevista ID: $entrevista_id, Error: " . $e->getMessage());
    http_response_code(500);
    echo json_encode(['success' => false, 'msg' => 'Error en el servidor: ' . $e->getMessage()]);
}
