summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-08-22 10:23:30 +0100
committerAndrew Dolgov <[email protected]>2005-08-22 10:23:30 +0100
commit476cac422f49d08d2278891f4f3d4b60c69d7ff1 (patch)
treee0cd17a5e97e9ffe79c231e67b5a1f7862d61f44
parentcac95b8d16aed28b500ae73937e332eba3abf449 (diff)
feed update notification, catchup all feeds button
-rw-r--r--backend.php33
-rw-r--r--tt-rss.js27
2 files changed, 44 insertions, 16 deletions
diff --git a/backend.php b/backend.php
index d7e2b157f..0ff9793ad 100644
--- a/backend.php
+++ b/backend.php
@@ -15,7 +15,14 @@
if ($op == "feeds") {
+ $subop = $_GET["subop"];
+
+ if ($subop == "catchupAll") {
+ pg_query("UPDATE ttrss_entries SET last_read = NOW(),unread = false");
+ }
+
if ($fetch) update_all_feeds($link, $fetch);
+
$result = pg_query("SELECT *,
(SELECT count(id) FROM ttrss_entries
@@ -57,11 +64,21 @@
++$lnum;
}
- print "<tr><td class=\"footer\" colspan=\"3\">
- <a href=\"javascript:update_feed_list(false,true)\">Update all feeds</a></td></tr>";
+// print "<tr><td class=\"footer\" colspan=\"3\">
+// <a href=\"javascript:update_feed_list(false,true)\">Update all feeds</a></td></tr>";
+
+// print "<tr><td class=\"footer\" colspan=\"2\">&nbsp;";
+// print "</td></tr>";
print "</table>";
+ print "<p align=\"center\">All feeds:
+ <a class=\"button\"
+ href=\"javascript:updateFeedList(false,true)\">Update</a>";
+
+ print "&nbsp;<a class=\"button\"
+ href=\"javascript:catchupAllFeeds()\">Mark as read</a></p>";
+
print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>";
}
@@ -95,11 +112,11 @@
$feed = $_GET["feed"];
$skip = $_GET["skip"];
- $ext = $_GET["ext"];
+ $subop = $_GET["subop"];
if (!$skip) $skip = 0;
- if ($ext == "undefined") $ext = "";
+ if ($subop == "undefined") $subop = "";
// FIXME: check for null value here
@@ -111,20 +128,20 @@
$line = pg_fetch_assoc($result);
- if ($ext == "ForceUpdate" ||
- (!$ext && $line["update_timeout"] > MIN_UPDATE_TIME)) {
+ if ($subop == "ForceUpdate" ||
+ (!$subop && $line["update_timeout"] > MIN_UPDATE_TIME)) {
update_rss_feed($link, $line["feed_url"], $feed);
} else {
- if ($ext == "MarkAllRead") {
+ if ($subop == "MarkAllRead") {
pg_query("UPDATE ttrss_entries SET unread = false,last_read = NOW()
WHERE feed_id = '$feed'");
}
- if ($ext == "MarkPageRead") {
+ if ($subop == "MarkPageRead") {
// pg_query("UPDATE ttrss_entries SET unread = false
// WHERE feed_id = '$feed' ORDER BY updated OFFSET $skip LIMIT 1");
diff --git a/tt-rss.js b/tt-rss.js
index 24c5a88c6..d7959037d 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -37,6 +37,8 @@ function feedlist_callback() {
total_unread = feedtu.innerHTML;
update_title();
}
+
+ notify("");
}
}
@@ -77,10 +79,11 @@ function view_callback() {
}
-function update_feed_list(called_from_timer, fetch) {
+function updateFeedList(called_from_timer, fetch) {
if (called_from_timer != true) {
- document.getElementById("feeds").innerHTML = "Loading feeds, please wait...";
+ //document.getElementById("feeds").innerHTML = "Loading feeds, please wait...";
+ notify("Updating feeds...");
}
var query_str = "backend.php?op=feeds";
@@ -91,18 +94,26 @@ function update_feed_list(called_from_timer, fetch) {
xmlhttp.onreadystatechange=feedlist_callback;
xmlhttp.send(null);
-
}
-function viewfeed(feed, skip, ext) {
+function catchupAllFeeds() {
+ var query_str = "backend.php?op=feeds&subop=catchupAll";
+
+ notify("Marking all feeds as read...");
+
+ xmlhttp.open("GET", query_str, true);
+ xmlhttp.onreadystatechange=feedlist_callback;
+ xmlhttp.send(null);
+
+}
-// notify("view-feed: " + feed);
+function viewfeed(feed, skip, subop) {
document.getElementById('headlines').innerHTML='Loading headlines, please wait...';
document.getElementById('content').innerHTML='&nbsp;';
xmlhttp.open("GET", "backend.php?op=viewfeed&feed=" + param_escape(feed) +
- "&skip=" + param_escape(skip) + "&ext=" + param_escape(ext) , true);
+ "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) , true);
xmlhttp.onreadystatechange=viewfeed_callback;
xmlhttp.send(null);
@@ -143,7 +154,7 @@ function view(id,feed_id) {
function timeout() {
- update_feed_list(true);
+ updateFeedList(true);
setTimeout("timeout()", 1800*1000);
@@ -168,6 +179,6 @@ function update_title() {
}
function init() {
- update_feed_list(false, false);
+ updateFeedList(false, false);
setTimeout("timeout()", 1800*1000);
}