From cb0bd8bd0fc516a51867041a20909a56f631e20e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 23 Aug 2005 10:16:01 +0100 Subject: [PATCH] broken a lot of feed update functionality :( --- functions.php | 45 +++++++++++++-------------------------------- tt-rss.js | 44 ++++++++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 50 deletions(-) diff --git a/functions.php b/functions.php index bada34c0..266e3884 100644 --- a/functions.php +++ b/functions.php @@ -88,9 +88,9 @@ $entry_content = pg_escape_string($entry_content); $entry_title = pg_escape_string($entry_title); - - $content_md5 = md5($entry_content); - + + $content_md5 = md5(strip_tags($entry_content)); + $result = pg_query($link, " SELECT id,unread,md5_hash,last_read,no_orig_date,title, @@ -128,49 +128,30 @@ $no_orig_date = pg_fetch_result($result, 0, "no_orig_date"); $orig_title = pg_fetch_result($result, 0, "title"); - // disable update detection for posts which didn't have correct - // publishment date, because they will always register as updated - // sadly this doesn't catch feed generators which input current date - // in posts all the time (some planets do this) - - if ($no_orig_date != 't' && (!$last_read || $md5_hash != $content_md5)) { - $last_read_qpart = 'last_read = null,'; - } else { - $last_read_qpart = ''; - } - - // mark post as updated on title change - // maybe we should mark it as unread instead? - - if ($orig_title != $entry_title) { - $last_read_qpart = 'last_read = null,'; - } - - // don't bother updating timestamps on posts with broken pubDate - - if ($no_orig_date != 't') { - $update_timestamp_qpart = "updated = '$entry_timestamp_fmt',"; - } - -// print "$content_md5 vs $md5_hash [$entry_title vs $orig_title, $entry_id, $feed_id]
"; - if ($content_md5 != $md5_hash) { $update_md5_qpart = "md5_hash = '$content_md5',"; + $last_read_qpart = 'last_read = null,'; + $update_content_qpart = "content = '$entry_content',"; + } + + if ($orig_title != $entry_title) { + print "[$orig_title] : [$entry_title]"; + $entry_title_qpart = "title ='$entry_title',"; } $query = "UPDATE ttrss_entries SET - title ='$entry_title', + $entry_title_qpart link = '$entry_link', $update_timestamp_qpart $last_read_qpart $update_md5_qpart - content = '$entry_content', + $update_content_qpart unread = '$unread' WHERE id = '$entry_id'"; -// print "
".htmlspecialchars($query)."
"; + print "
".htmlspecialchars($query)."
"; $result = pg_query($link, $query); diff --git a/tt-rss.js b/tt-rss.js index d4660d62..1ef84052 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -166,31 +166,39 @@ function catchupPage(feed) { for (i = 0; i < content.rows.length; i++) { var row_id = content.rows[i].id.replace("RROW-", ""); if (row_id.length > 0) { - rows.push(row_id); - content.rows[i].className = content.rows[i].className.replace("Unread", ""); + if (content.rows[i].className.match("Unread")) { + rows.push(row_id); + content.rows[i].className = content.rows[i].className.replace("Unread", ""); + } } } - var feedr = document.getElementById("FEEDR-" + feed); - var feedu = document.getElementById("FEEDU-" + feed); + if (rows.length > 0) { - feedu.innerHTML = feedu.innerHTML - rows.length; + var feedr = document.getElementById("FEEDR-" + feed); + var feedu = document.getElementById("FEEDU-" + feed); + + feedu.innerHTML = feedu.innerHTML - rows.length; + + if (feedu.innerHTML > 0 && !feedr.className.match("Unread")) { + feedr.className = feedr.className + "Unread"; + } else if (feedu.innerHTML <= 0) { + feedr.className = feedr.className.replace("Unread", ""); + } - if (feedu.innerHTML > 0 && !feedr.className.match("Unread")) { - feedr.className = feedr.className + "Unread"; - } else if (feedu.innerHTML <= 0) { - feedr.className = feedr.className.replace("Unread", ""); - } + var query_str = "backend.php?op=rpc&subop=catchupPage&ids=" + + param_escape(rows.toString()); + + notify("Marking this page as read..."); + + xmlhttp.open("GET", query_str, true); + xmlhttp.onreadystatechange=notify_callback; + xmlhttp.send(null); - var query_str = "backend.php?op=rpc&subop=catchupPage&ids=" + - param_escape(rows.toString()); - - notify("Marking this page as read..."); - - xmlhttp.open("GET", query_str, true); - xmlhttp.onreadystatechange=notify_callback; - xmlhttp.send(null); + } else { + notify("No unread items on this page."); + } } function catchupAllFeeds() {