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
|
@ -177,28 +177,11 @@ class Feeds extends Protected_Handler {
|
||||||
|
|
||||||
$method_split = explode(":", $method);
|
$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) {
|
if ($method == "ForceUpdate" && $feed && is_numeric($feed) > 0) {
|
||||||
include "rssfuncs.php";
|
include "rssfuncs.php";
|
||||||
update_rss_feed($this->link, $feed, true);
|
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") {
|
if ($method_split[0] == "MarkAllReadGR") {
|
||||||
catchup_feed($this->link, $method_split[1], false);
|
catchup_feed($this->link, $method_split[1], false);
|
||||||
}
|
}
|
||||||
|
@ -443,7 +426,7 @@ class Feeds extends Protected_Handler {
|
||||||
|
|
||||||
$cur_feed_title = htmlspecialchars($cur_feed_title);
|
$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'>".
|
$reply['content'] .= "<div class='cdmFeedTitle'>".
|
||||||
"<div style=\"float : right\">$feed_icon_img</div>".
|
"<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;
|
_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) {
|
if (offset != 0) {
|
||||||
query = query + "&skip=" + offset;
|
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) {
|
function catchupFeed(feed, is_cat) {
|
||||||
try {
|
try {
|
||||||
var str = __("Mark all articles in %s as read?");
|
var str = __("Mark all articles in %s as read?");
|
||||||
|
@ -496,6 +483,26 @@ function catchupFeed(feed, is_cat) {
|
||||||
parameters: catchup_query,
|
parameters: catchup_query,
|
||||||
onComplete: function(transport) {
|
onComplete: function(transport) {
|
||||||
handle_rpc_json(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("");
|
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() {
|
function collapse_feedlist() {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue