summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclasses/pref/feeds.php4
-rw-r--r--classes/pref/labels.php2
-rw-r--r--js/CommonDialogs.js27
-rw-r--r--js/PrefFeedTree.js20
-rw-r--r--js/PrefLabelTree.js19
5 files changed, 47 insertions, 25 deletions
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index 086bf04f4..1a5e3d206 100755
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -1,9 +1,7 @@
<?php
class Pref_Feeds extends Handler_Protected {
function csrf_ignore($method) {
- $csrf_ignored = array("index", "getfeedtree", "add", "editcats", "editfeed",
- "savefeedorder", "uploadicon", "feedswitherrors", "inactivefeeds",
- "batchsubscribe");
+ $csrf_ignored = array("index", "getfeedtree", "savefeedorder", "uploadicon");
return array_search($method, $csrf_ignored) !== false;
}
diff --git a/classes/pref/labels.php b/classes/pref/labels.php
index a7869c379..a787ce388 100644
--- a/classes/pref/labels.php
+++ b/classes/pref/labels.php
@@ -2,7 +2,7 @@
class Pref_Labels extends Handler_Protected {
function csrf_ignore($method) {
- $csrf_ignored = array("index", "getlabeltree", "edit");
+ $csrf_ignored = array("index", "getlabeltree");
return array_search($method, $csrf_ignored) !== false;
}
diff --git a/js/CommonDialogs.js b/js/CommonDialogs.js
index fe685def3..038a2981d 100644
--- a/js/CommonDialogs.js
+++ b/js/CommonDialogs.js
@@ -185,8 +185,6 @@ const CommonDialogs = {
});
},
showFeedsWithErrors: function() {
- const query = {op: "pref-feeds", method: "feedsWithErrors"};
-
const dialog = new fox.SingleUseDialog({
id: "errorFeedsDlg",
title: __("Feeds with update errors"),
@@ -221,12 +219,15 @@ const CommonDialogs = {
alert(__("No feeds selected."));
}
},
- execute: function () {
- if (this.validate()) {
- //
- }
- },
- href: "backend.php?" + dojo.objectToQuery(query)
+ content: __("Loading, please wait...")
+ });
+
+ const tmph = dojo.connect(dialog, 'onShow', function () {
+ dojo.disconnect(tmph);
+
+ xhrPost("backend.php", {op: "pref-feeds", method: "feedsWithErrors"}, (transport) => {
+ dialog.attr('content', transport.responseText);
+ })
});
dialog.show();
@@ -313,7 +314,15 @@ const CommonDialogs = {
});
}
},
- href: "backend.php?" + dojo.objectToQuery(query)
+ content: __("Loading, please wait...")
+ });
+
+ const tmph = dojo.connect(dialog, 'onShow', function () {
+ dojo.disconnect(tmph);
+
+ xhrPost("backend.php", {op: "pref-feeds", method: "editfeed", id: feed}, (transport) => {
+ dialog.attr('content', transport.responseText);
+ })
});
dialog.show();
diff --git a/js/PrefFeedTree.js b/js/PrefFeedTree.js
index c8c8118c1..df580c948 100644
--- a/js/PrefFeedTree.js
+++ b/js/PrefFeedTree.js
@@ -29,7 +29,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
const bare_id = parseInt(id.substr(id.indexOf(':')+1));
if (id.match("CAT:") && bare_id > 0) {
- var menu = new dijit.Menu();
+ const menu = new dijit.Menu();
menu.row_id = bare_id;
menu.item = args.item;
@@ -49,7 +49,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
menu.bindDomNode(tnode.domNode);
tnode._menu = menu;
} else if (id.match("FEED:")) {
- var menu = new dijit.Menu();
+ const menu = new dijit.Menu();
menu.row_id = bare_id;
menu.item = args.item;
@@ -76,6 +76,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
this.inherited(arguments);
this.tree.model.store.save();
},
+ // eslint-disable-next-line no-unused-vars
getRowClass: function (item, opened) {
let rc = (!item.error || item.error == '') ? "dijitTreeRow" :
"dijitTreeRow Error";
@@ -85,11 +86,12 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
return rc;
},
getIconClass: function (item, opened) {
+ // eslint-disable-next-line no-nested-ternary
return (!item || this.model.store.getValue(item, 'type') == 'category') ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "feed-icon";
},
reload: function() {
const searchElem = $("feed_search");
- let search = (searchElem) ? searchElem.value : "";
+ const search = (searchElem) ? searchElem.value : "";
xhrPost("backend.php", { op: "pref-feeds", search: search }, (transport) => {
dijit.byId('feedsTab').attr('content', transport.responseText);
@@ -285,7 +287,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
/* normalize unchecked checkboxes because [] is not serialized */
Object.keys(query).each((key) => {
- let val = query[key];
+ const val = query[key];
if (typeof val == "object" && val.length == 0)
query[key] = ["off"];
@@ -395,7 +397,15 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
alert(__("No feeds selected."));
}
},
- href: 'backend.php?' + dojo.objectToQuery({op: 'pref-feeds', method: 'inactiveFeeds'})
+ content: __("Loading, please wait...")
+ });
+
+ const tmph = dojo.connect(dialog, 'onShow', function () {
+ dojo.disconnect(tmph);
+
+ xhrPost("backend.php", {op: "pref-feeds", method: "inactivefeeds"}, (transport) => {
+ dialog.attr('content', transport.responseText);
+ })
});
dialog.show();
diff --git a/js/PrefLabelTree.js b/js/PrefLabelTree.js
index 65dc7ea3b..eab1a643b 100644
--- a/js/PrefLabelTree.js
+++ b/js/PrefLabelTree.js
@@ -13,10 +13,10 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
_createTreeNode: function(args) {
const tnode = this.inherited(arguments);
- const fg_color = this.model.store.getValue(args.item, 'fg_color');
- const bg_color = this.model.store.getValue(args.item, 'bg_color');
+ //const fg_color = this.model.store.getValue(args.item, 'fg_color');
+ //const bg_color = this.model.store.getValue(args.item, 'bg_color');
const type = this.model.store.getValue(args.item, 'type');
- const bare_id = this.model.store.getValue(args.item, 'bare_id');
+ //const bare_id = this.model.store.getValue(args.item, 'bare_id');
if (type == 'label') {
const label = dojo.doc.createElement('i');
@@ -59,9 +59,6 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
});
},
editLabel: function(id) {
- const query = "backend.php?op=pref-labels&method=edit&id=" +
- encodeURIComponent(id);
-
const dialog = new fox.SingleUseDialog({
id: "labelEditDlg",
title: __("Label Editor"),
@@ -114,7 +111,15 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f
});
}
},
- href: query
+ content: __("Loading, please wait...")
+ });
+
+ const tmph = dojo.connect(dialog, 'onShow', function () {
+ dojo.disconnect(tmph);
+
+ xhrPost("backend.php", {op: "pref-labels", method: "edit", id: id}, (transport) => {
+ dialog.attr('content', transport.responseText);
+ })
});
dialog.show();