? author_patch.patch
Index: libraries/atomrdf_parser.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds_atom/libraries/atomrdf_parser.inc,v
retrieving revision 1.1
diff -u -p -r1.1 atomrdf_parser.inc
--- libraries/atomrdf_parser.inc	21 Sep 2010 22:08:31 -0000	1.1
+++ libraries/atomrdf_parser.inc	12 Nov 2010 17:42:14 -0000
@@ -217,14 +217,32 @@ function atomrdf_parse($feed_XML,$feed_r
     $author_found = FALSE;
     if (!empty($news->source->author->name)) {
       $original_author = "{$news->source->author->name}";
+      if (!empty($news->source->author->email)) {
+        $original_author_email = "{$news->source->author->email}";
+      }
+      if (!empty($news->source->author->url)) {
+        $original_author_url = "{$news->source->author->url}";
+      }
       $author_found = TRUE;
     }
     else if (!empty($news->author->name)) {
       $original_author = "{$news->author->name}";
+      if (!empty($news->author->email)) {
+        $original_author_email = "{$news->author->email}";
+      }
+      if (!empty($news->author->url)) {
+        $original_author_url = "{$news->author->url}";
+      }
       $author_found = TRUE;
     }
     if (!empty($feed_XML->author->name) && !$author_found) {
       $original_author = "{$feed_XML->author->name}";
+      if (!empty($feed_XML->author->email)) {
+        $original_author_email = "{$feed_XML->author->email}";
+      }
+      if (!empty($feed_XML->author->url)) {
+        $original_author_url = "{$feed_XML->author->url}";
+      }
     }
 
     // some src elements in some valid atom feeds contained no urls at all
@@ -245,6 +263,8 @@ function atomrdf_parse($feed_XML,$feed_r
     $item['title'] = _parser_common_syndication_title($title, $body);
     $item['description'] = $body;
     $item['author_name'] = $original_author;
+    $item['author_email'] = $original_author_email;
+    $item['author_url'] = $original_author_url;
     $item['timestamp'] = _parser_common_syndication_parse_date(isset($news->published) ? "{$news->published}" : "{$news->issued}");
     $item['tags'] = isset($additional_taxonomies['ATOM Categories']) ? $additional_taxonomies['ATOM Categories'] : array();
     $item['domains'] = isset($additional_taxonomies['ATOM Domains']) ? $additional_taxonomies['ATOM Domains'] : array();
Index: plugins/FeedsAtomRDFParser.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds_atom/plugins/FeedsAtomRDFParser.inc,v
retrieving revision 1.1
diff -u -p -r1.1 FeedsAtomRDFParser.inc
--- plugins/FeedsAtomRDFParser.inc	21 Sep 2010 22:02:16 -0000	1.1
+++ plugins/FeedsAtomRDFParser.inc	12 Nov 2010 17:42:14 -0000
@@ -40,6 +40,14 @@ class FeedsAtomRDFParser extends FeedsPa
         'name' => t('Author name'),
         'description' => t('Name of the feed item\'s author.'),
       ),
+      'author_email' => array(
+        'name' => t('Author email'),
+        'description' => t('Email of the feed item\'s author.'),
+      ),
+      'author_url' => array(
+        'name' => t('Author url'),
+        'description' => t('Url of the feed item\'s author.'),
+      ),
       'timestamp' => array(
         'name' => t('Published date'),
         'description' => t('Published date as UNIX time GMT of the feed item.'),
