Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/monara/public_html/test.athavaneng.com/themes.php on line 99
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231
element with its namespace.
echo '';
echo '';
// --- Configuration ---
// Base URL of your website. This is prepended to all relative URLs.
$baseUrl = 'https://www.swarnavahini.lk/';
// --- Static Pages ---
// An array of your website's main static pages.
// The `lastmod` date is now dynamically generated based on the file's actual modification time.
$staticPages = [
['url' => '', 'priority' => '1.0'],
['url' => 'pages/teledramas.php', 'priority' => '0.8'],
['url' => 'pages/programmes.php', 'priority' => '0.8'],
['url' => 'pages/contact_form_with_map.php', 'priority' => '0.6'],
['url' => 'pages/live.php', 'priority' => '0.9']
];
$allPages = [];
foreach ($staticPages as $page) {
// Construct the full file path to check its modification time.
$filePath = __DIR__ . '/' . ltrim($page['url'], '/');
if (file_exists($filePath)) {
// Use the file's modification time for , formatted to W3C Datetime standard.
$page['lastmod'] = date('c', filemtime($filePath));
} else {
// Fallback to the current date if the file doesn't exist for some reason.
$page['lastmod'] = date('c');
}
$allPages[] = $page;
}
// --- Dynamic Pages from Database ---
// Include your database connection script. Ensure the path is correct.
require_once __DIR__ . '/components/db_connect.php';
/**
* Fetches dynamic URLs from a given database table and adds them to the pages array.
*
* @param PDO $connection The active PDO database connection.
* @param array &$pages The array of pages to append to.
* @param string $tableName The name of the database table to query.
* @param float $priority The SEO priority to assign to these URLs.
*/
function fetchDynamicUrls($connection, &$pages, $tableName, $priority) {
try {
// Prepare and execute the query to select URLs and their last modification dates.
$stmt = $connection->query("SELECT url, last_modified FROM " . $tableName);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
// Ensure the URL from the database is not empty.
if (!empty($row['url'])) {
// Check if last_modified is valid, otherwise use current date as a fallback.
$lastmod = !empty($row['last_modified']) && strtotime($row['last_modified']) !== false
? date('c', strtotime($row['last_modified']))
: date('c');
// Add the dynamic page to the main pages array.
$pages[] = [
'url' => $row['url'],
'lastmod' => $lastmod,
'priority' => $priority
];
}
}
} catch (Exception $e) {
// If the query fails, we fail silently to prevent breaking the XML output.
// In a real-world scenario, you might want to log this error.
// error_log("Sitemap generation failed for table '$tableName': " . $e->getMessage());
}
}
// Fetch URLs from the 'teledramas', 'programmes', and 'news' tables.
fetchDynamicUrls($conn, $allPages, 'teledramas', '0.7');
fetchDynamicUrls($conn, $allPages, 'programmes', '0.7');
fetchDynamicUrls($conn, $allPages, 'news', '0.6');
// --- Generate and Output the Final XML ---
foreach ($allPages as $page) {
// Construct the full, absolute URL.
$loc = rtrim($baseUrl, '/') . '/' . ltrim($page['url'], '/');
echo '';
// Use htmlspecialchars to escape any special XML characters in the URL.
echo '' . htmlspecialchars($loc, ENT_XML1, 'UTF-8') . '';
echo '' . $page['lastmod'] . '';
// Assuming content is updated weekly; you can change this to 'daily', 'monthly', etc.
echo 'weekly';
echo '' . htmlspecialchars($page['priority'], ENT_XML1, 'UTF-8') . '';
echo '';
}
// Close the root element.
echo '';
// Flush the output buffer and send the complete XML to the browser.
ob_end_flush();
exit;