RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap/Attic/xmlsitemap.pages.inc,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 xmlsitemap.pages.inc
--- xmlsitemap.pages.inc	10 May 2009 02:19:49 -0000	1.1.2.10
+++ xmlsitemap.pages.inc	10 May 2009 23:32:26 -0000
@@ -24,7 +24,9 @@
 function xmlsitemap_output($chunk = NULL) {
   global $user;
   $old_user = $user;
+  $headers = array("Content-type: text/xml; charset=utf-8");
   $user = drupal_anonymous_user();
+  $base = drupal_get_path('module', 'xmlsitemap');
   $chunk_size = variable_get('xmlsitemap_chunk_size', 1000);
   $link_count = xmlsitemap_link_count();
   if (($link_count / $chunk_size) > 1000) {
@@ -35,8 +37,13 @@ function xmlsitemap_output($chunk = NULL
   }
   if (!$link_count || (isset($chunk) && !preg_match('/[0-9]+/', $chunk))) {
     $user = $old_user;
-    drupal_not_found();
-    exit();
+    if (isset($chunk)) {
+      $file = $base .'sitemap-chunk.xml';
+    }
+    else {
+      $file = $base .'sitemap.xml';
+    }
+    file_transfer($file, $headers);
   }
   $id = xmlsitemap_cache_id();
   if (variable_get('xmlsitemap_sitemap_needs_update', FALSE)) {
@@ -64,19 +71,39 @@ function xmlsitemap_output($chunk = NULL
   }
   $user = $old_user;
   if (isset($result) && !$result) {
-    drupal_not_found();
-    exit();
+    if (isset($chunk)) {
+      $file = $base .'sitemap-chunk.xml';
+    }
+    else {
+      $file = $base .'sitemap.xml';
+    }
+    file_transfer($file, $headers);
   }
   $parent_directory = variable_get('xmlsitemap_cache_directory', file_directory_path() .'/xmlsitemap');
-  $headers = array("Content-type: text/xml; charset=utf-8");
   if (isset($chunk)) {
     if ($chunk < $link_count / $chunk_size) {
-      file_transfer("$parent_directory/xsm-$id-$chunk.xml", $headers);
+      $file = "$parent_directory/xsm-$id-$chunk.xml";
+      if ($fd = fopen($file)) {
+        fclose($fp);
+      }
+      else {
+        $file = $base .'sitemap-chunk.xml';
+      }
+    }
+    else {
+      $file = $base .'sitemap-chunk.xml';
     }
   }
   else {
-    file_transfer("$parent_directory/xsm-$id.xml", $headers);
+    $file = "$parent_directory/xsm-$id.xml";
+    if ($fd = fopen($file)) {
+      fclose($fp);
+    }
+    else {
+      $file = $base .'sitemap.xml';
+    }
   }
+  file_transfer($file, $headers);
 }
 
 /*****************************************************************************


