<?php

// Mostrar errores
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// CORS
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Content-Type: application/json");

if (!isset($_FILES['image']) || !isset($_POST['slug'])) {
    echo json_encode(["success" => false, "message" => "Faltan parámetros"]);
    exit;
}

$slug = $_POST['slug'];
$folder = __DIR__ . "/../tiendas/$slug/logo/";
if (!is_dir($folder)) {
    mkdir($folder, 0775, true);
}

// Eliminar logos anteriores si existen
foreach (glob($folder . "*") as $archivoAnterior) {
    unlink($archivoAnterior);
}

// Guardar el nuevo logo
$nombreTemp = $_FILES['image']['tmp_name'];
$nombreArchivo = 'logo_' . time() . '.jpg';
$rutaFinal = $folder . $nombreArchivo;

if (move_uploaded_file($nombreTemp, $rutaFinal)) {
    $urlPublica = "https://nivor.co/tiendas/$slug/logo/$nombreArchivo";

    // ✅ 1. Guardar en base de datos
    require_once(__DIR__ . '/config.php');
    $stmt = $mysqli->prepare("UPDATE usuarios_tienda SET logo_url = ? WHERE slug_tienda = ?");
    $stmt->bind_param("ss", $urlPublica, $slug);
    $stmt->execute();
    $stmt->close();
    $mysqli->close();

    // ✅ 2. Guardar también en contenido.json
    $rutaContenido = __DIR__ . "/../tiendas/$slug/contenido.json";
    if (file_exists($rutaContenido)) {
        $contenido = json_decode(file_get_contents($rutaContenido), true);
        if (is_array($contenido)) {
            $contenido['logo_url'] = $urlPublica;
            file_put_contents($rutaContenido, json_encode($contenido, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
        }
    }

    // ✅ 3. Respuesta
    echo json_encode(["success" => true, "url" => $urlPublica]);
} else {
    echo json_encode(["success" => false, "message" => "Error al guardar logo"]);
}
