$subop = $_GET["subop"];
- if ($subop == "forceUpdateAll") {
- update_all_feeds($link, true);
+ if ($subop == "forceUpdateAllFeeds") {
+ print "[rpc] forceUpdateAll";
+ update_all_feeds($link, true);
}
- if ($subop == "updateAll") {
+ if ($subop == "updateAllFeeds") {
+ print "[rpc] updateAll";
update_all_feeds($link, false);
}
pg_query("UPDATE ttrss_entries SET last_read = NOW(),unread = false");
}
- update_all_feeds($link, $fetch);
+ // update_all_feeds($link, $fetch);
$result = pg_query("SELECT *,
(SELECT count(id) FROM ttrss_entries
print "<p align=\"center\">All feeds:
<a class=\"button\"
- href=\"javascript:updateFeedList(false,true)\">Update</a>";
+ href=\"javascript:scheduleFeedUpdate()\">Update</a>";
print " <a class=\"button\"
href=\"javascript:catchupAllFeeds()\">Mark as read</a></p>";
*/
var xmlhttp = false;
+var xmlhttp_rpc = false;
var total_unread = 0;
+var first_run = true;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
+ xmlhttp_rpc = new XMLHttpRequest();
+
}
function printLockingError() {
update_title();
}
- notify("");
+ if (first_run) {
+ scheduleFeedUpdate();
+ first_run = false;
+ } else {
+ notify("");
+ }
}
}
}
}
+function refetch_callback() {
+ if (xmlhttp_rpc.readyState == 4) {
+ // feeds are updated in background
+ updateFeedList(false, false);
+// notify("All feeds updated");
+ }
+}
+
+function scheduleFeedUpdate() {
+
+ notify("Updating feeds in background...");
+
+ var query_str = "backend.php?op=rpc&subop=forceUpdateAllFeeds";
+
+ if (xmlhttp_rpc.readyState == 4 || xmlhttp_rpc.readyState == 0) {
+ xmlhttp_rpc.open("GET", query_str, true);
+ xmlhttp_rpc.onreadystatechange=refetch_callback;
+ xmlhttp_rpc.send(null);
+ } else {
+ printLockingError();
+ }
+}
-function updateFeedList(called_from_timer, fetch) {
+function updateFeedList(silent, fetch) {
- if (called_from_timer != true) {
- //document.getElementById("feeds").innerHTML = "Loading feeds, please wait...";
- notify("Updating feeds...");
+ if (silent != true) {
+ notify("Updating feed list...");
}
var query_str = "backend.php?op=feeds";