mark headlines page as read now works (via rpc)
This commit is contained in:
parent
5d348feec2
commit
175847dee8
26
backend.php
26
backend.php
|
@ -12,7 +12,27 @@
|
||||||
|
|
||||||
$op = $_GET["op"];
|
$op = $_GET["op"];
|
||||||
$fetch = $_GET["fetch"];
|
$fetch = $_GET["fetch"];
|
||||||
|
|
||||||
|
if ($op == "rpc") {
|
||||||
|
|
||||||
|
$subop = $_GET["subop"];
|
||||||
|
|
||||||
|
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") {
|
if ($op == "feeds") {
|
||||||
|
|
||||||
$subop = $_GET["subop"];
|
$subop = $_GET["subop"];
|
||||||
|
@ -150,7 +170,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print "<table class=\"headlines\" width=\"100%\">";
|
print "<table class=\"headlinesList\" id=\"headlinesList\" width=\"100%\">";
|
||||||
|
|
||||||
print "<tr><td class=\"search\" colspan=\"3\">
|
print "<tr><td class=\"search\" colspan=\"3\">
|
||||||
Search: <input onchange=\"javascript:search($feed,this);\"></td></tr>";
|
Search: <input onchange=\"javascript:search($feed,this);\"></td></tr>";
|
||||||
|
@ -242,9 +262,11 @@
|
||||||
print " ";
|
print " ";
|
||||||
print "<a class=\"button\"
|
print "<a class=\"button\"
|
||||||
href=\"javascript:viewfeed($feed, 0, 'ForceUpdate');\">Update</a>";
|
href=\"javascript:viewfeed($feed, 0, 'ForceUpdate');\">Update</a>";
|
||||||
|
|
||||||
print " Mark as read: ";
|
print " Mark as read: ";
|
||||||
|
|
||||||
print "<a class=\"button\"
|
print "<a class=\"button\"
|
||||||
href=\"javascript:viewfeed($feed, $skip, 'MarkPageRead');\">This Page</a>";
|
href=\"javascript:catchupPage($feed);\">This Page</a>";
|
||||||
print " ";
|
print " ";
|
||||||
print "<a class=\"button\"
|
print "<a class=\"button\"
|
||||||
href=\"javascript:viewfeed($feed, $skip, 'MarkAllRead');\">All Posts</a>";
|
href=\"javascript:viewfeed($feed, $skip, 'MarkAllRead');\">All Posts</a>";
|
||||||
|
|
1
prefs.js
1
prefs.js
|
@ -39,6 +39,7 @@ function notify_callback() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function updateFeedList() {
|
function updateFeedList() {
|
||||||
|
|
||||||
document.getElementById("feeds").innerHTML = "Loading feeds, please wait...";
|
document.getElementById("feeds").innerHTML = "Loading feeds, please wait...";
|
||||||
|
|
|
@ -55,7 +55,7 @@ table.feeds td.footer {
|
||||||
font-size : small;
|
font-size : small;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.headlines td.search {
|
table.headlinesList td.search {
|
||||||
font-size : small;
|
font-size : small;
|
||||||
/* border-width : 0px 0px 1px 0px;
|
/* border-width : 0px 0px 1px 0px;
|
||||||
border-color : #d0d0d0;
|
border-color : #d0d0d0;
|
||||||
|
@ -63,7 +63,7 @@ table.headlines td.search {
|
||||||
padding-bottom : 3px; */
|
padding-bottom : 3px; */
|
||||||
}
|
}
|
||||||
|
|
||||||
table.headlines td.title {
|
table.headlinesList td.title {
|
||||||
font-weight : bold;
|
font-weight : bold;
|
||||||
font-size : large;
|
font-size : large;
|
||||||
border-width : 0px 0px 1px 0px;
|
border-width : 0px 0px 1px 0px;
|
||||||
|
@ -73,9 +73,8 @@ table.headlines td.title {
|
||||||
padding-bottom : 3px;
|
padding-bottom : 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.headlines td.headlineUpdated {
|
table.headlinesList td.headlineUpdated {
|
||||||
width : 200px;
|
width : 200px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
|
|
43
tt-rss.js
43
tt-rss.js
|
@ -26,6 +26,13 @@ if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
|
||||||
xmlhttp = new XMLHttpRequest();
|
xmlhttp = new XMLHttpRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function notify_callback() {
|
||||||
|
var container = document.getElementById('notify');
|
||||||
|
if (xmlhttp.readyState == 4) {
|
||||||
|
container.innerHTML=xmlhttp.responseText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function feedlist_callback() {
|
function feedlist_callback() {
|
||||||
var container = document.getElementById('feeds');
|
var container = document.getElementById('feeds');
|
||||||
if (xmlhttp.readyState == 4) {
|
if (xmlhttp.readyState == 4) {
|
||||||
|
@ -99,6 +106,42 @@ function updateFeedList(called_from_timer, fetch) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function catchupPage(feed) {
|
||||||
|
|
||||||
|
var content = document.getElementById("headlinesList");
|
||||||
|
|
||||||
|
var rows = new Array();
|
||||||
|
|
||||||
|
for (i = 0; i < content.rows.length; i++) {
|
||||||
|
var row_id = content.rows[i].id.replace("RROW-", "");
|
||||||
|
if (row_id.length > 0) {
|
||||||
|
rows.push(row_id);
|
||||||
|
content.rows[i].className = content.rows[i].className.replace("Unread", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var feedr = document.getElementById("FEEDR-" + feed);
|
||||||
|
var feedu = document.getElementById("FEEDU-" + feed);
|
||||||
|
|
||||||
|
feedu.innerHTML = feedu.innerHTML - rows.length;
|
||||||
|
|
||||||
|
if (feedu.innerHTML > 0 && !feedr.className.match("Unread")) {
|
||||||
|
feedr.className = feedr.className + "Unread";
|
||||||
|
} else if (feedu.innerHTML <= 0) {
|
||||||
|
feedr.className = feedr.className.replace("Unread", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
var query_str = "backend.php?op=rpc&subop=catchupPage&ids=" +
|
||||||
|
param_escape(rows.toString());
|
||||||
|
|
||||||
|
notify("Marking this page as read...");
|
||||||
|
|
||||||
|
xmlhttp.open("GET", query_str, true);
|
||||||
|
xmlhttp.onreadystatechange=notify_callback;
|
||||||
|
xmlhttp.send(null);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function catchupAllFeeds() {
|
function catchupAllFeeds() {
|
||||||
var query_str = "backend.php?op=feeds&subop=catchupAll";
|
var query_str = "backend.php?op=feeds&subop=catchupAll";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue