<?php
// config_projeto.php — Upload do arquivo KML da rede óptica
$pageActive = 'mapa';
$pageTitle  = 'Configurar Projeto de Rede';
require_once __DIR__ . '/auth.php';
require_once __DIR__ . '/functions.php';
requirePerfil(['ADMIN']);

$msg  = '';
$erro = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['kml_file'])) {
    $f = $_FILES['kml_file'];

    if ($f['error'] !== UPLOAD_ERR_OK) {
        $erro = 'Erro no upload. Código: ' . $f['error'];
    } elseif (!in_array(strtolower(pathinfo($f['name'], PATHINFO_EXTENSION)), ['kml'])) {
        $erro = 'Somente arquivos .kml são aceitos.';
    } elseif ($f['size'] > 20 * 1024 * 1024) {
        $erro = 'Arquivo muito grande. Máximo: 20 MB.';
    } else {
        $dest = __DIR__ . '/projeto_rede.kml';
        if (move_uploaded_file($f['tmp_name'], $dest)) {
            $msg = '✓ Projeto de rede atualizado com sucesso! (' . number_format($f['size']/1024, 1) . ' KB)';
        } else {
            $erro = 'Falha ao mover o arquivo. Verifique permissões da pasta.';
        }
    }
}

$kmlExiste = file_exists(__DIR__ . '/projeto_rede.kml');
$kmlSize   = $kmlExiste ? number_format(filesize(__DIR__ . '/projeto_rede.kml') / 1024, 1) : 0;
$kmlData   = $kmlExiste ? date('d/m/Y H:i', filemtime(__DIR__ . '/projeto_rede.kml')) : null;

require_once __DIR__ . '/includes/header.php';
?>

<div class="topbar"><button class="btn-hamburger" onclick="abrirDrawer()" aria-label="Menu">&#9776;</button>
  <div>
    <div class="page-title">◉ Configurar Projeto de Rede</div>
    <div class="page-sub">Upload do arquivo KML com OLTs e CTOs</div>
  </div>
  <div class="topbar-actions">
    <a href="mapa.php" class="btn btn-ghost">← Voltar ao Mapa</a>
  </div>
</div>

<div class="content" style="max-width:680px">

  <?php if ($msg):  ?><div class="alert alert-success"><?= e($msg) ?></div><?php endif; ?>
  <?php if ($erro): ?><div class="alert alert-danger"><?= e($erro) ?></div><?php endif; ?>

  <!-- Status atual -->
  <div class="form-card" style="margin-bottom:18px">
    <div class="form-section-title">▣ STATUS DO PROJETO ATUAL</div>
    <?php if ($kmlExiste): ?>
      <div style="display:flex;align-items:center;gap:14px">
        <div style="width:44px;height:44px;border-radius:10px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0">🗺</div>
        <div>
          <div style="font-size:14px;font-weight:700">projeto_rede.kml</div>
          <div class="mono text-muted" style="font-size:11px;margin-top:3px">
            <?= $kmlSize ?> KB &nbsp;·&nbsp; Atualizado em <?= $kmlData ?>
          </div>
        </div>
        <span class="badge badge-green" style="margin-left:auto">ATIVO</span>
      </div>
      <?php
      // Conta pontos no KML
      try {
        $xml = simplexml_load_file(__DIR__ . '/projeto_rede.kml');
        $ns  = $xml->getNamespaces(true);
        $xml->registerXPathNamespace('k', reset($ns) ?: 'http://www.opengis.net/kml/2.2');
        $pontos = count($xml->xpath('//k:Placemark') ?: []);
      } catch (Exception $e) { $pontos = '?'; }
      ?>
      <div class="alert alert-info" style="margin-top:14px;font-size:12px">
        ◉ <b><?= $pontos ?> pontos</b> carregados no projeto (OLTs + CTOs).
        Estes pontos aparecem na página <a href="infraestrutura.php?id=1" style="color:var(--cyan)">Infraestrutura</a> de cada cliente.
      </div>
    <?php else: ?>
      <div class="alert alert-warning">
        ⚠ Nenhum arquivo KML encontrado. Faça o upload para ativar a análise de viabilidade óptica.
      </div>
    <?php endif; ?>
  </div>

  <!-- Upload -->
  <div class="form-card" style="margin-bottom:18px">
    <div class="form-section-title">▲ ENVIAR NOVO ARQUIVO KML</div>
    <form method="POST" enctype="multipart/form-data">
      <div class="form-group" style="margin-bottom:16px">
        <label class="form-label">ARQUIVO .KML</label>
        <input class="form-input" type="file" name="kml_file" accept=".kml" required
               style="padding:10px;cursor:pointer"/>
        <div class="form-hint">Exportado do Google Earth Pro, QGIS ou similar. Tamanho máximo: 20 MB.</div>
      </div>
      <div class="alert alert-warning" style="margin-bottom:16px;font-size:12px">
        ⚠ <b>Atenção:</b> O upload substituirá imediatamente o projeto atual para <b>todos os técnicos</b>.
      </div>
      <button type="submit" class="btn btn-primary">▲ Substituir Projeto Atual</button>
    </form>
  </div>

  <!-- Instruções -->
  <div class="form-card">
    <div class="form-section-title">? COMO GERAR O ARQUIVO KML</div>
    <div style="font-size:12.5px;color:var(--muted);line-height:1.8">
      <p style="margin-bottom:8px"><b style="color:var(--text)">Google Earth Pro (recomendado):</b><br>
      Adicione placemarks para cada OLT e CTO → Salve como KML → Faça o upload aqui.</p>
      <p style="margin-bottom:8px"><b style="color:var(--text)">QGIS:</b><br>
      Exporte a camada de pontos como KML (Layer → Export → Save Features As → KML).</p>
      <p><b style="color:var(--text)">Estrutura mínima esperada:</b><br>
      Cada ponto deve ter <code style="color:var(--cyan)">&lt;name&gt;</code> e
      <code style="color:var(--cyan)">&lt;coordinates&gt;lng,lat,0&lt;/coordinates&gt;</code>.</p>
    </div>
  </div>

</div>

<?php require_once __DIR__ . '/includes/footer.php'; ?>
