? sites/default/files
? sites/default/private
? sites/default/settings.php
Index: modules/file/file.field.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/file/file.field.inc,v
retrieving revision 1.15
diff -u -p -r1.15 file.field.inc
--- modules/file/file.field.inc	21 Dec 2009 13:47:32 -0000	1.15
+++ modules/file/file.field.inc	24 Dec 2009 01:30:59 -0000
@@ -379,6 +379,10 @@ function file_field_formatter_info() {
       'label' => t('URL to file'),
       'field types' => array('file'),
     ),
+    'file_rss_enclosure' => array(
+      'label' => t('RSS enclosure'),
+      'field types' => array('file'),
+    ),
   );
 }
 
@@ -870,6 +874,24 @@ function file_field_formatter_view($obj_
         '#items' => $items,
       );
       break;
+
+    case 'file_rss_enclosure':
+      // Add the first file as an enclosure to the RSS item. RSS allows only one
+      // enclosure per item. See: http://en.wikipedia.org/wiki/RSS_enclosure
+      foreach ($items as $item) {
+        if ($item['display']) {
+          $object->rss_elements[] = array(
+            'key' => 'enclosure',
+            'attributes' => array(
+              'url' => file_create_url($item['uri']),
+              'length' => $item['filesize'],
+              'type' => $item['filemime'],
+            ),
+          );
+          break;
+        }
+      }
+      break;
   }
 
   return $element;
