<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

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

// DB
require_once(__DIR__ . '/../config.php');

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

$slug = $data['slug_tienda'] ?? '';
$nombre = $data['nombre'] ?? '';
$telefono = $data['telefono'] ?? '';
$telefono_original = $data['telefono_original'] ?? '';

if (!$slug || !$telefono || !$telefono_original) {
    echo json_encode(['success' => false, 'error' => 'Faltan datos']);
    exit;
}

// Actualizar JSON
$carpeta = __DIR__ . "/contactos_tiendas/$slug";
$archivo = "$carpeta/contactos.json";

if (file_exists($archivo)) {
    $contactos = json_decode(file_get_contents($archivo), true) ?? [];
    foreach ($contactos as &$c) {
        if ($c['telefono'] === $telefono_original) {
            $c['telefono'] = $telefono;
            $c['nombre'] = $nombre;
        }
    }
    file_put_contents($archivo, json_encode($contactos, JSON_PRETTY_PRINT));
}

// Actualizar BD
$stmt = $mysqli->prepare("UPDATE contactos SET nombre = ?, telefono = ? WHERE slug_tienda = ? AND telefono = ?");
$stmt->bind_param("ssss", $nombre, $telefono, $slug, $telefono_original);

if ($stmt->execute()) {
    echo json_encode(['success' => true, 'msg' => '✅ Contacto actualizado']);
} else {
    echo json_encode(['success' => false, 'error' => '❌ Error al actualizar']);
}
