summaryrefslogtreecommitdiff
path: root/plugins/note
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-17 14:56:36 +0300
committerAndrew Dolgov <[email protected]>2021-02-17 14:56:36 +0300
commit2b2833bb4fa6f958b89a83adea89d9e7c73daee7 (patch)
tree8e57050458d81dfe6841150c82b8013af5d14eb2 /plugins/note
parent4632d6cf558774cfcb17b3b4cf10399c3626096b (diff)
plugins: load dialogs via xhr instead of http
Diffstat (limited to 'plugins/note')
-rw-r--r--plugins/note/init.php6
-rw-r--r--plugins/note/note.js15
2 files changed, 13 insertions, 8 deletions
diff --git a/plugins/note/init.php b/plugins/note/init.php
index 12c56f7ad..65e1f0eef 100644
--- a/plugins/note/init.php
+++ b/plugins/note/init.php
@@ -27,17 +27,17 @@ class Note extends Plugin {
}
function edit() {
- $param = $_REQUEST['param'];
+ $id = clean($_REQUEST['id']);
$sth = $this->pdo->prepare("SELECT note FROM ttrss_user_entries WHERE
ref_id = ? AND owner_uid = ?");
- $sth->execute([$param, $_SESSION['uid']]);
+ $sth->execute([$id, $_SESSION['uid']]);
if ($row = $sth->fetch()) {
$note = $row['note'];
- print \Controls\hidden_tag("id", "$param");
+ print \Controls\hidden_tag("id", $id);
print \Controls\hidden_tag("op", "pluginhandler");
print \Controls\hidden_tag("method", "setNote");
print \Controls\hidden_tag("plugin", "note");
diff --git a/plugins/note/note.js b/plugins/note/note.js
index ab2ed9208..215058b21 100644
--- a/plugins/note/note.js
+++ b/plugins/note/note.js
@@ -1,11 +1,8 @@
-/* global Plugins, xhrJson, Notify, fox, __ */
+/* global dojo, xhrPost, Plugins, xhrJson, Notify, fox, __ */
Plugins.Note = {
edit: function(id) {
- const query = "backend.php?op=pluginhandler&plugin=note&method=edit&param=" + encodeURIComponent(id);
-
const dialog = new fox.SingleUseDialog({
- id: "editNoteDlg",
title: __("Edit article note"),
execute: function () {
if (this.validate()) {
@@ -30,7 +27,15 @@ Plugins.Note = {
});
}
},
- href: query,
+ content: __("Loading, please wait...")
+ });
+
+ const tmph = dojo.connect(dialog, 'onShow', function () {
+ dojo.disconnect(tmph);
+
+ xhrPost("backend.php", {op: "pluginhandler", plugin: "note", method: "edit", id: id}, (transport) => {
+ dialog.attr('content', transport.responseText);
+ });
});
dialog.show();