diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-08-11 16:00:58 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-08-11 16:00:58 -0400 |
commit | e90004964fdb60e88e5e77d0ee035679c251ccfd (patch) | |
tree | 1b810dc524a197a180dfff283fd01601a327fdd5 | |
parent | 0bba990e2f4506da877224285442c81f68662743 (diff) |
correct sitemapindex output
darcs-hash:20080811200058-84dde-8a45ed98a331d3b53ba8e50494e44f52928c7a04.gz
-rw-r--r-- | sitemap.php | 35 |
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('/&/', '&', $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; |