diff options
Diffstat (limited to 'modules/aggregator.module')
-rw-r--r-- | modules/aggregator.module | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/modules/aggregator.module b/modules/aggregator.module index 91752bf8a..52330386c 100644 --- a/modules/aggregator.module +++ b/modules/aggregator.module @@ -312,13 +312,18 @@ function aggregator_refresh($feed) { $channel = aggregator_parse_feed($result->data, $feed); - if ($result->headers['Last-Modified']) { - $modified = strtotime($result->headers['Last-Modified']); - } + if (is_array($channel)) { + if ($result->headers['Last-Modified']) { + $modified = strtotime($result->headers['Last-Modified']); + } - db_query("UPDATE {feed} SET url = '%s', checked = %d, link = '%s', description = '%s', etag = '%s', modified = %d WHERE fid = %d", $feed['url'], time(), $channel["LINK"], $channel["DESCRIPTION"], $result->headers['ETag'], $modified, $feed["fid"]); + db_query("UPDATE {feed} SET url = '%s', checked = %d, link = '%s', description = '%s', etag = '%s', modified = %d WHERE fid = %d", $feed['url'], time(), $channel["LINK"], $channel["DESCRIPTION"], $result->headers['ETag'], $modified, $feed["fid"]); - return t("syndicated content from '%site'.", array("%site" => $feed["title"])); + return t("syndicated content from '%site'.", array("%site" => $feed["title"])); + } + else { + return $channel; + } default: return t("failed to parse RSS feed '%site': %error.", array('%site' => $feed['title'], '%error' => $result->code .' '. $result->error)); } |