summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-03-29 15:03:48 +0400
committerAndrew Dolgov <[email protected]>2012-03-29 15:03:48 +0400
commit442456184c23b8da36d6f9e0ac098d4a57c17659 (patch)
treee46a74b131cbcc5af6033ce770cc1088084827be
parentd4c64ecc77a46c174d64ba6173a92834bbc1f74f (diff)
simplify catching up of feeds, do not reload headlines buffer on catchup unless on_catchup_show_next_feed is enabled (closes #442)
-rw-r--r--classes/feeds.php19
-rw-r--r--js/feedlist.js73
-rw-r--r--js/tt-rss.js28
3 files changed, 41 insertions, 79 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 2f4870f91..aacad5508 100644
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -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>".
diff --git a/js/feedlist.js b/js/feedlist.js
index 271d2059e..7262d6aa3 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -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("");
} });
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 5804ee501..ef5d72e5b 100644
--- a/js/tt-rss.js
+++ b/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 {