update feedlist immediately on refetch_callback completion, faster

This commit is contained in:
Andrew Dolgov 2005-08-23 07:43:20 +01:00
parent cb2461767d
commit c3b81db06c
2 changed files with 61 additions and 49 deletions

View File

@ -13,47 +13,9 @@
$op = $_GET["op"]; $op = $_GET["op"];
$fetch = $_GET["fetch"]; $fetch = $_GET["fetch"];
if ($op == "rpc") { function outputFeedList($link) {
$subop = $_GET["subop"]; $result = pg_query($link, "SELECT *,
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'");
}
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 *,
(SELECT count(id) FROM ttrss_entries (SELECT count(id) FROM ttrss_entries
WHERE feed_id = ttrss_feeds.id) AS total, WHERE feed_id = ttrss_feeds.id) AS total,
(SELECT count(id) FROM ttrss_entries (SELECT count(id) FROM ttrss_entries
@ -110,6 +72,51 @@
print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>"; print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>";
}
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") { if ($op == "view") {

View File

@ -46,12 +46,11 @@ function feedlist_callback() {
if (xmlhttp.readyState == 4) { if (xmlhttp.readyState == 4) {
container.innerHTML=xmlhttp.responseText; container.innerHTML=xmlhttp.responseText;
var feedtu = document.getElementById("FEEDTU"); // var feedtu = document.getElementById("FEEDTU");
// if (feedtu) {
if (feedtu) { // total_unread = feedtu.innerHTML;
total_unread = feedtu.innerHTML; // update_title();
update_title(); // }
}
if (first_run) { if (first_run) {
scheduleFeedUpdate(false); scheduleFeedUpdate(false);
@ -103,7 +102,13 @@ function view_callback() {
function refetch_callback() { function refetch_callback() {
if (xmlhttp_rpc.readyState == 4) { 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="; var query_str = "backend.php?op=rpc&subop=";
if (force) { if (force) {
query_str = query_str = "forceUpdateAllFeeds"; query_str = query_str + "forceUpdateAllFeeds";
} else { } else {
query_str = query_str = "updateAllFeeds"; query_str = query_str + "updateAllFeeds";
} }
if (xmlhttp_rpc.readyState == 4 || xmlhttp_rpc.readyState == 0) { if (xmlhttp_rpc.readyState == 4 || xmlhttp_rpc.readyState == 0) {