summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-08-11 16:00:58 -0400
committerEvan Prodromou <evan@prodromou.name>2008-08-11 16:00:58 -0400
commite90004964fdb60e88e5e77d0ee035679c251ccfd (patch)
tree1b810dc524a197a180dfff283fd01601a327fdd5
parent0bba990e2f4506da877224285442c81f68662743 (diff)
correct sitemapindex output
darcs-hash:20080811200058-84dde-8a45ed98a331d3b53ba8e50494e44f52928c7a04.gz
-rw-r--r--sitemap.php35
1 files changed, 32 insertions, 3 deletions
diff --git a/sitemap.php b/sitemap.php
index ae40d7a89..ca1819658 100644
--- a/sitemap.php
+++ b/sitemap.php
@@ -29,7 +29,7 @@ function index_map() {
# Just the file name please.
$file_name = preg_replace("|$output_dir|", '', $file_name);
- $index_urls .= url(
+ $index_urls .= sitemap(
array(
'url' => $output_url . $file_name,
'changefreq' => 'daily'
@@ -37,8 +37,7 @@ function index_map() {
);
}
- write_file($output_paths['index_file'], urlset($index_urls));
-
+ write_file($output_paths['index_file'], sitemapindex($index_urls));
}
# Generate sitemap of standard site elements.
@@ -274,6 +273,26 @@ function url($url_args) {
return $url_out;
}
+function sitemap($sitemap_args) {
+ $url = preg_replace('/&/', '&amp;', $sitemap_args['url']); # escape ampersands for XML
+ $lastmod = $sitemap_args['lastmod'];
+
+ if (is_null($url)) {
+ error("url() arguments require 'url' value.");
+ }
+
+ $sitemap_out = "\t<sitemap>\n";
+ $sitemap_out .= "\t\t<loc>$url</loc>\n";
+
+ if ($lastmod) {
+ $sitemap_out .= "\t\t<lastmod>$lastmod</lastmod>\n";
+ }
+
+ $sitemap_out .= "\t</sitemap>\n";
+
+ return $sitemap_out;
+}
+
# Generate a <urlset></urlset> element.
function urlset($urlset_text) {
$urlset = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" .
@@ -284,6 +303,16 @@ function urlset($urlset_text) {
return $urlset;
}
+# Generate a <urlset></urlset> element.
+function sitemapindex($sitemapindex_text) {
+ $sitemapindex = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" .
+ '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n" .
+ $sitemapindex_text .
+ '</sitemapindex>';
+
+ return $sitemapindex;
+}
+
# Generate a sitemap from an array containing <url></url> elements and write it to a file.
function array_to_map($url_list, $filename_prefix) {
global $output_paths;