$loc, 'lastmod' => $lastmod, 'changefreq' => $changefreq, 'priority' => $priority, ]; } $urls = []; $staticPages = [ ['https://bubulescu.org/', $root . '/index.php', 'daily', '1.0'], ['https://bubulescu.org/contact.php', $root . '/contact.php', 'monthly', '0.5'], ['https://bubulescu.org/feed.php', $root . '/feed.php', 'monthly', '0.3'], ]; foreach ($staticPages as [$loc, $path, $changefreq, $priority]) { if (is_file($path)) { sitemap_add_url($urls, $loc, sitemap_lastmod_from_ts((int)filemtime($path)), $changefreq, $priority); } } foreach (glob(rtrim($uploadsDir, '/') . '/*', GLOB_ONLYDIR) ?: [] as $dir) { if (!is_file($dir . '/.mvlog-permalink')) continue; $idFile = $dir . '/.mvlog-id'; $articleId = is_file($idFile) ? strtolower(trim((string)@file_get_contents($idFile))) : ''; if (!sitemap_article_id_is_valid($articleId)) continue; $state = []; $stateFile = $dir . '/.movmaker-state.json'; if (is_file($stateFile)) { $decoded = json_decode((string)@file_get_contents($stateFile), true); if (is_array($decoded)) $state = $decoded; } $lastmodCandidates = []; foreach ([$dir . '/data.txt', $stateFile, $idFile, $dir . '/.mvlog-permalink'] as $candidate) { if (is_file($candidate)) $lastmodCandidates[] = (int)filemtime($candidate); } $output = isset($state['output']) && is_string($state['output']) ? basename($state['output']) : ''; if ($output !== '') { $videoPath = rtrim($videosDir, '/') . '/' . $output; if (is_file($videoPath)) $lastmodCandidates[] = (int)filemtime($videoPath); } $lastmodTs = $lastmodCandidates ? max($lastmodCandidates) : (int)filemtime($dir); sitemap_add_url( $urls, 'https://bubulescu.org/?id=' . rawurlencode($articleId), sitemap_lastmod_from_ts($lastmodTs), 'monthly', '0.8' ); } ksort($urls, SORT_STRING); header('Content-Type: application/xml; charset=UTF-8'); header('X-MVLog-Sitemap: dynamic'); header('Cache-Control: public, max-age=300'); echo '' . "\n"; echo '' . "\n"; foreach ($urls as $url) { echo " \n"; echo ' ' . sitemap_xml_escape($url['loc']) . "\n"; echo ' ' . sitemap_xml_escape($url['lastmod']) . "\n"; echo ' ' . sitemap_xml_escape($url['changefreq']) . "\n"; echo ' ' . sitemap_xml_escape($url['priority']) . "\n"; echo " \n"; } echo "\n";