<?php 
/**
 * SITEMAP.XML - Dinámico para iProp CRM
 * Optimizado SEO con lastmod automático y URLs dinámicas
 * 
 * Portal ID: 9999
 * Inmobiliarias: ID >= 1
 */
define('PORTAL_ID', 9999);
define('ACCESO_PERMITIDO', true);

header('Content-Type: application/xml; charset=utf-8');
header('Cache-Control: max-age=3600');
require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/conexion.php';
$pdo = conexion();

$dominio = 'https://com3.ar';
$fechaHoy = date('Y-m-d');

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc><?= $dominio ?>/</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>daily</changefreq>
        <priority>1.0</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/buscar</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>daily</changefreq>
        <priority>0.9</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/tasaciones</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/inmobiliarias</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.7</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/contacto</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/index.php?op=alquiler</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>daily</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/index.php?op=venta</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>daily</changefreq>
        <priority>0.8</priority>
    </url>
    <url>
        <loc><?= $dominio ?>/index.php?op=emprendimientos</loc>
        <lastmod><?= $fechaHoy ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.7</priority>
    </url>
    <?php
    try {
        $stmtProp = $pdo->prepare("
            SELECT p.id, p.slug, p.fecha_creacion, p.fecha_modificacion
            FROM properties p
            WHERE p.estado = 'VIGENTE'
              AND EXISTS (
                  SELECT 1 FROM propiedades_estados pe
                  WHERE pe.id_propiedad = p.id
                    AND pe.estado = 'vigente'
              )
            ORDER BY p.fecha_modificacion DESC
            LIMIT 4500
        ");
        $stmtProp->execute();
        $propiedades = $stmtProp->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        try {
            $stmtProp = $pdo->prepare("
                SELECT p.id, p.slug, p.fecha_creacion, p.fecha_modificacion
                FROM properties p
                WHERE p.estado = 'VIGENTE'
                ORDER BY p.fecha_modificacion DESC
                LIMIT 4500
            ");
            $stmtProp->execute();
            $propiedades = $stmtProp->fetchAll(PDO::FETCH_ASSOC);
        } catch (PDOException $e2) {
            error_log("Sitemap error: " . $e2->getMessage());
            $propiedades = [];
        }
    }

    if (!empty($propiedades)) {
        $urlBase = $dominio . '/ficha/';
        foreach ($propiedades as $prop) {
            $lastmod = !empty($prop['fecha_modificacion']) ? $prop['fecha_modificacion'] : $prop['fecha_creacion'];
            if (!empty($lastmod)) $lastmod = date('Y-m-d', strtotime($lastmod));
            else $lastmod = $fechaHoy;
            $slugLimpio = trim((string)($prop['slug'] ?? ''));
            $loc = $slugLimpio !== ''
                ? $urlBase . $prop['id'] . '-' . $slugLimpio . '/'
                : $urlBase . $prop['id'] . '/';
            echo "    <url>\n";
            echo "        <loc>" . htmlspecialchars($loc, ENT_XML1, 'UTF-8') . "</loc>\n";
            echo "        <lastmod>$lastmod</lastmod>\n";
            echo "        <changefreq>weekly</changefreq>\n";
            echo "        <priority>0.6</priority>\n";
            echo "    </url>\n";
        }
    }
    ?>
</urlset>