From 82baad4a8a00249746f11b353361930383307306 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 21 Aug 2005 16:23:44 +0100 Subject: basic functionality pass 2 --- backend.php | 107 +++++++++--------------------------------------------------- 1 file changed, 16 insertions(+), 91 deletions(-) (limited to 'backend.php') diff --git a/backend.php b/backend.php index 198252dc6..e89163dec 100644 --- a/backend.php +++ b/backend.php @@ -1,18 +1,21 @@ "; + print ""; $lnum = 0; @@ -33,8 +36,6 @@ $unread = $line["unread"]; $class = ($lnum % 2) ? "even" : "odd"; - -// if ($lnum == 2 || $lnum == 0) $feed = "$feed"; if ($unread > 0) $class .= "Unread"; @@ -49,6 +50,9 @@ ++$lnum; } + print ""; + print "
+ Update all feeds
"; } @@ -86,95 +90,17 @@ if ($ext == "undefined") $ext = ""; - $result = pg_query("SELECT * FROM ttrss_feeds WHERE id = '$feed'"); + $result = pg_query("SELECT *, + EXTRACT(EPOCH FROM NOW()) - EXTRACT(EPOCH FROM last_updated) as update_timeout + FROM ttrss_feeds WHERE id = '$feed'"); if ($result) { $line = pg_fetch_assoc($result); - if (!$ext) { - - $rss = fetch_rss($line["feed_url"]); - - if ($rss) { - - foreach ($rss->items as $item) { - - $entry_guid = $item["id"]; - - 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 = strtotime($entry_timestamp); - - $entry_title = $item["title"]; - $entry_link = $item["link"]; - - $entry_content = $item["description"]; - if (!$entry_content) $entry_content = $item["content"]; - - $entry_content = pg_escape_string($entry_content); - $entry_title = pg_escape_string($entry_title); - - $content_md5 = md5($entry_content); - - $result = pg_query(" - SELECT - id,unread,md5_hash - FROM - ttrss_entries - WHERE - guid = '$entry_guid' OR md5_hash = '$content_md5'"); - - if (pg_num_rows($result) == 0) { - - $entry_timestamp = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); - - $query = "INSERT INTO ttrss_entries - (title, guid, link, updated, content, feed_id, md5_hash) - VALUES - ('$entry_title', '$entry_guid', '$entry_link', - '$entry_timestamp', '$entry_content', '$feed', - '$content_md5')"; - - pg_query($query); - - } else { - - $entry_id = pg_fetch_result($result, 0, "id"); - $entry_timestamp = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp); - - $unread = pg_fetch_result($result, 0, "unread"); - $md5_hash = pg_fetch_result($result, 0, "md5_hash"); - - if ($md5_hash != $content_md5) - $unread = "false"; - - $query = "UPDATE ttrss_entries - SET - title ='$entry_title', - link = '$entry_link', - updated = '$entry_timestamp', - content = '$entry_content', - md5_hash = '$content_md5', - unread = '$unread' - WHERE - id = '$entry_id'"; - - $result = pg_query($query); - - // print "$entry_guid - $entry_timestamp - $entry_title - - // $entry_link - $entry_id
"; - - } - - } - - } + if (!$ext && $line["update_timeout"] > MIN_UPDATE_TIME) { + + update_rss_feed($link, $line["feed_url"], $feed); } else { @@ -183,7 +109,6 @@ pg_query("UPDATE ttrss_entries SET unread = false WHERE feed_id = '$feed'"); } - } } -- cgit v1.2.3-54-g00ecf