mirror of
https://git.tt-rss.org/fox/tt-rss.git
synced 2025-10-05 04:00:59 +02:00
add a hack to prevent loading of stuff for hidden content in unexpanded combined mode (refs #602)
This commit is contained in:
parent
81153e6b8b
commit
f0540b598a
@ -263,6 +263,8 @@ class Feeds extends Handler_Protected {
|
||||
|
||||
if ($_REQUEST["debug"]) $timing_info = print_checkpoint("PS", $timing_info);
|
||||
|
||||
$expand_cdm = get_pref($this->link, 'CDM_EXPANDED');
|
||||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
$class = ($lnum % 2) ? "even" : "odd";
|
||||
|
||||
@ -512,8 +514,6 @@ class Feeds extends Handler_Protected {
|
||||
}
|
||||
}
|
||||
|
||||
$expand_cdm = get_pref($this->link, 'CDM_EXPANDED');
|
||||
|
||||
$mouseover_attrs = "onmouseover='postMouseIn($id)'
|
||||
onmouseout='postMouseOut($id)'";
|
||||
|
||||
@ -627,17 +627,18 @@ class Feeds extends Handler_Protected {
|
||||
}
|
||||
|
||||
$reply['content'] .= "<span id=\"CWRAP-$id\">";
|
||||
$reply['content'] .= $line["content"];
|
||||
|
||||
if (!$expand_cdm) {
|
||||
$reply['content'] .= "<span id=\"CENCW-$id\">";
|
||||
$reply['content'] .= htmlspecialchars($line["content"]);
|
||||
$reply['content'] .= "</span.";
|
||||
|
||||
} else {
|
||||
$reply['content'] .= $line["content"];
|
||||
}
|
||||
|
||||
$reply['content'] .= "</span>";
|
||||
|
||||
/* $tmp_result = db_query($this->link, "SELECT always_display_enclosures FROM
|
||||
ttrss_feeds WHERE id = ".
|
||||
(($line['feed_id'] == null) ? $line['orig_feed_id'] :
|
||||
$line['feed_id'])." AND owner_uid = ".$_SESSION["uid"]);
|
||||
|
||||
$always_display_enclosures = sql_bool_to_bool(db_fetch_result($tmp_result,
|
||||
0, "always_display_enclosures")); */
|
||||
|
||||
$always_display_enclosures = sql_bool_to_bool($line["always_display_enclosures"]);
|
||||
|
||||
$reply['content'] .= format_article_enclosures($this->link, $id, $always_display_enclosures,
|
||||
@ -945,6 +946,5 @@ class Feeds extends Handler_Protected {
|
||||
return $reply;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
@ -2609,7 +2609,8 @@
|
||||
}
|
||||
|
||||
if ($entry->nodeName == 'img') {
|
||||
if (get_pref($link, "STRIP_IMAGES", $owner) || $force_remove_images) {
|
||||
if (($owner && get_pref($link, "STRIP_IMAGES", $owner)) ||
|
||||
$force_remove_images) {
|
||||
|
||||
$p = $doc->createElement('p');
|
||||
|
||||
@ -3633,7 +3634,7 @@
|
||||
array_push($entries, $entry);
|
||||
}
|
||||
|
||||
if (!get_pref($link, "STRIP_IMAGES")) {
|
||||
if ($_SESSION['uid'] && !get_pref($link, "STRIP_IMAGES")) {
|
||||
if ($always_display_enclosures ||
|
||||
!preg_match("/<img/i", $article_content)) {
|
||||
|
||||
|
@ -1913,3 +1913,65 @@ function helpDialog(topic) {
|
||||
}
|
||||
}
|
||||
|
||||
function htmlspecialchars_decode (string, quote_style) {
|
||||
// http://kevin.vanzonneveld.net
|
||||
// + original by: Mirek Slugen
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + bugfixed by: Mateusz "loonquawl" Zalega
|
||||
// + input by: ReverseSyntax
|
||||
// + input by: Slawomir Kaniecki
|
||||
// + input by: Scott Cariss
|
||||
// + input by: Francois
|
||||
// + bugfixed by: Onno Marsman
|
||||
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
|
||||
// + input by: Ratheous
|
||||
// + input by: Mailfaker (http://www.weedem.fr/)
|
||||
// + reimplemented by: Brett Zamir (http://brett-zamir.me)
|
||||
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
|
||||
// * example 1: htmlspecialchars_decode("<p>this -> "</p>", 'ENT_NOQUOTES');
|
||||
// * returns 1: '<p>this -> "</p>'
|
||||
// * example 2: htmlspecialchars_decode("&quot;");
|
||||
// * returns 2: '"'
|
||||
var optTemp = 0,
|
||||
i = 0,
|
||||
noquotes = false;
|
||||
if (typeof quote_style === 'undefined') {
|
||||
quote_style = 2;
|
||||
}
|
||||
string = string.toString().replace(/</g, '<').replace(/>/g, '>');
|
||||
var OPTS = {
|
||||
'ENT_NOQUOTES': 0,
|
||||
'ENT_HTML_QUOTE_SINGLE': 1,
|
||||
'ENT_HTML_QUOTE_DOUBLE': 2,
|
||||
'ENT_COMPAT': 2,
|
||||
'ENT_QUOTES': 3,
|
||||
'ENT_IGNORE': 4
|
||||
};
|
||||
if (quote_style === 0) {
|
||||
noquotes = true;
|
||||
}
|
||||
if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags
|
||||
quote_style = [].concat(quote_style);
|
||||
for (i = 0; i < quote_style.length; i++) {
|
||||
// Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
|
||||
if (OPTS[quote_style[i]] === 0) {
|
||||
noquotes = true;
|
||||
} else if (OPTS[quote_style[i]]) {
|
||||
optTemp = optTemp | OPTS[quote_style[i]];
|
||||
}
|
||||
}
|
||||
quote_style = optTemp;
|
||||
}
|
||||
if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
|
||||
string = string.replace(/�*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
|
||||
// string = string.replace(/'|�*27;/g, "'"); // This would also be useful here, but not a part of PHP
|
||||
}
|
||||
if (!noquotes) {
|
||||
string = string.replace(/"/g, '"');
|
||||
}
|
||||
// Put this in last place to avoid escape being double-decoded
|
||||
string = string.replace(/&/g, '&');
|
||||
|
||||
return string;
|
||||
}
|
||||
|
@ -1365,13 +1365,21 @@ function cdmExpandArticle(id) {
|
||||
}
|
||||
|
||||
setActiveArticleId(id);
|
||||
cdmScrollToArticleId(id, true);
|
||||
|
||||
elem = $("CICD-" + id);
|
||||
|
||||
var collapse = $$("div#RROW-" + id +
|
||||
" span[class='collapseBtn']")[0];
|
||||
|
||||
var cencw = $("CENCW-" + id);
|
||||
|
||||
if (!Element.visible(elem)) {
|
||||
if (cencw) {
|
||||
cencw.innerHTML = htmlspecialchars_decode(cencw.innerHTML);
|
||||
cencw.setAttribute('id', '');
|
||||
}
|
||||
|
||||
Element.show(elem);
|
||||
Element.hide("CEXC-" + id);
|
||||
Element.show(collapse);
|
||||
|
Loading…
x
Reference in New Issue
Block a user