simplify catching up of feeds, do not reload headlines buffer on catchup unless on_catchup_show_next_feed is enabled (closes #442)
This commit is contained in:
parent
d4c64ecc77
commit
442456184c
3 changed files with 41 additions and 79 deletions
|
@ -177,28 +177,11 @@ class Feeds extends Protected_Handler {
|
|||
|
||||
$method_split = explode(":", $method);
|
||||
|
||||
/* if ($method == "CatchupSelected") {
|
||||
$ids = explode(",", db_escape_string($_REQUEST["ids"]));
|
||||
$cmode = sprintf("%d", $_REQUEST["cmode"]);
|
||||
|
||||
catchupArticlesById($this->link, $ids, $cmode);
|
||||
} */
|
||||
|
||||
if ($method == "ForceUpdate" && $feed && is_numeric($feed) > 0) {
|
||||
include "rssfuncs.php";
|
||||
update_rss_feed($this->link, $feed, true);
|
||||
}
|
||||
|
||||
if ($method == "MarkAllRead") {
|
||||
catchup_feed($this->link, $feed, $cat_view);
|
||||
|
||||
if (get_pref($this->link, 'ON_CATCHUP_SHOW_NEXT_FEED')) {
|
||||
if ($next_unread_feed) {
|
||||
$feed = $next_unread_feed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($method_split[0] == "MarkAllReadGR") {
|
||||
catchup_feed($this->link, $method_split[1], false);
|
||||
}
|
||||
|
@ -443,7 +426,7 @@ class Feeds extends Protected_Handler {
|
|||
|
||||
$cur_feed_title = htmlspecialchars($cur_feed_title);
|
||||
|
||||
$vf_catchup_link = "(<a onclick='javascript:catchupFeedInGroup($feed_id);' href='#'>".__('mark as read')."</a>)";
|
||||
$vf_catchup_link = "(<a onclick='catchupFeedInGroup($feed_id);' href='#'>".__('mark as read')."</a>)";
|
||||
|
||||
$reply['content'] .= "<div class='cdmFeedTitle'>".
|
||||
"<div style=\"float : right\">$feed_icon_img</div>".
|
||||
|
|
|
@ -148,39 +148,6 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
|
|||
_search_query = false;
|
||||
}
|
||||
|
||||
if (method == "MarkAllRead") {
|
||||
|
||||
var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
|
||||
|
||||
if (show_next_feed) {
|
||||
var nuf = getNextUnreadFeed(feed, is_cat);
|
||||
|
||||
if (nuf) {
|
||||
var cached_nuf = cache_get("feed:" + nuf + ":false");
|
||||
|
||||
if (cached_nuf) {
|
||||
|
||||
render_local_headlines(nuf, false, JSON.parse(cached_nuf));
|
||||
|
||||
var catchup_query = "?op=rpc&method=catchupFeed&feed_id=" +
|
||||
feed + "&is_cat=" + is_cat;
|
||||
|
||||
console.log(catchup_query);
|
||||
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: catchup_query,
|
||||
onComplete: function(transport) {
|
||||
handle_rpc_json(transport);
|
||||
} });
|
||||
|
||||
return;
|
||||
} else {
|
||||
query += "&nuf=" + param_escape(nuf);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (offset != 0) {
|
||||
query = query + "&skip=" + offset;
|
||||
|
||||
|
@ -476,6 +443,26 @@ function getNextUnreadFeed(feed, is_cat) {
|
|||
}
|
||||
}
|
||||
|
||||
function catchupCurrentFeed() {
|
||||
return catchupFeed(getActiveFeedId(), activeFeedIsCat());
|
||||
}
|
||||
|
||||
function catchupFeedInGroup(id) {
|
||||
try {
|
||||
|
||||
var title = getFeedName(id);
|
||||
|
||||
var str = __("Mark all articles in %s as read?").replace("%s", title);
|
||||
|
||||
if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
|
||||
return viewCurrentFeed('MarkAllReadGR:' + id);
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
exception_error("catchupFeedInGroup", e);
|
||||
}
|
||||
}
|
||||
|
||||
function catchupFeed(feed, is_cat) {
|
||||
try {
|
||||
var str = __("Mark all articles in %s as read?");
|
||||
|
@ -496,6 +483,26 @@ function catchupFeed(feed, is_cat) {
|
|||
parameters: catchup_query,
|
||||
onComplete: function(transport) {
|
||||
handle_rpc_json(transport);
|
||||
|
||||
if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) {
|
||||
|
||||
$$("#headlines-frame > div[id*=RROW][class*=Unread]").each(
|
||||
function(child) {
|
||||
child.removeClassName("Unread");
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
|
||||
|
||||
if (show_next_feed) {
|
||||
var nuf = getNextUnreadFeed(feed, is_cat);
|
||||
|
||||
if (nuf) {
|
||||
viewfeed(nuf);
|
||||
}
|
||||
}
|
||||
|
||||
notify("");
|
||||
} });
|
||||
|
||||
|
|
28
js/tt-rss.js
28
js/tt-rss.js
|
@ -504,34 +504,6 @@ function parse_runtime_info(data) {
|
|||
}
|
||||
}
|
||||
|
||||
function catchupCurrentFeed() {
|
||||
|
||||
var fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
|
||||
|
||||
var str = __("Mark all articles in %s as read?").replace("%s", fn);
|
||||
|
||||
if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
|
||||
return viewCurrentFeed('MarkAllRead');
|
||||
}
|
||||
}
|
||||
|
||||
function catchupFeedInGroup(id) {
|
||||
|
||||
try {
|
||||
|
||||
var title = getFeedName(id);
|
||||
|
||||
var str = __("Mark all articles in %s as read?").replace("%s", title);
|
||||
|
||||
if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
|
||||
return viewCurrentFeed('MarkAllReadGR:' + id);
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
exception_error("catchupFeedInGroup", e);
|
||||
}
|
||||
}
|
||||
|
||||
function collapse_feedlist() {
|
||||
try {
|
||||
|
||||
|
|
Loading…
Reference in a new issue