]> git.wh0rd.org - tt-rss.git/commitdiff
feed update notification, catchup all feeds button
authorAndrew Dolgov <fox@madoka.spb.ru>
Mon, 22 Aug 2005 09:23:30 +0000 (10:23 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Mon, 22 Aug 2005 09:23:30 +0000 (10:23 +0100)
backend.php
tt-rss.js

index d7e2b157f28f616ed679a73c5a8b7c11803fd0ea..0ff9793ad1a1b88a3878acb3fb1579bc120bde09 100644 (file)
                
        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 
                        ++$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>";
 
        }
 
                $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
 
 
                        $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");
index 24c5a88c61f51c618ed064bfb154af5648b4a7b1..d7959037d74c47e509f7184f8dd59710bcbea9e3 100644 (file)
--- 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);
 }