<?php

// Permitir solicitudes desde cualquier origen
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    // Responder a las solicitudes OPTIONS
    http_response_code(200);
    exit;
}

// Continuar con el manejo normal de la solicitud
$data = json_decode(file_get_contents('php://input'), true);

if (isset($data['image']) && isset($data['filename'])) {
    $imageData = $data['image'];
    $imageData = str_replace('data:image/png;base64,', '', $imageData);
    $imageData = str_replace(' ', '+', $imageData);
    $imageData = base64_decode($imageData);

    $fileName = preg_replace('/[^A-Za-z0-9_\-\.]/', '', $data['filename']); // Sanitiza el nombre del archivo

    $documentRoot = realpath(__DIR__ . '/../..');
    // Define la ruta al directorio de imágenes
    $directoryPath = $documentRoot . "/assets/cstpdfimg/";

    $filePath = $directoryPath . $fileName . '.png';

    file_put_contents($filePath, $imageData);

    echo json_encode(['status' => 'success', 'filePath' => $filePath]);
} else {
    echo json_encode(['status' => 'error', 'message' => 'No image data or filename found']);
}
?>
