diff options
author | Andrew Dolgov <[email protected]> | 2009-01-17 11:14:45 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-01-17 11:14:45 +0100 |
commit | 3d72bbdb4f4cb35c40aa61199dc6b3265cc5c9b6 (patch) | |
tree | a030024f7127b0b3ac488ad75e61be0aef7d734d | |
parent | 617698d71010d43161b968811f50e0edce25dc1a (diff) |
active_feed_is_cat, active_feed_id handling changes
-rw-r--r-- | backend.php | 2 | ||||
-rw-r--r-- | feedlist.js | 14 | ||||
-rw-r--r-- | functions.js | 24 | ||||
-rw-r--r-- | functions.php | 2 | ||||
-rw-r--r-- | help/3.php | 4 | ||||
-rw-r--r-- | tt-rss.js | 42 | ||||
-rw-r--r-- | viewfeed.js | 28 |
7 files changed, 62 insertions, 54 deletions
diff --git a/backend.php b/backend.php index b772dbbf1..028ca2ad0 100644 --- a/backend.php +++ b/backend.php @@ -281,7 +281,7 @@ WHERE id = '$feed' AND owner_uid = ".$_SESSION["uid"]); } - print "<headlines id=\"$feed\"><![CDATA["; + print "<headlines id=\"$feed\" is_cat=\"$cat_view\"><![CDATA["; $override_order = false; diff --git a/feedlist.js b/feedlist.js index 2b5b4f8d3..bc38c1391 100644 --- a/feedlist.js +++ b/feedlist.js @@ -25,7 +25,6 @@ function toggle_sortable_feedlist(enabled) { } function viewCategory(cat) { - active_feed_is_cat = true; viewfeed(cat, '', true); return false; } @@ -239,17 +238,18 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) { clean_feed_selections(); - setActiveFeedId(feed); + setActiveFeedId(feed, is_cat); - if (is_cat != undefined) { - active_feed_is_cat = is_cat; - } - if (!is_cat) { var feedr = document.getElementById("FEEDR-" + feed); if (feedr && !feedr.className.match("Selected")) { feedr.className = feedr.className + "Selected"; } + } else { + var feedr = document.getElementById("FCAT-" + feed_id); + if (feedr && !feedr.className.match("Selected")) { + feedr.className = feedr.className + "Selected"; + } } f.innerHTML = cache_find_param(cache_prefix + feed, unread_ctr); @@ -264,7 +264,7 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) { new Ajax.Request(query, { onComplete: function(transport) { - headlines_callback2(transport, feed, is_cat, page_offset); + headlines_callback2(transport, page_offset); } }); } diff --git a/functions.js b/functions.js index 9456a6a25..034e463d1 100644 --- a/functions.js +++ b/functions.js @@ -406,30 +406,6 @@ function gotoExportOpml() { document.location.href = "opml.php?op=Export"; } -function getActiveFeedId() { -// return getCookie("ttrss_vf_actfeed"); - try { - debug("gAFID: " + active_feed_id); - return active_feed_id; - } catch (e) { - exception_error("getActiveFeedId", e); - } -} - -function activeFeedIsCat() { - return active_feed_is_cat; -} - -function setActiveFeedId(id) { -// return setCookie("ttrss_vf_actfeed", id); - try { - debug("sAFID(" + id + ")"); - active_feed_id = id; - } catch (e) { - exception_error("setActiveFeedId", e); - } -} - function parse_counters(reply, scheduled_call) { try { diff --git a/functions.php b/functions.php index c4ecc78ec..8c11ed0d9 100644 --- a/functions.php +++ b/functions.php @@ -4188,7 +4188,7 @@ $inner_title_class = "catTitleNL"; } - if ($cat_id > 0) { + if ($cat_id >= 0) { $cat_class = "feedCat"; } else { $cat_class = "virtCat"; diff --git a/help/3.php b/help/3.php index 11d258b48..af50db9f3 100644 --- a/help/3.php +++ b/help/3.php @@ -39,14 +39,14 @@ <h2><?php echo __("Feed actions") ?></h2> <table> - <tr><td class='n'>r</td><td><?php echo __("Update active feed") ?></td></tr> + <tr><td class='n'>f r</td><td><?php echo __("Update active feed") ?></td></tr> <!-- <tr><td class='n'>R</td><td><?php echo __("Update all feeds") ?></td></tr> --> <tr><td class='n'>f a</td><td><?php echo __("(Un)hide read feeds") ?></td></tr> <tr><td class='n'>f s</td><td><?php echo __("Subscribe to feed") ?></td></tr> <tr><td class='n'>f e</td><td><?php echo __("Edit feed") ?></td></tr> <tr><td class='n'>f w</td><td><?php echo __("Sort by name or unread count") ?></td></tr> <tr><td class='n'>f h</td><td><?php echo __("Hide visible read articles") ?></td></tr> - <tr><td class='n'>q</td><td><?php echo __("Mark feed as read") ?></td></tr> + <tr><td class='n'>f q</td><td><?php echo __("Mark feed as read") ?></td></tr> <tr><td class='n'>Q</td><td><?php echo __("Mark all feeds as read") ?></td></tr> <tr><td class='n'>x</td><td><?php echo __("If viewing category, (un)collapse it") ?></td></tr> </table> @@ -8,8 +8,8 @@ var daemon_enabled = false; var daemon_refresh_only = false; //var _qfd_deleted_feed = 0; var firsttime_update = true; -var active_feed_id = 0; -var active_feed_is_cat = false; +var _active_feed_id = 0; +var _active_feed_is_cat = false; var number_of_feeds = 0; var sanity_check_done = false; var _hfd_scrolltop = 0; @@ -20,6 +20,36 @@ var hor_offset = 0; var feeds_sort_by_unread = false; var feedlist_sortable_enabled = false; +function activeFeedIsCat() { + return _active_feed_is_cat; +} + +function getActiveFeedId() { +// return getCookie("ttrss_vf_actfeed"); + try { + debug("gAFID: " + _active_feed_id); + return _active_feed_id; + } catch (e) { + exception_error("getActiveFeedId", e); + } +} + +function setActiveFeedId(id, is_cat) { +// return setCookie("ttrss_vf_actfeed", id); + try { + debug("sAFID(" + id + ", " + is_cat + ")"); + _active_feed_id = id; + + if (is_cat != undefined) { + _active_feed_is_cat = is_cat; + } + + } catch (e) { + exception_error("setActiveFeedId", e); + } +} + + function isFeedlistSortable() { return feedlist_sortable_enabled; } @@ -250,7 +280,7 @@ function viewCurrentFeed(subop) { // if (getActiveFeedId()) { if (getActiveFeedId() != undefined) { - viewfeed(getActiveFeedId(), subop, active_feed_is_cat); + viewfeed(getActiveFeedId(), subop, activeFeedIsCat()); } else { disableContainerChildren("headlinesToolbar", false, document); // viewfeed(-1, subop); // FIXME @@ -728,14 +758,10 @@ function parse_runtime_info(elem) { function catchupCurrentFeed() { - var fn = getFeedName(getActiveFeedId(), active_feed_is_cat); + var fn = getFeedName(getActiveFeedId(), activeFeedIsCat()); var str = __("Mark all articles in %s as read?").replace("%s", fn); -/* if (active_feed_is_cat) { - str = "Mark all articles in this category as read?"; - } */ - if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) { return viewCurrentFeed('MarkAllRead') } diff --git a/viewfeed.js b/viewfeed.js index 94554a422..c7194ab1b 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -67,7 +67,7 @@ function clean_feed_selections() { } } -function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) { +function headlines_callback2(transport, feed_cur_page) { try { loading_set_progress(100); @@ -75,20 +75,26 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) { debug("headlines_callback2 [page=" + feed_cur_page + "]"); clean_feed_selections(); + + var is_cat = false; + var feed_id = false; - setActiveFeedId(active_feed_id); - - if (is_cat != undefined) { - active_feed_is_cat = is_cat; + if (transport.responseXML) { + var headlines = transport.responseXML.getElementsByTagName("headlines")[0]; + if (headlines) { + is_cat = headlines.getAttribute("is_cat"); + feed_id = headlines.getAttribute("id"); + setActiveFeedId(feed_id, is_cat); + } } if (!is_cat) { - var feedr = document.getElementById("FEEDR-" + active_feed_id); + var feedr = document.getElementById("FEEDR-" + feed_id); if (feedr && !feedr.className.match("Selected")) { feedr.className = feedr.className + "Selected"; } } else { - var feedr = document.getElementById("FCAT-" + active_feed_id); + var feedr = document.getElementById("FCAT-" + feed_id); if (feedr && !feedr.className.match("Selected")) { feedr.className = feedr.className + "Selected"; } @@ -138,10 +144,10 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) { cache_prefix = "F:"; } - cache_invalidate(cache_prefix + active_feed_id); + cache_invalidate(cache_prefix + feed_id); if (!disable_cache) { - cache_inject(cache_prefix + active_feed_id, + cache_inject(cache_prefix + feed_id, headlines.firstChild.nodeValue, headlines_unread); } @@ -1090,7 +1096,7 @@ function cdmSelectArticles(mode) { function catchupPage() { - var fn = getFeedName(getActiveFeedId(), active_feed_is_cat); + var fn = getFeedName(getActiveFeedId(), activeFeedIsCat()); var str = __("Mark all visible articles in %s as read?"); @@ -1129,7 +1135,7 @@ function catchupSelection() { } - var fn = getFeedName(getActiveFeedId(), active_feed_is_cat); + var fn = getFeedName(getActiveFeedId(), activeFeedIsCat()); var str = __("Mark %d selected articles in %s as read?"); |