From 49535c9b05b7818060fc0230185bfe1c197c7405 Mon Sep 17 00:00:00 2001
From: Franz Glauber Vanderlinde <franz.glauber@gmail.com>
Date: Sun, 13 May 2012 17:38:17 -0300
Subject: [PATCH] Issue #1450714 by getgood: ATOM parser ignores 'updated' tag

---
 libraries/common_syndication_parser.inc | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/libraries/common_syndication_parser.inc b/libraries/common_syndication_parser.inc
index 37bc5bb9..a7b55ec0 100644
--- a/libraries/common_syndication_parser.inc
+++ b/libraries/common_syndication_parser.inc
@@ -201,7 +201,19 @@ function _parser_common_syndication_atom10_parse($feed_XML) {
     $item['title'] = _parser_common_syndication_title($title, $body);
     $item['description'] = $body;
     $item['author_name'] = $original_author;
-    $item['timestamp'] = _parser_common_syndication_parse_date(isset($news->published) ? "{$news->published}" : "{$news->issued}");
+
+    // Fall back to updated for timestamp if both published and issued are
+    // empty.
+    if (isset($news->published)) {
+      $item['timestamp'] = _parser_common_syndication_parse_date("{$news->published}");
+    }
+    elseif (isset($news->issued)) {
+       $item['timestamp'] = _parser_common_syndication_parse_date("{$news->issued}");
+    }
+    elseif (isset($news->updated)) {
+      $item['timestamp'] = _parser_common_syndication_parse_date("{$news->updated}");
+    }
+
     $item['url'] = trim($original_url);
     if (valid_url($item['url']) && !valid_url($item['url'], TRUE) && !empty($base)) {
       $item['url'] = $base . $item['url'];
-- 
GitLab