diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index c901bc96ed19b7de6a77189fd88d614fff887a11..e583a5f51bdb1a7e52f28ac5f633097bc41b291a 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1043,7 +1043,7 @@ class Pref_Feeds extends Handler_Protected { <?= __("Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds.") ?> </p> - <button dojoType='dijit.form.Button' class='alt-primary' onclick="return CommonDialogs.publishedOPML()"> + <button dojoType='dijit.form.Button' class='alt-primary' onclick="return Helpers.OPML.publish()"> <?= __('Display published OPML URL') ?> </button> diff --git a/js/CommonDialogs.js b/js/CommonDialogs.js index a100a546d895122a1af850a5707504060ac7c5ec..321ddf6d3757ea778b1fdcf5a1db0225a4dffe8e 100644 --- a/js/CommonDialogs.js +++ b/js/CommonDialogs.js @@ -587,64 +587,6 @@ const CommonDialogs = { dialog.show(); }, - publishedOPML: function() { - - Notify.progress("Loading, please wait...", true); - - xhr.json("backend.php", {op: "pref-feeds", method: "getOPMLKey"}, (reply) => { - try { - const dialog = new fox.SingleUseDialog({ - title: __("Public OPML URL"), - regenOPMLKey: function() { - if (confirm(__("Replace current OPML publishing address with a new one?"))) { - Notify.progress("Trying to change address...", true); - - xhr.json("backend.php", {op: "pref-feeds", method: "regenOPMLKey"}, (reply) => { - if (reply) { - const new_link = reply.link; - const target = this.domNode.querySelector('.generated_url'); - - if (new_link && target) { - target.href = new_link; - target.innerHTML = new_link; - - Notify.close(); - - } else { - Notify.error("Could not change feed URL."); - } - } - }); - } - return false; - }, - content: ` - <header>${__("Your Public OPML URL is:")}</header> - <section> - <div class='panel text-center'> - <a class='generated_url' href="${App.escapeHtml(reply.link)}" target='_blank'>${App.escapeHtml(reply.link)}</a> - </div> - </section> - <footer class='text-center'> - <button dojoType='dijit.form.Button' onclick="return App.dialogOf(this).regenOPMLKey()"> - ${__('Generate new URL')} - </button> - <button dojoType='dijit.form.Button' type='submit' class='alt-primary'> - ${__('Close this window')} - </button> - </footer> - ` - }); - - dialog.show(); - - Notify.close(); - - } catch (e) { - App.Error.report(e); - } - }); - }, generatedFeed: function(feed, is_cat, search = "") { Notify.progress("Loading, please wait...", true); diff --git a/js/PrefHelpers.js b/js/PrefHelpers.js index d27e0e071b0fde53d226adbd283fe3c75c9fb402..62f6d91b12f9b6471c2129d1e9a00491782960f9 100644 --- a/js/PrefHelpers.js +++ b/js/PrefHelpers.js @@ -347,5 +347,62 @@ const Helpers = { console.log("export"); window.open("backend.php?op=opml&method=export&" + dojo.formToQuery("opmlExportForm")); }, + publish: function() { + Notify.progress("Loading, please wait...", true); + + xhr.json("backend.php", {op: "pref-feeds", method: "getOPMLKey"}, (reply) => { + try { + const dialog = new fox.SingleUseDialog({ + title: __("Public OPML URL"), + regenOPMLKey: function() { + if (confirm(__("Replace current OPML publishing address with a new one?"))) { + Notify.progress("Trying to change address...", true); + + xhr.json("backend.php", {op: "pref-feeds", method: "regenOPMLKey"}, (reply) => { + if (reply) { + const new_link = reply.link; + const target = this.domNode.querySelector('.generated_url'); + + if (new_link && target) { + target.href = new_link; + target.innerHTML = new_link; + + Notify.close(); + + } else { + Notify.error("Could not change feed URL."); + } + } + }); + } + return false; + }, + content: ` + <header>${__("Your Public OPML URL is:")}</header> + <section> + <div class='panel text-center'> + <a class='generated_url' href="${App.escapeHtml(reply.link)}" target='_blank'>${App.escapeHtml(reply.link)}</a> + </div> + </section> + <footer class='text-center'> + <button dojoType='dijit.form.Button' onclick="return App.dialogOf(this).regenOPMLKey()"> + ${__('Generate new URL')} + </button> + <button dojoType='dijit.form.Button' type='submit' class='alt-primary'> + ${__('Close this window')} + </button> + </footer> + ` + }); + + dialog.show(); + + Notify.close(); + + } catch (e) { + App.Error.report(e); + } + }); + }, } };