vfeed grouping: prevent duplicate group headings
This commit is contained in:
parent
a9bcfb8ff8
commit
081e527d3a
4 changed files with 34 additions and 16 deletions
|
@ -228,6 +228,7 @@
|
||||||
$cat_view = db_escape_string($_GET["cat"]);
|
$cat_view = db_escape_string($_GET["cat"]);
|
||||||
$next_unread_feed = db_escape_string($_GET["nuf"]);
|
$next_unread_feed = db_escape_string($_GET["nuf"]);
|
||||||
$offset = db_escape_string($_GET["skip"]);
|
$offset = db_escape_string($_GET["skip"]);
|
||||||
|
$vgroup_last_feed = db_escape_string($_GET["vgrlf"]);
|
||||||
|
|
||||||
set_pref($link, "_DEFAULT_VIEW_MODE", $view_mode);
|
set_pref($link, "_DEFAULT_VIEW_MODE", $view_mode);
|
||||||
set_pref($link, "_DEFAULT_VIEW_LIMIT", $limit);
|
set_pref($link, "_DEFAULT_VIEW_LIMIT", $limit);
|
||||||
|
@ -246,16 +247,19 @@
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$ret = outputHeadlinesList($link, $feed, $subop,
|
$ret = outputHeadlinesList($link, $feed, $subop,
|
||||||
$view_mode, $limit, $cat_view, $next_unread_feed, $offset);
|
$view_mode, $limit, $cat_view, $next_unread_feed, $offset,
|
||||||
|
$vgroup_last_feed);
|
||||||
|
|
||||||
$topmost_article_ids = $ret[0];
|
$topmost_article_ids = $ret[0];
|
||||||
$headlines_count = $ret[1];
|
$headlines_count = $ret[1];
|
||||||
$returned_feed = $ret[2];
|
$returned_feed = $ret[2];
|
||||||
$disable_cache = $ret[3];
|
$disable_cache = $ret[3];
|
||||||
|
$vgroup_last_feed = $ret[4];
|
||||||
|
|
||||||
print "]]></headlines>";
|
print "]]></headlines>";
|
||||||
|
|
||||||
print "<headlines-count value=\"$headlines_count\"/>";
|
print "<headlines-count value=\"$headlines_count\"/>";
|
||||||
|
print "<vgroup-last-feed value=\"$vgroup_last_feed\"/>";
|
||||||
|
|
||||||
$headlines_unread = getFeedUnread($link, $returned_feed);
|
$headlines_unread = getFeedUnread($link, $returned_feed);
|
||||||
|
|
||||||
|
|
|
@ -142,8 +142,6 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
|
||||||
disableContainerChildren("headlinesToolbar", false);
|
disableContainerChildren("headlinesToolbar", false);
|
||||||
Form.enable("main_toolbar_form");
|
Form.enable("main_toolbar_form");
|
||||||
|
|
||||||
debug(query);
|
|
||||||
|
|
||||||
// for piggybacked counters
|
// for piggybacked counters
|
||||||
|
|
||||||
if (tagsAreDisplayed()) {
|
if (tagsAreDisplayed()) {
|
||||||
|
@ -152,6 +150,13 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
|
||||||
query = query + "&omode=flc";
|
query = query + "&omode=flc";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// to prevent duplicate feed titles when showing grouped vfeeds
|
||||||
|
if (vgroup_last_feed) {
|
||||||
|
query = query + "&vgrlf=" + param_escape(vgroup_last_feed);
|
||||||
|
}
|
||||||
|
|
||||||
|
debug(query);
|
||||||
|
|
||||||
var container = document.getElementById("headlinesInnerContainer");
|
var container = document.getElementById("headlinesInnerContainer");
|
||||||
|
|
||||||
if (container && page_offset == 0 && !isCdmMode()) {
|
if (container && page_offset == 0 && !isCdmMode()) {
|
||||||
|
|
|
@ -4680,7 +4680,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function outputHeadlinesList($link, $feed, $subop, $view_mode, $limit, $cat_view,
|
function outputHeadlinesList($link, $feed, $subop, $view_mode, $limit, $cat_view,
|
||||||
$next_unread_feed, $offset) {
|
$next_unread_feed, $offset, $vgr_last_feed = false) {
|
||||||
|
|
||||||
$disable_cache = false;
|
$disable_cache = false;
|
||||||
|
|
||||||
|
@ -4784,6 +4784,8 @@
|
||||||
$feed_site_url = $qfh_ret[2];
|
$feed_site_url = $qfh_ret[2];
|
||||||
$last_error = $qfh_ret[3];
|
$last_error = $qfh_ret[3];
|
||||||
|
|
||||||
|
$vgroup_last_feed = $vgr_last_feed;
|
||||||
|
|
||||||
if ($feed == -2) {
|
if ($feed == -2) {
|
||||||
$feed_site_url = article_publish_url($link);
|
$feed_site_url = article_publish_url($link);
|
||||||
}
|
}
|
||||||
|
@ -4927,17 +4929,13 @@
|
||||||
if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) {
|
if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) {
|
||||||
|
|
||||||
if (defined('_VFEED_GROUP_BY_FEED')) {
|
if (defined('_VFEED_GROUP_BY_FEED')) {
|
||||||
if ($line["feed_title"] != $cur_feed_title) {
|
if ($feed_id != $vgroup_last_feed) {
|
||||||
|
|
||||||
$cur_feed_title = $line["feed_title"];
|
$cur_feed_title = $line["feed_title"];
|
||||||
|
$vgroup_last_feed = $feed_id;
|
||||||
|
|
||||||
/* print "<tr class='feedTitle'><td colspan='7'>".
|
|
||||||
$line["feed_title"].
|
|
||||||
" (<a href=\"javascript:viewfeed($feed_id, '', false)\">".
|
|
||||||
"more</a>)</td></tr>"; */
|
|
||||||
|
|
||||||
$vf_catchup_link = "(<a href='javascript:'>select</a>,
|
$vf_catchup_link = "(<a href='javascript:catchupFeedInGroup($feed_id, \"$cur_feed_title\")'>mark as read</a>)";
|
||||||
<a href='javascript:catchupFeedInGroup($feed_id, \"$cur_feed_title\")'>mark as read</a>)";
|
|
||||||
|
|
||||||
print "<tr class='feedTitle'><td colspan='7'>".
|
print "<tr class='feedTitle'><td colspan='7'>".
|
||||||
"<a href=\"javascript:viewfeed($feed_id, '', false)\">".
|
"<a href=\"javascript:viewfeed($feed_id, '', false)\">".
|
||||||
|
@ -5003,11 +5001,16 @@
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if (defined('_VFEED_GROUP_BY_FEED')) {
|
if (defined('_VFEED_GROUP_BY_FEED')) {
|
||||||
if ($line["feed_title"] != $cur_feed_title) {
|
if ($feed_id != $vgroup_last_feed) {
|
||||||
|
|
||||||
|
$cur_feed_title = $line["feed_title"];
|
||||||
|
$vgroup_last_feed = $feed_id;
|
||||||
|
|
||||||
|
$vf_catchup_link = "(<a href='javascript:catchupFeedInGroup($feed_id, \"$cur_feed_title\")'>mark as read</a>)";
|
||||||
|
|
||||||
print "<div class='cdmFeedTitle'>".
|
print "<div class='cdmFeedTitle'>".
|
||||||
"<a href=\"javascript:viewfeed($feed_id, '', false)\">".
|
"<a href=\"javascript:viewfeed($feed_id, '', false)\">".
|
||||||
$line["feed_title"]."</a></div>";
|
$line["feed_title"]."</a> $vf_catchup_link</div>";
|
||||||
$cur_feed_title = $line["feed_title"];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5199,7 +5202,7 @@
|
||||||
print "</div>";
|
print "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
return array($topmost_article_ids, $headlines_count, $feed, $disable_cache);
|
return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, $vgroup_last_feed);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from here: http://www.roscripts.com/Create_tag_cloud-71.html
|
// from here: http://www.roscripts.com/Create_tag_cloud-71.html
|
||||||
|
|
|
@ -17,6 +17,8 @@ var _cdm_wd_vishist = new Array();
|
||||||
|
|
||||||
var article_cache = new Array();
|
var article_cache = new Array();
|
||||||
|
|
||||||
|
var vgroup_last_feed = false;
|
||||||
|
|
||||||
function catchup_callback() {
|
function catchup_callback() {
|
||||||
if (xmlhttp_rpc.readyState == 4) {
|
if (xmlhttp_rpc.readyState == 4) {
|
||||||
try {
|
try {
|
||||||
|
@ -93,10 +95,14 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) {
|
||||||
var headlines_unread_obj = transport.responseXML.getElementsByTagName("headlines-unread")[0];
|
var headlines_unread_obj = transport.responseXML.getElementsByTagName("headlines-unread")[0];
|
||||||
var disable_cache_obj = transport.responseXML.getElementsByTagName("disable-cache")[0];
|
var disable_cache_obj = transport.responseXML.getElementsByTagName("disable-cache")[0];
|
||||||
|
|
||||||
|
var vgroup_last_feed_obj = transport.responseXML.getElementsByTagName("vgroup-last-feed")[0];
|
||||||
|
|
||||||
var headlines_count = headlines_count_obj.getAttribute("value");
|
var headlines_count = headlines_count_obj.getAttribute("value");
|
||||||
var headlines_unread = headlines_unread_obj.getAttribute("value");
|
var headlines_unread = headlines_unread_obj.getAttribute("value");
|
||||||
var disable_cache = disable_cache_obj.getAttribute("value") != "0";
|
var disable_cache = disable_cache_obj.getAttribute("value") != "0";
|
||||||
|
|
||||||
|
vgroup_last_feed = vgroup_last_feed_obj.getAttribute("value");
|
||||||
|
|
||||||
if (headlines_count == 0) {
|
if (headlines_count == 0) {
|
||||||
_infscroll_disable = 1;
|
_infscroll_disable = 1;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue