From 476cac422f49d08d2278891f4f3d4b60c69d7ff1 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 22 Aug 2005 10:23:30 +0100 Subject: [PATCH] feed update notification, catchup all feeds button --- backend.php | 33 +++++++++++++++++++++++++-------- tt-rss.js | 27 +++++++++++++++++++-------- 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/backend.php b/backend.php index d7e2b157..0ff9793a 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 " - Update all feeds"; +// print " +// Update all feeds"; + +// print " "; +// print ""; print ""; + print "

All feeds: + Update"; + + print " Mark as read

"; + print "
$total_unread
"; } @@ -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 24c5a88c..d7959037 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=' '; 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); } -- 2.39.2