<?php
// ✅ Encabezados CORS y JSON
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Access-Control-Max-Age: 86400");
header("Content-Type: application/json");

// ✅ Carpeta de destino
$carpeta = "../uploads/";
if (!file_exists($carpeta)) mkdir($carpeta, 0777, true);

// ✅ Validar si se recibió el archivo
if (isset($_FILES['archivo']) && $_FILES['archivo']['error'] === UPLOAD_ERR_OK) {
    $nombreTemp = $_FILES['archivo']['tmp_name'];
    $nombreOriginal = basename($_FILES['archivo']['name']);
    $extension = strtolower(pathinfo($nombreOriginal, PATHINFO_EXTENSION));

    // ✅ Validar extensiones permitidas
    $permitidos = ['pdf', 'doc', 'docx', 'xls', 'xlsx'];
    if (!in_array($extension, $permitidos)) {
        echo json_encode([
            'success' => false,
            'message' => 'Tipo de archivo no permitido.'
        ]);
        exit;
    }

    // ✅ Generar nombre único
    $nuevoNombre = uniqid('doc_') . '.' . $extension;
    $rutaDestino = $carpeta . $nuevoNombre;

    // ✅ Mover archivo y devolver URL
    if (move_uploaded_file($nombreTemp, $rutaDestino)) {
        echo json_encode([
            'success' => true,
            'url' => 'https://server40.vps.webdock.cloud/api_gold/uploads/' . $nuevoNombre
        ]);
        exit;
    } else {
        echo json_encode([
            'success' => false,
            'message' => 'No se pudo guardar el archivo.'
        ]);
        exit;
    }
}

echo json_encode(['success' => false, 'message' => 'Archivo no recibido.']);
