<?php
/**
 * ajax/salvar_kml.php
 * Adiciona um novo Placemark ao arquivo projeto_rede.kml
 */
require_once __DIR__ . '/../auth.php';
require_once __DIR__ . '/../functions.php';
requireLogin();

header('Content-Type: application/json');

$nome = trim($_POST['nome'] ?? '');
$lat  = (float)($_POST['lat'] ?? 0);
$lng  = (float)($_POST['lng'] ?? 0);

if (!$nome || !$lat || !$lng) {
    echo json_encode(['ok' => false, 'erro' => 'Dados inválidos']);
    exit;
}

$kmlFile = __DIR__ . '/../projeto_rede.kml';

// Se o KML não existe, cria um básico
if (!is_file($kmlFile)) {
    $kml = '<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>projeto_rede.kml</name>
  </Document>
</kml>';
    file_put_contents($kmlFile, $kml);
}

$xml = simplexml_load_file($kmlFile);
if (!$xml) {
    echo json_encode(['ok' => false, 'erro' => 'Falha ao ler KML']);
    exit;
}

$document = $xml->Document ?? $xml;
$placemark = $document->addChild('Placemark');
$placemark->addChild('name', htmlspecialchars($nome));
$point = $placemark->addChild('Point');
$point->addChild('coordinates', "{$lng},{$lat},0");

$dom = new DOMDocument('1.0', 'UTF-8');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
$dom->save($kmlFile);

// Limpa cache
$cacheFile = __DIR__ . '/../assets/ctos.json';
if (is_file($cacheFile)) unlink($cacheFile);

echo json_encode(['ok' => true, 'msg' => 'Marcação adicionada ao KML']);
