<?php
// Sitemap XML generado dinamicamente a partir de la base de datos.
header("Content-Type: application/xml; charset=utf-8");

include $_SERVER['DOCUMENT_ROOT'] . '/dbconfig.php';

$base = "https://www.doblajevideojuegos.es";

function urlXml($loc, $lastmod = null) {
    $xml = "  <url>\n    <loc>" . htmlspecialchars($loc, ENT_QUOTES, 'UTF-8') . "</loc>\n";
    if ($lastmod) {
        $xml .= "    <lastmod>" . $lastmod . "</lastmod>\n";
    }
    $xml .= "  </url>\n";
    return $xml;
}

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";

// Paginas principales
$paginasFijas = array("", "juegos/", "actores/", "estudios/", "empresas/", "tecnicos/", "traductores/", "contenidos/", "quienes-somos", "estadisticas/", "actualizaciones/");
foreach ($paginasFijas as $pagina) {
    echo urlXml($base . "/" . $pagina);
}

// Juegos (visibles, incluye DLCs/capitulos que tienen su propia ficha)
$cjuegos = mysqli_query($conexion, "SELECT slug, date_format(ultimafecha,'%Y-%m-%d') as lastmod FROM juegos WHERE oculto=0 AND slug<>''");
while ($fila = mysqli_fetch_array($cjuegos)) {
    echo urlXml($base . "/fichajuego/" . $fila["slug"], $fila["lastmod"] ?: null);
}

// Personas: cada rol tiene su propia ficha, una persona puede aparecer en varias
$roles = array(
    "actor" => "fichaactor",
    "director" => "fichadirector",
    "tecnico" => "fichatecnico",
    "traductor" => "fichatraductor"
);
foreach ($roles as $campo => $ruta) {
    $cpersonas = mysqli_query($conexion, "SELECT slug FROM dobladores WHERE `$campo`=1 AND slug<>''");
    while ($fila = mysqli_fetch_array($cpersonas)) {
        echo urlXml($base . "/" . $ruta . "/" . $fila["slug"]);
    }
}

// Estudios
$cestudios = mysqli_query($conexion, "SELECT slug FROM estudios WHERE slug<>''");
while ($fila = mysqli_fetch_array($cestudios)) {
    echo urlXml($base . "/fichaestudio/" . $fila["slug"]);
}

// Empresas (editoras)
$cempresas = mysqli_query($conexion, "SELECT slug FROM editoras WHERE slug<>''");
while ($fila = mysqli_fetch_array($cempresas)) {
    echo urlXml($base . "/fichaempresa/" . $fila["slug"]);
}

// Personajes
$cpersonajes = mysqli_query($conexion, "SELECT slug FROM personajes WHERE slug<>''");
while ($fila = mysqli_fetch_array($cpersonajes)) {
    echo urlXml($base . "/fichapersonaje/" . $fila["slug"]);
}

// Premios
$cpremios = mysqli_query($conexion, "SELECT slug FROM premios WHERE slug<>''");
while ($fila = mysqli_fetch_array($cpremios)) {
    echo urlXml($base . "/fichapremios/" . $fila["slug"]);
}

echo '</urlset>' . "\n";
