From c3b81db06c48435ce17528ce0eb9b6bb4c65c513 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 23 Aug 2005 07:43:20 +0100 Subject: [PATCH] update feedlist immediately on refetch_callback completion, faster --- backend.php | 87 +++++++++++++++++++++++++++++------------------------ tt-rss.js | 23 ++++++++------ 2 files changed, 61 insertions(+), 49 deletions(-) diff --git a/backend.php b/backend.php index 71dc030c..e34cc401 100644 --- a/backend.php +++ b/backend.php @@ -13,47 +13,9 @@ $op = $_GET["op"]; $fetch = $_GET["fetch"]; - if ($op == "rpc") { - - $subop = $_GET["subop"]; - - if ($subop == "forceUpdateAllFeeds") { - print "[rpc] forceUpdateAll"; - update_all_feeds($link, true); - } - - if ($subop == "updateAllFeeds") { - print "[rpc] updateAll"; - update_all_feeds($link, false); - } - - if ($subop == "catchupPage") { - - $ids = split(",", $_GET["ids"]); - - foreach ($ids as $id) { - - pg_query("UPDATE ttrss_entries SET unread=false,last_read = NOW() - WHERE id = '$id'"); + function outputFeedList($link) { - } - - print "Marked active page as read."; - } - - } - - if ($op == "feeds") { - - $subop = $_GET["subop"]; - - if ($subop == "catchupAll") { - pg_query("UPDATE ttrss_entries SET last_read = NOW(),unread = false"); - } - - // update_all_feeds($link, $fetch); - - $result = pg_query("SELECT *, + $result = pg_query($link, "SELECT *, (SELECT count(id) FROM ttrss_entries WHERE feed_id = ttrss_feeds.id) AS total, (SELECT count(id) FROM ttrss_entries @@ -110,6 +72,51 @@ print "
$total_unread
"; + + + } + + + if ($op == "rpc") { + + $subop = $_GET["subop"]; + + if ($subop == "forceUpdateAllFeeds") { + update_all_feeds($link, true); + outputFeedList($link); + } + + if ($subop == "updateAllFeeds") { + update_all_feeds($link, false); + outputFeedList($link); + } + + if ($subop == "catchupPage") { + + $ids = split(",", $_GET["ids"]); + + foreach ($ids as $id) { + + pg_query("UPDATE ttrss_entries SET unread=false,last_read = NOW() + WHERE id = '$id'"); + + } + + print "Marked active page as read."; + } + + } + + if ($op == "feeds") { + + $subop = $_GET["subop"]; + + if ($subop == "catchupAll") { + pg_query("UPDATE ttrss_entries SET last_read = NOW(),unread = false"); + } + + outputFeedList($link); + } if ($op == "view") { diff --git a/tt-rss.js b/tt-rss.js index e3f1fc90..d4660d62 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -46,12 +46,11 @@ function feedlist_callback() { if (xmlhttp.readyState == 4) { container.innerHTML=xmlhttp.responseText; - var feedtu = document.getElementById("FEEDTU"); - - if (feedtu) { - total_unread = feedtu.innerHTML; - update_title(); - } +// var feedtu = document.getElementById("FEEDTU"); +// if (feedtu) { +// total_unread = feedtu.innerHTML; +// update_title(); +// } if (first_run) { scheduleFeedUpdate(false); @@ -103,7 +102,13 @@ function view_callback() { function refetch_callback() { if (xmlhttp_rpc.readyState == 4) { - updateFeedList(true, false); + notify("All feeds updated"); + + var container = document.getElementById('feeds'); + + container.innerHTML = xmlhttp_rpc.responseText; + + //updateFeedList(true, false); } } @@ -114,9 +119,9 @@ function scheduleFeedUpdate(force) { var query_str = "backend.php?op=rpc&subop="; if (force) { - query_str = query_str = "forceUpdateAllFeeds"; + query_str = query_str + "forceUpdateAllFeeds"; } else { - query_str = query_str = "updateAllFeeds"; + query_str = query_str + "updateAllFeeds"; } if (xmlhttp_rpc.readyState == 4 || xmlhttp_rpc.readyState == 0) { -- 2.39.5