<?php
/**
 * ATELIÊ ELIS SOARES — Sitemap XML Dinâmico (Etapa 15)
 * Gera a estrutura completa de URLs para indexação por Google, Bing e outros buscadores.
 */

define('APP_INIT', true);
require_once __DIR__ . '/config/config.php';
require_once CONFIG_PATH . '/database.php';
require_once INCLUDES_PATH . '/functions.php';

header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

    <!-- 1. PÁGINA INICIAL -->
    <url>
        <loc><?= e(BASE_URL) ?>/</loc>
        <lastmod><?= date('Y-m-d') ?></lastmod>
        <changefreq>daily</changefreq>
        <priority>1.0</priority>
    </url>

    <!-- 2. CATÁLOGO GERAL DE PRODUTOS -->
    <url>
        <loc><?= e(BASE_URL) ?>/categoria.php</loc>
        <lastmod><?= date('Y-m-d') ?></lastmod>
        <changefreq>daily</changefreq>
        <priority>0.9</priority>
    </url>

    <!-- 3. PÁGINAS INSTITUCIONAIS -->
    <url>
        <loc><?= e(BASE_URL) ?>/politica-privacidade.php</loc>
        <lastmod><?= date('Y-m-d') ?></lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.4</priority>
    </url>
    <url>
        <loc><?= e(BASE_URL) ?>/trocas-devolucoes.php</loc>
        <lastmod><?= date('Y-m-d') ?></lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.4</priority>
    </url>

    <!-- 4. CATEGORIAS ATIVAS -->
    <?php
    $categories = get_active_categories();
    foreach ($categories as $cat):
        $catUrl = BASE_URL . '/categoria.php?slug=' . urlencode($cat['slug']);
    ?>
    <url>
        <loc><?= e($catUrl) ?></loc>
        <lastmod><?= !empty($cat['updated_at']) ? date('Y-m-d', strtotime($cat['updated_at'])) : date('Y-m-d') ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.8</priority>
    </url>
    <?php endforeach; ?>

    <!-- 5. PRODUTOS ATIVOS COM IMAGENS -->
    <?php
    $pdo = getDB();
    if ($pdo):
        try {
            $stmt = $pdo->query("SELECT p.*, (SELECT caminho FROM produto_imagens WHERE produto_id = p.id ORDER BY principal DESC, ordem ASC LIMIT 1) as foto_capa FROM produtos p WHERE p.status = 'ativo' ORDER BY p.ordem ASC");
            $products = $stmt->fetchAll(PDO::FETCH_ASSOC);

            foreach ($products as $prod):
                $prodUrl = BASE_URL . '/produto.php?slug=' . urlencode($prod['slug']);
                $hasImg = !empty($prod['foto_capa']);
                $imgUrl = $hasImg ? BASE_URL . '/' . ltrim($prod['foto_capa'], '/') : '';
            ?>
    <url>
        <loc><?= e($prodUrl) ?></loc>
        <lastmod><?= !empty($prod['updated_at']) ? date('Y-m-d', strtotime($prod['updated_at'])) : date('Y-m-d') ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.85</priority>
        <?php if ($hasImg): ?>
        <image:image>
            <image:loc><?= e($imgUrl) ?></image:loc>
            <image:title><?= e($prod['nome']) ?></image:title>
            <image:caption><?= e($prod['descricao_curta'] ?? $prod['nome']) ?></image:caption>
        </image:image>
        <?php endif; ?>
    </url>
            <?php
            endforeach;
        } catch (Exception $e) {
            // Silencioso se erro
        }
    endif;
    ?>
</urlset>