summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-11-30 13:56:33 +0300
committerAndrew Dolgov <[email protected]>2018-11-30 13:56:33 +0300
commitb9585004e68fdd7718e042083a4d9fb2dc351e0c (patch)
tree426ceff49ea12a5d14418552158c75b01d5ceb8e
parent76733318506542543b91c53458058c931e2fd7f4 (diff)
packed headlines: no point in using JSON here
-rwxr-xr-xclasses/feeds.php2
-rwxr-xr-xjs/functions.js84
-rwxr-xr-xjs/viewfeed.js8
3 files changed, 12 insertions, 82 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index fd3d8f757..2bd9b0e65 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -496,7 +496,7 @@ class Feeds extends Handler_Protected {
}
}
- $content_encoded = htmlspecialchars(json_encode($line["content"]));
+ $content_encoded = htmlspecialchars($line["content"]);
$tmp_content = "<div class=\"cdm expanded $hlc_suffix $class\"
id=\"RROW-$id\" data-content=\"$content_encoded\" data-article-id='$id' data-orig-feed-id='$feed_id' $mouseover_attrs>";
diff --git a/js/functions.js b/js/functions.js
index 29dbe70cf..437ea1d0d 100755
--- a/js/functions.js
+++ b/js/functions.js
@@ -1424,85 +1424,21 @@ function get_timestamp() {
}
function helpDialog(topic) {
- const query = "backend.php?op=backend&method=help&topic=" + param_escape(topic);
+ const query = "backend.php?op=backend&method=help&topic=" + param_escape(topic);
- if (dijit.byId("helpDlg"))
- dijit.byId("helpDlg").destroyRecursive();
+ if (dijit.byId("helpDlg"))
+ dijit.byId("helpDlg").destroyRecursive();
- const dialog = new dijit.Dialog({
- id: "helpDlg",
- title: __("Help"),
- style: "width: 600px",
- href: query,
- });
-
- dialog.show();
-}
+ const dialog = new dijit.Dialog({
+ id: "helpDlg",
+ title: __("Help"),
+ style: "width: 600px",
+ href: query,
+ });
-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 -&gt; &quot;</p>", 'ENT_NOQUOTES');
- // * returns 1: '<p>this -> &quot;</p>'
- // * example 2: htmlspecialchars_decode("&amp;quot;");
- // * returns 2: '&quot;'
- let optTemp = 0,
- i = 0,
- noquotes = false;
- if (typeof quote_style === 'undefined') {
- quote_style = 2;
- }
- string = string.toString().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
- const 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(/&#0*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
- // string = string.replace(/&apos;|&#x0*27;/g, "'"); // This would also be useful here, but not a part of PHP
- }
- if (!noquotes) {
- string = string.replace(/&quot;/g, '"');
- }
- // Put this in last place to avoid escape being double-decoded
- string = string.replace(/&amp;/g, '&');
-
- return string;
+ dialog.show();
}
-
function label_to_feed_id(label) {
return _label_base_index - 1 - Math.abs(label);
}
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 4d6566961..072f6c9cb 100755
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -1013,13 +1013,7 @@ function unpackVisibleHeadlines() {
if (row.offsetTop <= $("headlines-frame").scrollTop + $("headlines-frame").offsetHeight) {
console.log("unpacking: " + row.id);
- let content;
-
- try {
- content = JSON.parse(row.getAttribute("data-content"));
- } catch (e) {
- content = "Error decoding content: " + row.getAttribute("data-content");
- }
+ const content = row.getAttribute("data-content");
row.select(".cdmContentInner")[0].innerHTML = content;
row.removeAttribute("data-content");