fix date parsing in feeds

This commit is contained in:
Andrew Dolgov 2005-08-22 07:13:33 +01:00
parent 76798ff3f2
commit 9c9c7e6bb8
2 changed files with 23 additions and 15 deletions

View File

@ -15,7 +15,7 @@
if ($op == "feeds") {
if ($fetch) update_all_feeds($link);
if ($fetch) update_all_feeds($link, $fetch);
$result = pg_query("SELECT *,
(SELECT count(id) FROM ttrss_entries

View File

@ -1,13 +1,20 @@
<?
require_once 'config.php';
function update_all_feeds($link) {
function update_all_feeds($link, $fetch) {
if (!$fetch) {
$result = pg_query($link, "SELECT feed_url,id FROM ttrss_feeds WHERE
last_updated is null OR title = '' OR
EXTRACT(EPOCH FROM NOW()) - EXTRACT(EPOCH FROM last_updated) > " .
MIN_UPDATE_TIME);
} else {
$result = pg_query($link, "SELECT feed_url,id FROM ttrss_feeds");
}
$num_unread = 0;
while ($line = pg_fetch_assoc($result)) {
@ -41,15 +48,16 @@
if (!$entry_guid) $entry_guid = $item["guid"];
if (!$entry_guid) $entry_guid = $item["link"];
$entry_timestamp = $item["pubdate"];
if (!$entry_timestamp) $entry_timestamp = $item["modified"];
if (!$entry_timestamp) $entry_timestamp = $item["updated"];
$entry_timestamp = "";
if (!$entry_timestamp) continue;
$rss_2_date = $item['pubdate'];
$rss_1_date = $item['dc']['date'];
$atom_date = $item['issued'];
$entry_timestamp = strtotime($entry_timestamp);
if (!$entry_timestamp) continue;
if ($atom_date != "") $entry_timestamp = parse_w3cdtf($atom_date);
if ($rss_1_date != "") $entry_timestamp = parse_w3cdtf($rss_1_date);
if ($rss_2_date != "") $entry_timestamp = strtotime($rss_2_date);
if ($entry_timestamp == "") $entry_timestamp = time();
$entry_title = $item["title"];
$entry_link = $item["link"];