<?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');

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

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

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

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

// 1. Guardar en archivo JSON por tienda
$carpeta = __DIR__ . "/contactos_tiendas/$slug_tienda";
$archivo = "$carpeta/contactos.json";

if (!is_dir($carpeta)) mkdir($carpeta, 0777, true);

$contactos = [];
if (file_exists($archivo)) {
    $json = file_get_contents($archivo);
    $contactos = json_decode($json, true) ?? [];
}

// Evitar duplicado en JSON
$yaExisteEnJSON = false;
foreach ($contactos as $c) {
    if ($c['telefono'] === $telefono) {
        $yaExisteEnJSON = true;
        break;
    }
}

if (!$yaExisteEnJSON) {
    $contactos[] = [ 'nombre' => $nombre, 'telefono' => $telefono ];
    file_put_contents($archivo, json_encode($contactos, JSON_PRETTY_PRINT));
}

// 2. Guardar en base de datos
$stmt = $mysqli->prepare("SELECT id FROM contactos WHERE telefono = ? AND slug_tienda = ?");
$stmt->bind_param("ss", $telefono, $slug_tienda);
$stmt->execute();
$stmt->store_result();

if ($stmt->num_rows === 0) {
    $stmt->close();
    $stmtInsert = $mysqli->prepare("INSERT INTO contactos (slug_tienda, telefono, nombre) VALUES (?, ?, ?)");
    $stmtInsert->bind_param("sss", $slug_tienda, $telefono, $nombre);
    if (!$stmtInsert->execute()) {
        echo json_encode(['success' => false, 'error' => '❌ Error al guardar en base de datos']);
        exit;
    }
    $stmtInsert->close();
} else {
    $stmt->close();
    echo json_encode(['success' => true, 'msg' => 'Ya existe']);
    exit;
}

echo json_encode(['success' => true, 'msg' => '✅ Contacto guardado']);
