<?php
include 'includes/header.php';

$db = new SQLite3('a/.eggziedb.db');
$request_json_path = './a/rtx/request.json';

// Ler dados com validação
$requests = [];
if (file_exists($request_json_path)) {
    $json_content = file_get_contents($request_json_path);
    $decoded = json_decode($json_content, true);
    if (is_array($decoded)) {
        $requests = $decoded;
    }
}

// Excluir MAC específico
if (isset($_GET['excluir_mac'])) {
    $mac_excluir = strtoupper(trim($_GET['excluir_mac']));
    $novos = [];
    foreach ($requests as $r) {
        if (strtoupper(trim($r['mac'] ?? '')) !== $mac_excluir) {
            $novos[] = $r;
        }
    }
    file_put_contents($request_json_path, json_encode($novos, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    echo "<script>window.location.href='devices.php';</script>";
    exit();
}

// Limpar todos os MACs
if (isset($_GET['clear'])) {
    file_put_contents($request_json_path, json_encode([], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
    echo "<script>window.location.href='devices.php';</script>";
    exit();
}

// Obter MACs já cadastrados
$cadastrados = [];
$query = $db->query("SELECT mac_address FROM ibo");
if ($query) {
    while ($row = $query->fetchArray()) {
        $cadastrados[strtoupper(trim($row['mac_address']))] = true;
    }
}

// Contar pendentes
$pendentes = 0;
foreach ($requests as $r) {
    $mac_atual = strtoupper(trim($r['mac'] ?? ''));
    if (!empty($mac_atual) && !isset($cadastrados[$mac_atual])) {
        $pendentes++;
    }
}

$total = count($requests);
$ativados = $total - $pendentes;
?>

<div class="container-fluid">
    <div class="d-sm-flex align-items-center justify-content-between mb-4">
        <h1 class="h3 mb-0"><i class="fas fa-microchip"></i> MACs Capturados</h1>
        <div>
            <a href="mac_auto.php" class="btn btn-info btn-sm mr-2" title="Ver API de captura">
                <i class="fas fa-code"></i> API
            </a>
            <a href="?clear=1" class="btn btn-danger btn-sm" onclick="return confirm('Tem certeza que deseja limpar todos os MACs capturados?')">
                <i class="fas fa-trash"></i> Limpar Tudo
            </a>
        </div>
    </div>

    <!-- Cards de Estatísticas -->
    <div class="row mb-4">
        <div class="col-md-4">
            <div class="card shadow border-left-primary">
                <div class="card-body">
                    <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Total de MACs</div>
                    <div class="h5 mb-0 font-weight-bold"><?= $total ?></div>
                </div>
            </div>
        </div>
        <div class="col-md-4">
            <div class="card shadow border-left-warning">
                <div class="card-body">
                    <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pendentes de Ativação</div>
                    <div class="h5 mb-0 font-weight-bold"><?= $pendentes ?></div>
                </div>
            </div>
        </div>
        <div class="col-md-4">
            <div class="card shadow border-left-success">
                <div class="card-body">
                    <div class="text-xs font-weight-bold text-success text-uppercase mb-1">Já Ativados</div>
                    <div class="h5 mb-0 font-weight-bold"><?= $ativados ?></div>
                </div>
            </div>
        </div>
    </div>

    <!-- Tabela de MACs -->
    <div class="card shadow">
        <div class="card-header py-3">
            <h6 class="m-0 font-weight-bold text-primary"><i class="fas fa-list mr-2"></i> Lista de MACs Capturados</h6>
        </div>
        <div class="card-body">
            <?php if (empty($requests)): ?>
                <div class="alert alert-info" role="alert">
                    <i class="fas fa-info-circle mr-2"></i>
                    Nenhum MAC capturado ainda. Os dispositivos aparecerão aqui quando se conectarem.
                </div>
            <?php else: ?>
                <div class="table-responsive">
                    <table class="table table-hover">
                        <thead>
                            <tr>
                                <th>MAC Address</th>
                                <th>Dispositivo</th>
                                <th>IP</th>
                                <th>Data/Hora</th>
                                <th class="text-center">Status</th>
                                <th class="text-center">Ações</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($requests as $mac): 
                                if (empty($mac['mac'])) continue;
                                $mac_atual = strtoupper(trim($mac['mac']));
                                $ja_ativado = isset($cadastrados[$mac_atual]);
                            ?>
                            <tr>
                                <td>
                                    <code class="text-primary font-weight-bold"><?= htmlspecialchars($mac_atual) ?></code>
                                </td>
                                <td><?= htmlspecialchars($mac['deviceName'] ?? '-') ?></td>
                                <td><small><?= htmlspecialchars($mac['ip'] ?? '-') ?></small></td>
                                <td><small><?= htmlspecialchars($mac['timestamp'] ?? '-') ?></small></td>
                                <td class="text-center">
                                    <?php if ($ja_ativado): ?>
                                        <span class="badge badge-success"><i class="fas fa-check-circle mr-1"></i>Ativado</span>
                                    <?php else: ?>
                                        <span class="badge badge-warning"><i class="fas fa-clock mr-1"></i>Pendente</span>
                                    <?php endif; ?>
                                </td>
                                <td class="text-center">
                                    <?php if (!$ja_ativado): ?>
                                        <a href="users_create.php?mac=<?= urlencode($mac_atual) ?>" class="btn btn-success btn-sm" title="Ativar este MAC">
                                            <i class="fas fa-play"></i> Ativar
                                        </a>
                                    <?php else: ?>
                                        <?php 
                                            // Buscar ID do MAC já cadastrado
                                            $id_query = $db->query("SELECT id FROM ibo WHERE UPPER(mac_address) = '" . strtoupper($mac_atual) . "' LIMIT 1");
                                            $id_row = $id_query->fetchArray();
                                            $id_cliente = $id_row ? $id_row['id'] : null;
                                        ?>
                                        <?php if ($id_cliente): ?>
                                            <a href="users_update.php?update=<?= $id_cliente ?>" class="btn btn-info btn-sm" title="Editar cliente">
                                                <i class="fas fa-edit"></i> Editar
                                            </a>
                                        <?php else: ?>
                                            <a href="users_update.php?mac=<?= urlencode($mac_atual) ?>" class="btn btn-info btn-sm" title="Editar cliente">
                                                <i class="fas fa-edit"></i> Editar
                                            </a>
                                        <?php endif; ?>
                                    <?php endif; ?>
                                    <a href="?excluir_mac=<?= urlencode($mac_atual) ?>" class="btn btn-danger btn-sm" onclick="return confirm('Tem certeza?')" title="Remover da lista">
                                        <i class="fas fa-trash"></i>
                                    </a>
                                </td>
                            </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            <?php endif; ?>
        </div>
    </div>

    <!-- Seção de Atualização Automática -->
    <div class="card shadow mt-4">
        <div class="card-header py-3">
            <h6 class="m-0 font-weight-bold text-primary"><i class="fas fa-sync-alt mr-2"></i> Atualização Automática</h6>
        </div>
        <div class="card-body">
            <p>Esta página atualiza automaticamente a cada 5 segundos para mostrar novos MACs capturados.</p>
            <div class="alert alert-info" role="alert">
                <i class="fas fa-info-circle mr-2"></i>
                <strong>Como funciona:</strong> Quando um cliente baixa o app em qualquer dispositivo, o MAC é capturado automaticamente e aparece aqui. Clique em "Ativar" para criar uma conta para o cliente.
            </div>
        </div>
    </div>

    <!-- Informações da API -->
    <div class="card shadow mt-4">
        <div class="card-header py-3">
            <h6 class="m-0 font-weight-bold text-primary"><i class="fas fa-code mr-2"></i> Integração da API</h6>
        </div>
        <div class="card-body">
            <p><strong>Endpoint para captura automática:</strong></p>
            <pre><code><?= htmlspecialchars($_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . '/mac_auto.php') ?></code></pre>
            
            <p class="mt-3"><strong>Exemplo de requisição POST:</strong></p>
            <pre><code>curl -X POST <?= htmlspecialchars($_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . '/mac_auto.php') ?> \
  -H "Content-Type: application/json" \
  -d '{
    "mac": "AA:BB:CC:DD:EE:FF",
    "deviceName": "Meu Dispositivo",
    "devID": "device123",
    "ip": "192.168.1.100"
  }'</code></pre>

            <p class="mt-3"><strong>Exemplo de requisição GET:</strong></p>
            <pre><code>curl <?= htmlspecialchars($_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . '/mac_auto.php') ?></code></pre>
        </div>
    </div>
</div>

<script>
// Atualizar a página a cada 5 segundos
setInterval(function() {
    location.reload();
}, 5000);
</script>

<?php include 'includes/footer.php'; ?>
