<?php
header('Content-Type: application/xml; charset=utf-8');

require_once __DIR__ . '/backend/configuracao/ConfiguracaoBanco.php';
require_once __DIR__ . '/backend/repositorios/RepositorioCartao.php';

try {
    $pdo = ConfiguracaoBanco::obterConexao();
    $repositorioCartao = new RepositorioCartao($pdo);
    
    // Buscar todos os cartões ativos
    $cartoes = $repositorioCartao->encontrarCartoesAtivos();
    
    $baseUrl = 'https://tag.eco.br';
    $lastmod = date('Y-m-d');
    
    echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
    
    // Página inicial
    echo '<url>';
    echo '<loc>' . $baseUrl . '</loc>';
    echo '<lastmod>' . $lastmod . '</lastmod>';
    echo '<changefreq>daily</changefreq>';
    echo '<priority>1.0</priority>';
    echo '</url>';
    
    // Página de cadastro
    echo '<url>';
    echo '<loc>' . $baseUrl . '/cadastro</loc>';
    echo '<lastmod>' . $lastmod . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.8</priority>';
    echo '</url>';
    
    // Página de login
    echo '<url>';
    echo '<loc>' . $baseUrl . '/login</loc>';
    echo '<lastmod>' . $lastmod . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.7</priority>';
    echo '</url>';
    
    // Cada cartão virtual
    foreach ($cartoes as $cartao) {
        echo '<url>';
        
        // URL principal do cartão
        if (!empty($cartao['apelido'])) {
            echo '<loc>' . $baseUrl . '/' . urlencode($cartao['apelido']) . '</loc>';
        } else {
            echo '<loc>' . $baseUrl . '/id/' . $cartao['id_unico'] . '</loc>';
        }
        
        echo '<lastmod>' . date('Y-m-d', strtotime($cartao['atualizado_em'])) . '</lastmod>';
        echo '<changefreq>weekly</changefreq>';
        echo '<priority>0.9</priority>';
        echo '</url>';
        
        // URL alternativa (se tiver apelido, também incluir por ID)
        if (!empty($cartao['apelido'])) {
            echo '<url>';
            echo '<loc>' . $baseUrl . '/id/' . $cartao['id_unico'] . '</loc>';
            echo '<lastmod>' . date('Y-m-d', strtotime($cartao['atualizado_em'])) . '</lastmod>';
            echo '<changefreq>weekly</changefreq>';
            echo '<priority>0.8</priority>';
            echo '</url>';
        }
    }
    
    echo '</urlset>';
    
} catch (Exception $e) {
    // Em caso de erro, retornar sitemap básico
    echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
    echo '<url>';
    echo '<loc>https://tag.eco.br</loc>';
    echo '<lastmod>' . date('Y-m-d') . '</lastmod>';
    echo '<changefreq>daily</changefreq>';
    echo '<priority>1.0</priority>';
    echo '</url>';
    echo '</urlset>';
}
?>
