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"];
$fetch = $_GET["fetch"];
if ($op == "rpc") {
function outputFeedList($link) {
$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'");
}
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 "<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") {

View File

@ -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) {