diff --git a/libraries/common_syndication_parser.inc b/libraries/common_syndication_parser.inc index 37bc5bb9eeb1c51db2fee6432608e65e51b3fb23..a7b55ec077f461316a1af3b9764035afb77c66f3 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'];