<?php
/**
 * Sitemap dinamic XML — toate paginile + serviciile, cu hreflang RO/EN.
 * Accesibil la /sitemap.php (sau redirectat de la /sitemap.xml prin .htaccess în producție).
 */

header('Content-Type: application/xml; charset=UTF-8');

// Originea (în producție va fi https://petcupartners.ro)
$site_origin = (
    (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ||
    (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https')
    ? 'https://' : 'http://'
) . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'petcupartners.ro');

// Construim lista paginilor (omitem 'articole' până devine vizibilă)
$paginile_publice = ['acasa', 'profil', 'servicii', 'contact', 'programare'];

// Lista serviciilor — luăm cheile din fișierul de date românesc
$servicii_keys = [];
if (is_file(__DIR__ . '/pagini/servicii-data-ro.php')) {
    require __DIR__ . '/pagini/servicii-data-ro.php';
    if (isset($servicii) && is_array($servicii)) {
        $servicii_keys = array_keys($servicii);
    }
}

function url_for($lang_code, $pagina, $serviciu, $site_origin) {
    if ($pagina === 'acasa' && $serviciu === '') {
        return $site_origin . '/?lang=' . urlencode($lang_code);
    }
    $params = ['pagina' => $pagina, 'lang' => $lang_code];
    if ($serviciu !== '') { $params['serviciu'] = $serviciu; }
    return $site_origin . '/?' . http_build_query($params);
}

$now = date('Y-m-d');

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
<?php
// Pentru fiecare URL emitem o intrare cu alternate links pentru ambele limbi.
$emit = function($pagina, $serviciu, $changefreq, $priority) use ($site_origin, $now) {
    $url_ro = url_for('ro', $pagina, $serviciu, $site_origin);
    $url_en = url_for('en', $pagina, $serviciu, $site_origin);
    foreach ([$url_ro, $url_en] as $loc) {
        echo "  <url>\n";
        echo "    <loc>" . htmlspecialchars($loc, ENT_QUOTES, 'UTF-8') . "</loc>\n";
        echo "    <lastmod>{$now}</lastmod>\n";
        echo "    <changefreq>{$changefreq}</changefreq>\n";
        echo "    <priority>{$priority}</priority>\n";
        echo '    <xhtml:link rel="alternate" hreflang="ro" href="' . htmlspecialchars($url_ro, ENT_QUOTES, 'UTF-8') . '"/>' . "\n";
        echo '    <xhtml:link rel="alternate" hreflang="en" href="' . htmlspecialchars($url_en, ENT_QUOTES, 'UTF-8') . '"/>' . "\n";
        echo '    <xhtml:link rel="alternate" hreflang="x-default" href="' . htmlspecialchars($url_ro, ENT_QUOTES, 'UTF-8') . '"/>' . "\n";
        echo "  </url>\n";
    }
};

// Priorități: home cea mai mare, urmate de servicii (motoare de conversie), restul
foreach ($paginile_publice as $p) {
    $priority = ($p === 'acasa') ? '1.0' : (($p === 'servicii' || $p === 'programare') ? '0.9' : '0.8');
    $emit($p, '', 'weekly', $priority);
}

// Pagini de detaliu pentru fiecare serviciu
foreach ($servicii_keys as $key) {
    $emit('servicii', $key, 'monthly', '0.7');
}
?>
</urlset>
