<?php
date_default_timezone_set('Asia/Kolkata');
header('Content-Type: application/xml; charset=utf-8');

define('DB_HOST', '127.0.0.1:3306');
define('DB_NAME', 'u375151508_developer_xclr');
define('DB_USER', 'u375151508_ipx_iekdiwowow');
define('DB_PASS', 'Hiys7e9^&UIhdd$%^&*()&*(');

function getDbConnection() {
    try {
        $dsn = "mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8mb4";
        $pdo = new PDO($dsn, DB_USER, DB_PASS);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $pdo;
    } catch (PDOException $e) {
        return null;
    }
}

function escapeXml($str) {
    return htmlspecialchars($str ?? '', ENT_QUOTES, 'UTF-8');
}

function formatDateForSitemap($dateStr) {
    if (!$dateStr) return date('Y-m-d\TH:i:sP');
    try {
        $date = new DateTime($dateStr);
        $date->setTimezone(new DateTimeZone('Asia/Kolkata'));
        return $date->format('Y-m-d\TH:i:sP');
    } catch (Exception $e) {
        return date('Y-m-d\TH:i:sP');
    }
}

$pdo = getDbConnection();
$articles = [];

if ($pdo) {
    $stmt = $pdo->query("SELECT id, slug, title, published_at, dateModified, excerpt, featured_image 
                         FROM articles 
                         WHERE status = 'published' 
                         ORDER BY published_at DESC");
    $articles = $stmt->fetchAll();
}

$siteUrl = "https://developer.khogendrarupini.com";

echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
    
    <?php foreach ($articles as $article): ?>
    <url>
        <loc><?php echo $siteUrl; ?>/article/<?php echo urlencode($article['slug']); ?></loc>
        <lastmod><?php echo formatDateForSitemap($article['dateModified'] ?? $article['published_at']); ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.8</priority>
        
        <?php if (!empty($article['featured_image'])): ?>
        <image:image>
            <image:loc><?php echo escapeXml($article['featured_image']); ?></image:loc>
            <image:title><?php echo escapeXml($article['title']); ?></image:title>
        </image:image>
        <?php endif; ?>
    </url>
    <?php endforeach; ?>
    
</urlset>