Index: libraries/common_syndication_parser.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds/libraries/common_syndication_parser.inc,v
retrieving revision 1.4
diff -u -p -r1.4 common_syndication_parser.inc
--- libraries/common_syndication_parser.inc	21 Dec 2009 00:16:22 -0000	1.4
+++ libraries/common_syndication_parser.inc	7 Jan 2010 21:43:13 -0000
@@ -182,7 +182,7 @@ function _parser_common_syndication_atom
     $item = array();
     $item['title'] = _parser_common_syndication_title($title, $body);
     $item['description'] = $body;
-    $item['author'] = $original_author;
+    $item['author_name'] = $original_author;
     $item['timestamp'] = _parser_common_syndication_parse_date(isset($news->published) ? "{$news->published}" : "{$news->issued}");
     $item['url'] = trim($original_url);
     if (valid_url($item['url']) && !valid_url($item['url'], TRUE) && !empty($base)) {
@@ -280,7 +280,7 @@ function _parser_common_syndication_RDF1
 
     // If no author name found, use the feed title:
     if (empty($item['author'])) {
-      $item['author'] = $parsed_source['title'];
+      $item['author_name'] = $parsed_source['title'];
     }
 
     // If no GUID found, use the URL of the feed.
@@ -330,6 +330,12 @@ function _parser_common_syndication_RDF1
  * Parse RSS2.0 feeds.
  */
 function _parser_common_syndication_RSS20_parse($feed_XML) {
+
+  $ns = array (
+    "content" => "http://purl.org/rss/1.0/modules/content/",
+     "dc" => "http://purl.org/dc/elements/1.1/",
+  );
+
   $parsed_source = array();
   // Detect the title.
   $parsed_source['title'] = isset($feed_XML->channel->title) ? _parser_common_syndication_title("{$feed_XML->channel->title}") : "";
@@ -343,7 +349,8 @@ function _parser_common_syndication_RSS2
     $category = $news->xpath('category');
     // Get children for current namespace.
     if (version_compare(phpversion(), '5.1.2', '>')) {
-      $content = (array)$news->children('http://purl.org/rss/1.0/modules/content/');
+      $content = (array)$news->children($ns["content"]);
+      $dc      = (array)$news->children($ns["dc"]);
     }
     $news = (array) $news;
     $news['category'] = $category;
@@ -376,6 +383,8 @@ function _parser_common_syndication_RSS2
 
     if (!empty($news['author'])) {
       $original_author = "{$news['author']}";
+    } else {
+      $original_author = (string)$dc["creator"];
     }
 
     if (!empty($news['link'])) {
@@ -414,7 +423,7 @@ function _parser_common_syndication_RSS2
     $item = array();
     $item['title'] = _parser_common_syndication_title($title, $body);
     $item['description'] = $body;
-    $item['author'] = $original_author;
+    $item['author_name'] = $original_author;
     if (isset($news['pubDate'])) {
       $item['timestamp'] = _parser_common_syndication_parse_date($news['pubDate']);
     }
