<?php
/**
 * sitemap.xml dinamico
 * Genera automaticamente la sitemap basandosi sulle pagine del sito
 */

require_once __DIR__ . '/../config.php';

// Determina base URL
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://';
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
$siteUrl = env('SEO_SITE_URL', $protocol . $host);
$siteUrl = rtrim($siteUrl, '/');

// Configurazione sitemap
$defaultPriority = env('SITEMAP_DEFAULT_PRIORITY', '0.8');
$defaultChangeFreq = env('SITEMAP_DEFAULT_CHANGEFREQ', 'weekly');
$lastModFormat = env('SITEMAP_LASTMOD_FORMAT', 'Y-m-d'); // 'Y-m-d' o 'Y-m-d\TH:i:s\Z'

// Pagine del sito
$pages = [
    [
        'loc' => $siteUrl . '/',
        'lastmod' => date($lastModFormat),
        'changefreq' => 'daily',
        'priority' => '1.0'
    ],
    [
        'loc' => $siteUrl . '/booking.php',
        'lastmod' => file_exists(__DIR__ . '/booking.php') ? date($lastModFormat, filemtime(__DIR__ . '/booking.php')) : date($lastModFormat),
        'changefreq' => 'weekly',
        'priority' => '0.9'
    ]
];

// Aggiungi pagine personalizzate da .env (formato: URL|priority|changefreq|lastmod)
$customPages = env('SITEMAP_CUSTOM_PAGES', '');
if (!empty($customPages)) {
    $customPagesArray = explode(';', $customPages);
    foreach ($customPagesArray as $customPage) {
        $parts = explode('|', trim($customPage));
        if (!empty($parts[0])) {
            $url = trim($parts[0]);
            if (strpos($url, 'http') !== 0) {
                $url = $siteUrl . '/' . ltrim($url, '/');
            }
            
            $page = [
                'loc' => $url,
                'lastmod' => isset($parts[3]) ? $parts[3] : date($lastModFormat),
                'changefreq' => isset($parts[2]) ? $parts[2] : $defaultChangeFreq,
                'priority' => isset($parts[1]) ? $parts[1] : $defaultPriority
            ];
            $pages[] = $page;
        }
    }
}

// Output XML
header('Content-Type: application/xml; charset=utf-8');

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

foreach ($pages as $page) {
    echo "  <url>\n";
    echo "    <loc>" . htmlspecialchars($page['loc'], ENT_XML1, 'UTF-8') . "</loc>\n";
    
    if (!empty($page['lastmod'])) {
        echo "    <lastmod>" . htmlspecialchars($page['lastmod'], ENT_XML1, 'UTF-8') . "</lastmod>\n";
    }
    
    if (!empty($page['changefreq'])) {
        echo "    <changefreq>" . htmlspecialchars($page['changefreq'], ENT_XML1, 'UTF-8') . "</changefreq>\n";
    }
    
    if (!empty($page['priority'])) {
        echo "    <priority>" . htmlspecialchars($page['priority'], ENT_XML1, 'UTF-8') . "</priority>\n";
    }
    
    echo "  </url>\n";
}

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

