$view_mode = db_escape_string($_GET["view"]);
$limit = db_escape_string($_GET["limit"]);
$cat_view = db_escape_string($_GET["cat"]);
+ $next_unread_feed = db_escape_string($_GET["nuf"]);
if (!$skip) $skip = 0;
type=\"text/css\" href=\"tt-rss_compact.css\"/>";
}
+ if ($subop == "ForceUpdate" && sprintf("%d", $feed) > 0) {
+ update_generic_feed($link, $feed, $cat_view);
+ }
+
+ if ($subop == "MarkAllRead") {
+ catchup_feed($link, $feed, $cat_view);
+
+ if (get_pref($link, 'ON_CATCHUP_SHOW_NEXT_FEED')) {
+ $feed = $next_unread_feed;
+ }
+ }
+
if (preg_match("/^-?[0-9][0-9]*$/", $feed) != false) {
$result = db_query($link, "SELECT rtl_content FROM ttrss_feeds
window.onload = init;
</script>";
- if ($subop == "ForceUpdate" && sprintf("%d", $feed) > 0) {
- update_generic_feed($link, $feed, $cat_view);
- }
-
- if ($subop == "MarkAllRead") {
- catchup_feed($link, $feed, $cat_view);
- }
-
$search = db_escape_string($_GET["search"]);
$search_mode = db_escape_string($_GET["smode"]);
viewfeed(cat, 0, '', false, true);
}
-function viewfeed(feed, skip, subop, doc, is_cat) {
+function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
try {
if (!doc) doc = parent.document;
}
setActiveFeedId(feed);
+
+ var query = "backend.php?op=viewfeed&feed=" + param_escape(feed) +
+ "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) +
+ "&view=" + param_escape(view_mode) + "&limit=" + limit +
+ "&smode=" + param_escape(search_mode);
if (subop == "MarkAllRead") {
-
+
var feedr = document.getElementById("FEEDR-" + feed);
var feedctr = document.getElementById("FEEDCTR-" + feed);
feedr.className = feedr.className.replace("Unread", "");
}
}
+
+ var feedlist = document.getElementById('feedList');
+
+ var next_unread_feed = getRelativeFeedId(feedlist,
+ getActiveFeedId(), "next", true);
+
+ if (next_unread_feed) {
+ query = query + "&nuf=" + param_escape(next_unread_feed);
+ setActiveFeedId(next_unread_feed);
+ }
}
- var query = "backend.php?op=viewfeed&feed=" + param_escape(feed) +
- "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) +
- "&view=" + param_escape(view_mode) + "&limit=" + limit +
- "&smode=" + param_escape(search_mode);
-
if (search_query != "") {
query = query + "&search=" + param_escape(search_query);
searchbox.value = "";
// cleanSelectedList("feedList");
- var feedr = document.getElementById("FEEDR-" + feed);
+ var feedr = document.getElementById("FEEDR-" + getActiveFeedId());
if (feedr && !feedr.className.match("Selected")) {
feedr.className = feedr.className + "Selected";
}