From 049a37aa0e7d37cafd979e7d470c7649700b5010 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 1 Dec 2018 17:05:28 +0300 Subject: WIP reshuffling of JS global context into separate logical objects --- plugins/af_psql_trgm/init.php | 2 +- plugins/close_button/init.php | 2 +- plugins/embed_original/init.js | 6 +++--- plugins/no_title_counters/init.js | 2 +- plugins/toggle_sidebar/init.php | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) (limited to 'plugins') diff --git a/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php index fe5b1a959..ff11c1201 100644 --- a/plugins/af_psql_trgm/init.php +++ b/plugins/af_psql_trgm/init.php @@ -93,7 +93,7 @@ class Af_Psql_Trgm extends Plugin { print " ". $line["title"].""; - print " (". + print " (". htmlspecialchars($line["feed_title"]).")"; print " ($sm)"; diff --git a/plugins/close_button/init.php b/plugins/close_button/init.php index 66d2af679..62f8780c4 100644 --- a/plugins/close_button/init.php +++ b/plugins/close_button/init.php @@ -21,7 +21,7 @@ class Close_Button extends Plugin { if (!get_pref("COMBINED_DISPLAY_MODE")) { $rv = ""; } diff --git a/plugins/embed_original/init.js b/plugins/embed_original/init.js index 3c48b507e..d0731d5d1 100644 --- a/plugins/embed_original/init.js +++ b/plugins/embed_original/init.js @@ -9,7 +9,7 @@ function embedOriginalArticle(id) { let c = false; - if (isCombinedMode()) { + if (App.isCombinedMode()) { c = $$("div#RROW-" + id + " div[class=content-inner]")[0]; } else if (id == getActiveArticleId()) { c = $$(".post .content")[0]; @@ -22,7 +22,7 @@ function embedOriginalArticle(id) { Element.show(c); c.parentNode.removeChild(iframe); - if (isCombinedMode()) { + if (App.isCombinedMode()) { cdmScrollToArticleId(id, true); } @@ -47,7 +47,7 @@ function embedOriginalArticle(id) { Element.hide(c); c.parentNode.insertBefore(iframe, c); - if (isCombinedMode()) { + if (App.isCombinedMode()) { cdmScrollToArticleId(id, true); } } diff --git a/plugins/no_title_counters/init.js b/plugins/no_title_counters/init.js index 06edfb3ba..1170bf3ef 100644 --- a/plugins/no_title_counters/init.js +++ b/plugins/no_title_counters/init.js @@ -1,6 +1,6 @@ require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) { ready(function () { - updateTitle = function () { + App.updateTitle = function () { document.title = "Tiny Tiny RSS"; }; }); diff --git a/plugins/toggle_sidebar/init.php b/plugins/toggle_sidebar/init.php index b2b0821a5..2187e10ad 100644 --- a/plugins/toggle_sidebar/init.php +++ b/plugins/toggle_sidebar/init.php @@ -18,7 +18,7 @@ class Toggle_Sidebar extends Plugin { function hook_main_toolbar_button() { ?> - -- cgit v1.2.3 From 1d82bd4f19de40f0cf966545c372595caa2c8afe Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 1 Dec 2018 17:42:21 +0300 Subject: further objectification --- plugins/note/note.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins') diff --git a/plugins/note/note.js b/plugins/note/note.js index bf69a680e..ea0094078 100644 --- a/plugins/note/note.js +++ b/plugins/note/note.js @@ -19,7 +19,7 @@ function editArticleNote(id) { dialog.hide(); if (reply) { - cache_delete("article:" + id); + ArticleCache.del(id); var elem = $("POSTNOTE-" + id); -- cgit v1.2.3 From 642c37ea6117954fc19e2a800f2fce4c1304d89d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 1 Dec 2018 21:01:53 +0300 Subject: further effocts to wrap JS stuff into objects --- plugins/embed_original/init.js | 6 +++--- plugins/mail/mail.js | 2 +- plugins/mailto/init.js | 2 +- plugins/mark_button/init.php | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'plugins') diff --git a/plugins/embed_original/init.js b/plugins/embed_original/init.js index d0731d5d1..95a5ef9e5 100644 --- a/plugins/embed_original/init.js +++ b/plugins/embed_original/init.js @@ -11,7 +11,7 @@ function embedOriginalArticle(id) { if (App.isCombinedMode()) { c = $$("div#RROW-" + id + " div[class=content-inner]")[0]; - } else if (id == getActiveArticleId()) { + } else if (id == Article.getActiveArticleId()) { c = $$(".post .content")[0]; } @@ -23,7 +23,7 @@ function embedOriginalArticle(id) { c.parentNode.removeChild(iframe); if (App.isCombinedMode()) { - cdmScrollToArticleId(id, true); + Article.cdmScrollToArticleId(id, true); } return; @@ -48,7 +48,7 @@ function embedOriginalArticle(id) { c.parentNode.insertBefore(iframe, c); if (App.isCombinedMode()) { - cdmScrollToArticleId(id, true); + Article.cdmScrollToArticleId(id, true); } } } diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index 929b35243..1dc383b00 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -1,7 +1,7 @@ function emailArticle(id) { try { if (!id) { - var ids = getSelectedArticleIds2(); + var ids = Headlines.getSelectedArticleIds2(); if (ids.length == 0) { alert(__("No articles are selected.")); diff --git a/plugins/mailto/init.js b/plugins/mailto/init.js index 272b8cea7..a3be90e95 100644 --- a/plugins/mailto/init.js +++ b/plugins/mailto/init.js @@ -1,7 +1,7 @@ function mailtoArticle(id) { try { if (!id) { - const ids = getSelectedArticleIds2(); + const ids = Headlines.getSelectedArticleIds2(); if (ids.length == 0) { alert(__("No articles are selected.")); diff --git a/plugins/mark_button/init.php b/plugins/mark_button/init.php index 2b8fa9242..8f05d1ada 100644 --- a/plugins/mark_button/init.php +++ b/plugins/mark_button/init.php @@ -23,12 +23,12 @@ class Mark_Button extends Plugin { $marked_pic = "\"Unstar"; + onclick='Headlines.toggleMark($id)'>"; } else { $marked_pic = "\"Star"; + onclick='Headlines.toggleMark($id)'>"; } } -- cgit v1.2.3 From 1e2d4410d320fcee644add76293f229741a163cb Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 1 Dec 2018 22:39:29 +0300 Subject: move some more shared stuff to CommonDialogs, Filters, and Utils --- plugins/af_psql_trgm/init.php | 2 +- plugins/af_readability/init.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php index ff11c1201..362b9771f 100644 --- a/plugins/af_psql_trgm/init.php +++ b/plugins/af_psql_trgm/init.php @@ -202,7 +202,7 @@ class Af_Psql_Trgm extends Plugin { print "
  • " . " " . + onclick='CommonDialogs.editFeed($f)'>" . Feeds::getFeedTitle($f) . "
  • "; } print ""; diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php index cccdf8af7..e0c57d093 100755 --- a/plugins/af_readability/init.php +++ b/plugins/af_readability/init.php @@ -94,7 +94,7 @@ class Af_Readability extends Plugin { print "
  • " . " ". + onclick='CommonDialogs.editFeed($f)'>". Feeds::getFeedTitle($f) . "
  • "; } print ""; -- cgit v1.2.3 From 3678315bead3f7264dc2aa9c7feb6e0a0f20ea63 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 2 Dec 2018 08:32:13 +0300 Subject: Article, Headlines: shorten several method names --- plugins/close_button/init.php | 2 +- plugins/embed_original/init.js | 6 +++--- plugins/mail/mail.js | 2 +- plugins/mailto/init.js | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'plugins') diff --git a/plugins/close_button/init.php b/plugins/close_button/init.php index 62f8780c4..8678d577c 100644 --- a/plugins/close_button/init.php +++ b/plugins/close_button/init.php @@ -21,7 +21,7 @@ class Close_Button extends Plugin { if (!get_pref("COMBINED_DISPLAY_MODE")) { $rv = ""; } diff --git a/plugins/embed_original/init.js b/plugins/embed_original/init.js index 95a5ef9e5..6f797556b 100644 --- a/plugins/embed_original/init.js +++ b/plugins/embed_original/init.js @@ -11,7 +11,7 @@ function embedOriginalArticle(id) { if (App.isCombinedMode()) { c = $$("div#RROW-" + id + " div[class=content-inner]")[0]; - } else if (id == Article.getActiveArticleId()) { + } else if (id == Article.getActive()) { c = $$(".post .content")[0]; } @@ -23,7 +23,7 @@ function embedOriginalArticle(id) { c.parentNode.removeChild(iframe); if (App.isCombinedMode()) { - Article.cdmScrollToArticleId(id, true); + Article.cdmScrollToId(id, true); } return; @@ -48,7 +48,7 @@ function embedOriginalArticle(id) { c.parentNode.insertBefore(iframe, c); if (App.isCombinedMode()) { - Article.cdmScrollToArticleId(id, true); + Article.cdmScrollToId(id, true); } } } diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index 1dc383b00..538970fc3 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -1,7 +1,7 @@ function emailArticle(id) { try { if (!id) { - var ids = Headlines.getSelectedArticleIds2(); + var ids = Headlines.getSelected(); if (ids.length == 0) { alert(__("No articles are selected.")); diff --git a/plugins/mailto/init.js b/plugins/mailto/init.js index a3be90e95..6b8520928 100644 --- a/plugins/mailto/init.js +++ b/plugins/mailto/init.js @@ -1,7 +1,7 @@ function mailtoArticle(id) { try { if (!id) { - const ids = Headlines.getSelectedArticleIds2(); + const ids = Headlines.getSelected(); if (ids.length == 0) { alert(__("No articles are selected.")); -- cgit v1.2.3 From 0a18d0b1edb208e5811c419a1119d131b7041173 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 2 Dec 2018 08:57:22 +0300 Subject: Feeds: shorten some method names finally rename "view as rss" --- plugins/af_psql_trgm/init.php | 2 +- plugins/toggle_sidebar/init.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php index 362b9771f..7787d5b37 100644 --- a/plugins/af_psql_trgm/init.php +++ b/plugins/af_psql_trgm/init.php @@ -93,7 +93,7 @@ class Af_Psql_Trgm extends Plugin { print " ". $line["title"].""; - print " (". + print " (". htmlspecialchars($line["feed_title"]).")"; print " ($sm)"; diff --git a/plugins/toggle_sidebar/init.php b/plugins/toggle_sidebar/init.php index 2187e10ad..e3b2acbb3 100644 --- a/plugins/toggle_sidebar/init.php +++ b/plugins/toggle_sidebar/init.php @@ -18,7 +18,7 @@ class Toggle_Sidebar extends Plugin { function hook_main_toolbar_button() { ?> - -- cgit v1.2.3 From 35ded4bc844d74f120196012c194be9ab5517688 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 2 Dec 2018 16:30:32 +0300 Subject: edit phrasing of some alert()s --- plugins/mail/mail.js | 2 +- plugins/mailto/init.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index 538970fc3..d6c28048b 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -4,7 +4,7 @@ function emailArticle(id) { var ids = Headlines.getSelected(); if (ids.length == 0) { - alert(__("No articles are selected.")); + alert(__("No articles selected.")); return; } diff --git a/plugins/mailto/init.js b/plugins/mailto/init.js index 6b8520928..47321923a 100644 --- a/plugins/mailto/init.js +++ b/plugins/mailto/init.js @@ -4,7 +4,7 @@ function mailtoArticle(id) { const ids = Headlines.getSelected(); if (ids.length == 0) { - alert(__("No articles are selected.")); + alert(__("No articles selected.")); return; } -- cgit v1.2.3 From d9c5c93cef313127b9b5010fbe279fdbddedadec Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 2 Dec 2018 20:07:57 +0300 Subject: move some more stuff out of common.js rework client-side cookie functions a bit limit dojo cachebust based on server scripts modification time remove param_escape() --- plugins/af_psql_trgm/init.js | 2 +- plugins/mail/mail.js | 2 +- plugins/mailto/init.js | 2 +- plugins/note/note.js | 2 +- plugins/share/share.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'plugins') diff --git a/plugins/af_psql_trgm/init.js b/plugins/af_psql_trgm/init.js index f84bb4877..af2facfc1 100644 --- a/plugins/af_psql_trgm/init.js +++ b/plugins/af_psql_trgm/init.js @@ -1,7 +1,7 @@ function showTrgmRelated(id) { try { - const query = "backend.php?op=pluginhandler&plugin=af_psql_trgm&method=showrelated¶m=" + param_escape(id); + const query = "backend.php?op=pluginhandler&plugin=af_psql_trgm&method=showrelated¶m=" + encodeURIComponent(id); if (dijit.byId("trgmRelatedDlg")) dijit.byId("trgmRelatedDlg").destroyRecursive(); diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index d6c28048b..af0cf3552 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -14,7 +14,7 @@ function emailArticle(id) { if (dijit.byId("emailArticleDlg")) dijit.byId("emailArticleDlg").destroyRecursive(); - var query = "backend.php?op=pluginhandler&plugin=mail&method=emailArticle¶m=" + param_escape(id); + var query = "backend.php?op=pluginhandler&plugin=mail&method=emailArticle¶m=" + encodeURIComponent(id); dialog = new dijit.Dialog({ id: "emailArticleDlg", diff --git a/plugins/mailto/init.js b/plugins/mailto/init.js index 47321923a..dacff725e 100644 --- a/plugins/mailto/init.js +++ b/plugins/mailto/init.js @@ -14,7 +14,7 @@ function mailtoArticle(id) { if (dijit.byId("emailArticleDlg")) dijit.byId("emailArticleDlg").destroyRecursive(); - const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle¶m=" + param_escape(id); + const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle¶m=" + encodeURIComponent(id); dialog = new dijit.Dialog({ id: "emailArticleDlg", diff --git a/plugins/note/note.js b/plugins/note/note.js index ea0094078..c1f317b52 100644 --- a/plugins/note/note.js +++ b/plugins/note/note.js @@ -1,7 +1,7 @@ function editArticleNote(id) { try { - var query = "backend.php?op=pluginhandler&plugin=note&method=edit¶m=" + param_escape(id); + var query = "backend.php?op=pluginhandler&plugin=note&method=edit¶m=" + encodeURIComponent(id); if (dijit.byId("editNoteDlg")) dijit.byId("editNoteDlg").destroyRecursive(); diff --git a/plugins/share/share.js b/plugins/share/share.js index 11748d8fe..4a6a65ce6 100644 --- a/plugins/share/share.js +++ b/plugins/share/share.js @@ -3,7 +3,7 @@ function shareArticle(id) { if (dijit.byId("shareArticleDlg")) dijit.byId("shareArticleDlg").destroyRecursive(); - var query = "backend.php?op=pluginhandler&plugin=share&method=shareArticle¶m=" + param_escape(id); + var query = "backend.php?op=pluginhandler&plugin=share&method=shareArticle¶m=" + encodeURIComponent(id); dialog = new dijit.Dialog({ id: "shareArticleDlg", -- cgit v1.2.3 From 526389b2d380177490605037fdc3a24ebc688fac Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 2 Dec 2018 20:56:30 +0300 Subject: update notify_* calls to use Notify --- plugins/af_psql_trgm/init.php | 2 +- plugins/af_readability/init.php | 2 +- plugins/af_redditimgur/init.php | 2 +- plugins/af_zz_imgproxy/init.php | 2 +- plugins/import_export/import_export.js | 8 ++++---- plugins/mail/init.php | 2 +- plugins/mail/mail.js | 2 +- plugins/note/note.js | 4 ++-- plugins/nsfw/init.php | 2 +- plugins/share/share.js | 8 ++++---- plugins/share/share_prefs.js | 4 ++-- 11 files changed, 19 insertions(+), 19 deletions(-) (limited to 'plugins') diff --git a/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php index 7787d5b37..514f5731a 100644 --- a/plugins/af_psql_trgm/init.php +++ b/plugins/af_psql_trgm/init.php @@ -150,7 +150,7 @@ class Af_Psql_Trgm extends Plugin { new Ajax.Request('backend.php', { parameters: dojo.objectToQuery(this.getValues()), onComplete: function(transport) { - notify_info(transport.responseText); + Notify.info(transport.responseText); } }); //this.reset(); diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php index e0c57d093..8c17738c9 100755 --- a/plugins/af_readability/init.php +++ b/plugins/af_readability/init.php @@ -61,7 +61,7 @@ class Af_Readability extends Plugin { new Ajax.Request('backend.php', { parameters: dojo.objectToQuery(this.getValues()), onComplete: function(transport) { - notify_info(transport.responseText); + Notify.info(transport.responseText); } }); //this.reset(); diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index 2b8415dd0..1958e83be 100755 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -45,7 +45,7 @@ class Af_RedditImgur extends Plugin { new Ajax.Request('backend.php', { parameters: dojo.objectToQuery(this.getValues()), onComplete: function(transport) { - notify_info(transport.responseText); + Notify.info(transport.responseText); } }); //this.reset(); diff --git a/plugins/af_zz_imgproxy/init.php b/plugins/af_zz_imgproxy/init.php index 1c1e99ae4..ca49e94a7 100755 --- a/plugins/af_zz_imgproxy/init.php +++ b/plugins/af_zz_imgproxy/init.php @@ -216,7 +216,7 @@ class Af_Zz_ImgProxy extends Plugin { new Ajax.Request('backend.php', { parameters: dojo.objectToQuery(this.getValues()), onComplete: function(transport) { - notify_info(transport.responseText); + Notify.info(transport.responseText); } }); //this.reset(); diff --git a/plugins/import_export/import_export.js b/plugins/import_export/import_export.js index 780f6bfc7..56a2a5c3e 100644 --- a/plugins/import_export/import_export.js +++ b/plugins/import_export/import_export.js @@ -14,7 +14,7 @@ function exportData() { style: "width: 600px", prepare: function() { - notify_progress("Loading, please wait..."); + Notify.progress("Loading, please wait..."); new Ajax.Request("backend.php", { parameters: "op=pluginhandler&plugin=import_export&method=exportrun&offset=" + exported, @@ -53,7 +53,7 @@ function exportData() { exception_error("exportData", e, transport.responseText); } - notify(''); + Notify.close(); } }); @@ -81,7 +81,7 @@ function dataImportComplete(iframe) { Element.hide(iframe); - notify(''); + Notify.close(); if (dijit.byId('dataImportDlg')) dijit.byId('dataImportDlg').destroyRecursive(); @@ -112,7 +112,7 @@ function importData() { alert(__("Please choose the file first.")); return false; } else { - notify_progress("Importing, please wait...", true); + Notify.progress("Importing, please wait...", true); Element.show("data_upload_iframe"); diff --git a/plugins/mail/init.php b/plugins/mail/init.php index 5294931c7..d8f92853e 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -45,7 +45,7 @@ class Mail extends Plugin { new Ajax.Request('backend.php', { parameters: dojo.objectToQuery(this.getValues()), onComplete: function(transport) { - notify_info(transport.responseText); + Notify.info(transport.responseText); } }); //this.reset(); diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index af0cf3552..b72289c2a 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -29,7 +29,7 @@ function emailArticle(id) { if (error) { alert(__('Error sending email:') + ' ' + error); } else { - notify_info('Your message has been sent.'); + Notify.info('Your message has been sent.'); dialog.hide(); } diff --git a/plugins/note/note.js b/plugins/note/note.js index c1f317b52..836481c40 100644 --- a/plugins/note/note.js +++ b/plugins/note/note.js @@ -12,10 +12,10 @@ function editArticleNote(id) { style: "width: 600px", execute: function() { if (this.validate()) { - notify_progress("Saving article note...", true); + Notify.progress("Saving article note...", true); xhrJson("backend.php", this.attr('value'), (reply) => { - notify(''); + Notify.close(); dialog.hide(); if (reply) { diff --git a/plugins/nsfw/init.php b/plugins/nsfw/init.php index 6a1ae3c65..53b9ee479 100644 --- a/plugins/nsfw/init.php +++ b/plugins/nsfw/init.php @@ -63,7 +63,7 @@ class NSFW extends Plugin { new Ajax.Request('backend.php', { parameters: dojo.objectToQuery(this.getValues()), onComplete: function(transport) { - notify_info(transport.responseText); + Notify.info(transport.responseText); } }); //this.reset(); diff --git a/plugins/share/share.js b/plugins/share/share.js index 4a6a65ce6..a22e01715 100644 --- a/plugins/share/share.js +++ b/plugins/share/share.js @@ -12,7 +12,7 @@ function shareArticle(id) { newurl: function() { if (confirm(__("Generate new share URL for this article?"))) { - notify_progress("Trying to change URL...", true); + Notify.progress("Trying to change URL...", true); const query = { op: "pluginhandler", plugin: "share", method: "newkey", id: id }; @@ -34,10 +34,10 @@ function shareArticle(id) { const img = $("SHARE-IMG-" + id); if (img) img.src = img.src.replace("notshared.png", "share.png"); - notify(''); + Notify.close(); } else { - notify_error("Could not change URL."); + Notify.error("Could not change URL."); } } }); @@ -47,7 +47,7 @@ function shareArticle(id) { unshare: function() { if (confirm(__("Remove sharing for this article?"))) { - notify_progress("Trying to unshare...", true); + Notify.progress("Trying to unshare...", true); const query = { op: "pluginhandler", plugin: "share", method: "unshare", id: id }; diff --git a/plugins/share/share_prefs.js b/plugins/share/share_prefs.js index 79ca37284..92975f8f4 100644 --- a/plugins/share/share_prefs.js +++ b/plugins/share/share_prefs.js @@ -1,11 +1,11 @@ function clearArticleAccessKeys() { if (confirm(__("This will invalidate all previously shared article URLs. Continue?"))) { - notify_progress("Clearing URLs..."); + Notify.progress("Clearing URLs..."); const query = { op: "pluginhandler", plugin: "share", method: "clearArticleKeys" }; xhrPost("backend.php", query, () => { - notify_info("Shared URLs cleared."); + Notify.info("Shared URLs cleared."); }); } -- cgit v1.2.3 From 78cc470193448048759b3f315ee630e50acb064b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 3 Dec 2018 10:51:14 +0300 Subject: remove some plugin JS code out of global context --- plugins/af_psql_trgm/init.js | 12 ++++-------- plugins/af_psql_trgm/init.php | 2 +- plugins/note/init.php | 2 +- plugins/note/note.js | 43 +++++++++++++++++++------------------------ plugins/share/init.php | 4 ++-- plugins/share/share.js | 25 ++++++++++++------------- plugins/share/share_prefs.js | 25 ++++++++++++------------- 7 files changed, 51 insertions(+), 62 deletions(-) (limited to 'plugins') diff --git a/plugins/af_psql_trgm/init.js b/plugins/af_psql_trgm/init.js index af2facfc1..af337ca6b 100644 --- a/plugins/af_psql_trgm/init.js +++ b/plugins/af_psql_trgm/init.js @@ -1,6 +1,5 @@ -function showTrgmRelated(id) { - try { - +Plugins.Psql_Trgm = { + showRelated: function (id) { const query = "backend.php?op=pluginhandler&plugin=af_psql_trgm&method=showrelated¶m=" + encodeURIComponent(id); if (dijit.byId("trgmRelatedDlg")) @@ -10,16 +9,13 @@ function showTrgmRelated(id) { id: "trgmRelatedDlg", title: __("Related articles"), style: "width: 600px", - execute: function() { + execute: function () { }, href: query, }); dialog.show(); - - } catch (e) { - exception_error("showTrgmRelated", e); } -} +}; diff --git a/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php index 514f5731a..57ad355f9 100644 --- a/plugins/af_psql_trgm/init.php +++ b/plugins/af_psql_trgm/init.php @@ -115,7 +115,7 @@ class Af_Psql_Trgm extends Plugin { function hook_article_button($line) { return ""; } diff --git a/plugins/note/init.php b/plugins/note/init.php index 354591b75..ac908a5ba 100644 --- a/plugins/note/init.php +++ b/plugins/note/init.php @@ -24,7 +24,7 @@ class Note extends Plugin { function hook_article_button($line) { return ""; } diff --git a/plugins/note/note.js b/plugins/note/note.js index 836481c40..21c1ae51e 100644 --- a/plugins/note/note.js +++ b/plugins/note/note.js @@ -1,46 +1,41 @@ -function editArticleNote(id) { - try { - - var query = "backend.php?op=pluginhandler&plugin=note&method=edit¶m=" + encodeURIComponent(id); +Plugins.Note = { + edit: function(id) { + const query = "backend.php?op=pluginhandler&plugin=note&method=edit¶m=" + encodeURIComponent(id); if (dijit.byId("editNoteDlg")) dijit.byId("editNoteDlg").destroyRecursive(); - dialog = new dijit.Dialog({ + const dialog = new dijit.Dialog({ id: "editNoteDlg", title: __("Edit article note"), style: "width: 600px", - execute: function() { + execute: function () { if (this.validate()) { Notify.progress("Saving article note...", true); xhrJson("backend.php", this.attr('value'), (reply) => { - Notify.close(); - dialog.hide(); + Notify.close(); + dialog.hide(); - if (reply) { - ArticleCache.del(id); + if (reply) { + ArticleCache.del(id); - var elem = $("POSTNOTE-" + id); + var elem = $("POSTNOTE-" + id); - if (elem) { - Element.hide(elem); - elem.innerHTML = reply.note; + if (elem) { + Element.hide(elem); + elem.innerHTML = reply.note; - if (reply.raw_length != 0) - new Effect.Appear(elem); - } - } - }); + if (reply.raw_length != 0) + new Effect.Appear(elem); + } + } + }); } }, href: query, }); dialog.show(); - - } catch (e) { - exception_error("editArticleNote", e); } -} - +}; \ No newline at end of file diff --git a/plugins/share/init.php b/plugins/share/init.php index 94571bb1b..6ac08b751 100644 --- a/plugins/share/init.php +++ b/plugins/share/init.php @@ -40,7 +40,7 @@ class Share extends Plugin { print "

    " . __("You can disable all articles shared by unique URLs here.") . "

    "; - print " "; print "

    "; @@ -74,7 +74,7 @@ class Share extends Plugin { return ""; } diff --git a/plugins/share/share.js b/plugins/share/share.js index a22e01715..7366c2aff 100644 --- a/plugins/share/share.js +++ b/plugins/share/share.js @@ -1,20 +1,20 @@ -function shareArticle(id) { - try { +Plugins.Share = { + shareArticle: function(id) { if (dijit.byId("shareArticleDlg")) dijit.byId("shareArticleDlg").destroyRecursive(); - var query = "backend.php?op=pluginhandler&plugin=share&method=shareArticle¶m=" + encodeURIComponent(id); + const query = "backend.php?op=pluginhandler&plugin=share&method=shareArticle¶m=" + encodeURIComponent(id); - dialog = new dijit.Dialog({ + const dialog = new dijit.Dialog({ id: "shareArticleDlg", title: __("Share article by URL"), style: "width: 600px", - newurl: function() { + newurl: function () { if (confirm(__("Generate new share URL for this article?"))) { Notify.progress("Trying to change URL...", true); - const query = { op: "pluginhandler", plugin: "share", method: "newkey", id: id }; + const query = {op: "pluginhandler", plugin: "share", method: "newkey", id: id}; xhrJson("backend.php", query, (reply) => { if (reply) { @@ -44,12 +44,12 @@ function shareArticle(id) { } }, - unshare: function() { + unshare: function () { if (confirm(__("Remove sharing for this article?"))) { Notify.progress("Trying to unshare...", true); - const query = { op: "pluginhandler", plugin: "share", method: "unshare", id: id }; + const query = {op: "pluginhandler", plugin: "share", method: "unshare", id: id}; xhrPost("backend.php", query, () => { notify("Article unshared."); @@ -62,16 +62,15 @@ function shareArticle(id) { } }, - href: query}); + href: query + }); dialog.show(); const img = $("SHARE-IMG-" + id); if (img) img.src = img.src.replace("notshared.png", "share.png"); - - } catch (e) { - exception_error("shareArticle", e); } -} +}; + diff --git a/plugins/share/share_prefs.js b/plugins/share/share_prefs.js index 92975f8f4..071a6667c 100644 --- a/plugins/share/share_prefs.js +++ b/plugins/share/share_prefs.js @@ -1,16 +1,15 @@ -function clearArticleAccessKeys() { - if (confirm(__("This will invalidate all previously shared article URLs. Continue?"))) { - Notify.progress("Clearing URLs..."); - - const query = { op: "pluginhandler", plugin: "share", method: "clearArticleKeys" }; - - xhrPost("backend.php", query, () => { - Notify.info("Shared URLs cleared."); - }); - } - - return false; -} +Plugins.Share = { + clearKeys: function() { + if (confirm(__("This will invalidate all previously shared article URLs. Continue?"))) { + Notify.progress("Clearing URLs..."); + const query = {op: "pluginhandler", plugin: "share", method: "clearArticleKeys"}; + xhrPost("backend.php", query, () => { + Notify.info("Shared URLs cleared."); + }); + } + return false; + } +}; -- cgit v1.2.3 From 71fc6d45bd761a9d2715faa68f2b8c0271ee7169 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 3 Dec 2018 13:38:13 +0300 Subject: refactor error reporting to AppBase; keep exception_error() for now as a shim --- plugins/embed_original/init.js | 86 ++++++++++++++++------------------ plugins/import_export/import_export.js | 6 +-- plugins/mail/mail.js | 83 +++++++++++++++----------------- plugins/mailto/init.js | 37 +++++++-------- plugins/nsfw/init.js | 11 ++--- plugins/shorten_expanded/init.js | 22 +++------ 6 files changed, 108 insertions(+), 137 deletions(-) (limited to 'plugins') diff --git a/plugins/embed_original/init.js b/plugins/embed_original/init.js index 6f797556b..1e9fcb253 100644 --- a/plugins/embed_original/init.js +++ b/plugins/embed_original/init.js @@ -1,60 +1,56 @@ function embedOriginalArticle(id) { - try { - const hasSandbox = "sandbox" in document.createElement("iframe"); + const hasSandbox = "sandbox" in document.createElement("iframe"); - if (!hasSandbox) { - alert(__("Sorry, your browser does not support sandboxed iframes.")); - return; - } + if (!hasSandbox) { + alert(__("Sorry, your browser does not support sandboxed iframes.")); + return; + } - let c = false; + let c = false; + + if (App.isCombinedMode()) { + c = $$("div#RROW-" + id + " div[class=content-inner]")[0]; + } else if (id == Article.getActive()) { + c = $$(".post .content")[0]; + } + + if (c) { + const iframe = c.parentNode.getElementsByClassName("embeddedContent")[0]; + + if (iframe) { + Element.show(c); + c.parentNode.removeChild(iframe); + + if (App.isCombinedMode()) { + Article.cdmScrollToId(id, true); + } - if (App.isCombinedMode()) { - c = $$("div#RROW-" + id + " div[class=content-inner]")[0]; - } else if (id == Article.getActive()) { - c = $$(".post .content")[0]; + return; } + } - if (c) { - const iframe = c.parentNode.getElementsByClassName("embeddedContent")[0]; + const query = { op: "pluginhandler", plugin: "embed_original", method: "getUrl", id: id }; - if (iframe) { - Element.show(c); - c.parentNode.removeChild(iframe); + xhrJson("backend.php", query, (reply) => { + if (reply) { + const iframe = new Element("iframe", { + class: "embeddedContent", + src: reply.url, + width: (c.parentNode.offsetWidth - 5) + 'px', + height: (c.parentNode.parentNode.offsetHeight - c.parentNode.firstChild.offsetHeight - 5) + 'px', + style: "overflow: auto; border: none; min-height: " + (document.body.clientHeight / 2) + "px;", + sandbox: 'allow-scripts', + }); + + if (c) { + Element.hide(c); + c.parentNode.insertBefore(iframe, c); if (App.isCombinedMode()) { Article.cdmScrollToId(id, true); } - - return; } } + }); - const query = { op: "pluginhandler", plugin: "embed_original", method: "getUrl", id: id }; - - xhrJson("backend.php", query, (reply) => { - if (reply) { - const iframe = new Element("iframe", { - class: "embeddedContent", - src: reply.url, - width: (c.parentNode.offsetWidth - 5) + 'px', - height: (c.parentNode.parentNode.offsetHeight - c.parentNode.firstChild.offsetHeight - 5) + 'px', - style: "overflow: auto; border: none; min-height: " + (document.body.clientHeight / 2) + "px;", - sandbox: 'allow-scripts', - }); - - if (c) { - Element.hide(c); - c.parentNode.insertBefore(iframe, c); - - if (App.isCombinedMode()) { - Article.cdmScrollToId(id, true); - } - } - } - }); - - } catch (e) { - exception_error("embedOriginalArticle", e); - } } diff --git a/plugins/import_export/import_export.js b/plugins/import_export/import_export.js index 56a2a5c3e..8dc5f7570 100644 --- a/plugins/import_export/import_export.js +++ b/plugins/import_export/import_export.js @@ -50,7 +50,7 @@ function exportData() { "Error occured, could not export data."; } } catch (e) { - exception_error("exportData", e, transport.responseText); + App.Error.report(e); } Notify.close(); @@ -71,7 +71,7 @@ function exportData() { } catch (e) { - exception_error("exportData", e); + App.Error.report(e); } } @@ -100,7 +100,7 @@ function dataImportComplete(iframe) { dialog.show(); } catch (e) { - exception_error("dataImportComplete", e); + App.Error.report(e); } } diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index b72289c2a..87e354b42 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -1,57 +1,52 @@ function emailArticle(id) { - try { - if (!id) { - var ids = Headlines.getSelected(); + if (!id) { + let ids = Headlines.getSelected(); - if (ids.length == 0) { - alert(__("No articles selected.")); - return; - } - - id = ids.toString(); + if (ids.length == 0) { + alert(__("No articles selected.")); + return; } - if (dijit.byId("emailArticleDlg")) - dijit.byId("emailArticleDlg").destroyRecursive(); - - var query = "backend.php?op=pluginhandler&plugin=mail&method=emailArticle¶m=" + encodeURIComponent(id); - - dialog = new dijit.Dialog({ - id: "emailArticleDlg", - title: __("Forward article by email"), - style: "width: 600px", - execute: function() { - if (this.validate()) { - xhrJson("backend.php", this.attr('value'), (reply) => { - if (reply) { - const error = reply['error']; - - if (error) { - alert(__('Error sending email:') + ' ' + error); - } else { - Notify.info('Your message has been sent.'); - dialog.hide(); - } + id = ids.toString(); + } + if (dijit.byId("emailArticleDlg")) + dijit.byId("emailArticleDlg").destroyRecursive(); + + const query = "backend.php?op=pluginhandler&plugin=mail&method=emailArticle¶m=" + encodeURIComponent(id); + + const dialog = new dijit.Dialog({ + id: "emailArticleDlg", + title: __("Forward article by email"), + style: "width: 600px", + execute: function() { + if (this.validate()) { + xhrJson("backend.php", this.attr('value'), (reply) => { + if (reply) { + const error = reply['error']; + + if (error) { + alert(__('Error sending email:') + ' ' + error); + } else { + Notify.info('Your message has been sent.'); + dialog.hide(); } - }); - } - }, - href: query}); - /* var tmph = dojo.connect(dialog, 'onLoad', function() { - dojo.disconnect(tmph); + } + }); + } + }, + href: query}); - new Ajax.Autocompleter('emailArticleDlg_destination', 'emailArticleDlg_dst_choices', - "backend.php?op=pluginhandler&plugin=mail&method=completeEmails", - { tokens: '', paramName: "search" }); - }); */ + /* var tmph = dojo.connect(dialog, 'onLoad', function() { + dojo.disconnect(tmph); - dialog.show(); + new Ajax.Autocompleter('emailArticleDlg_destination', 'emailArticleDlg_dst_choices', + "backend.php?op=pluginhandler&plugin=mail&method=completeEmails", + { tokens: '', paramName: "search" }); + }); */ - } catch (e) { - exception_error("emailArticle", e); - } + dialog.show(); } diff --git a/plugins/mailto/init.js b/plugins/mailto/init.js index dacff725e..92a90f8e9 100644 --- a/plugins/mailto/init.js +++ b/plugins/mailto/init.js @@ -1,32 +1,27 @@ function mailtoArticle(id) { - try { - if (!id) { - const ids = Headlines.getSelected(); + if (!id) { + const ids = Headlines.getSelected(); - if (ids.length == 0) { - alert(__("No articles selected.")); - return; - } - - id = ids.toString(); + if (ids.length == 0) { + alert(__("No articles selected.")); + return; } - if (dijit.byId("emailArticleDlg")) - dijit.byId("emailArticleDlg").destroyRecursive(); + id = ids.toString(); + } - const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle¶m=" + encodeURIComponent(id); + if (dijit.byId("emailArticleDlg")) + dijit.byId("emailArticleDlg").destroyRecursive(); - dialog = new dijit.Dialog({ - id: "emailArticleDlg", - title: __("Forward article by email"), - style: "width: 600px", - href: query}); + const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle¶m=" + encodeURIComponent(id); - dialog.show(); + const dialog = new dijit.Dialog({ + id: "emailArticleDlg", + title: __("Forward article by email"), + style: "width: 600px", + href: query}); - } catch (e) { - exception_error("emailArticle", e); - } + dialog.show(); } diff --git a/plugins/nsfw/init.js b/plugins/nsfw/init.js index 40ad2b0ba..adb6d43c0 100644 --- a/plugins/nsfw/init.js +++ b/plugins/nsfw/init.js @@ -1,12 +1,7 @@ function nsfwShow(elem) { - try { - content = elem.parentNode.getElementsBySelector("div.nswf.content")[0]; + let content = elem.parentNode.getElementsBySelector("div.nswf.content")[0]; - if (content) { - Element.toggle(content); - } - - } catch (e) { - exception_error("nswfSHow", e); + if (content) { + Element.toggle(content); } } diff --git a/plugins/shorten_expanded/init.js b/plugins/shorten_expanded/init.js index d9995e8ac..a5424ea38 100644 --- a/plugins/shorten_expanded/init.js +++ b/plugins/shorten_expanded/init.js @@ -1,29 +1,20 @@ var _shorten_expanded_threshold = 1.5; //window heights function expandSizeWrapper(id) { - try { - const row = $(id); + const row = $(id); - console.log(row); + if (row) { + const content = row.select(".contentSizeWrapper")[0]; + const link = row.select(".expandPrompt")[0]; - if (row) { - const content = row.select(".contentSizeWrapper")[0]; - const link = row.select(".expandPrompt")[0]; - - if (content) content.removeClassName("contentSizeWrapper"); - if (link) Element.hide(link); - - } - } catch (e) { - exception_error("expandSizeWrapper", e); + if (content) content.removeClassName("contentSizeWrapper"); + if (link) Element.hide(link); } return false; - } require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) { - ready(function() { PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM, function(row) { window.setTimeout(function() { @@ -48,5 +39,4 @@ require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) { return true; }); }); - }); -- cgit v1.2.3 From e76d1fb995e25d78f0131ac56660846b0e9ecb9a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 3 Dec 2018 14:21:50 +0300 Subject: plugins: mail, mailto: remove code from global context --- plugins/mail/init.php | 2 +- plugins/mail/mail.js | 94 ++++++++++++++++++++++++++----------------------- plugins/mailto/init.js | 45 +++++++++++++---------- plugins/mailto/init.php | 2 +- 4 files changed, 77 insertions(+), 66 deletions(-) (limited to 'plugins') diff --git a/plugins/mail/init.php b/plugins/mail/init.php index d8f92853e..1609a05c3 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -72,7 +72,7 @@ class Mail extends Plugin { function hook_article_button($line) { return "Zoom"; } diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index 87e354b42..eb7b7e6b6 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -1,52 +1,56 @@ -function emailArticle(id) { - if (!id) { - let ids = Headlines.getSelected(); +Plugins.Mail = { + send: function(id) { + if (!id) { + let ids = Headlines.getSelected(); + + if (ids.length == 0) { + alert(__("No articles selected.")); + return; + } - if (ids.length == 0) { - alert(__("No articles selected.")); - return; + id = ids.toString(); } - id = ids.toString(); - } + if (dijit.byId("emailArticleDlg")) + dijit.byId("emailArticleDlg").destroyRecursive(); - if (dijit.byId("emailArticleDlg")) - dijit.byId("emailArticleDlg").destroyRecursive(); - - const query = "backend.php?op=pluginhandler&plugin=mail&method=emailArticle¶m=" + encodeURIComponent(id); - - const dialog = new dijit.Dialog({ - id: "emailArticleDlg", - title: __("Forward article by email"), - style: "width: 600px", - execute: function() { - if (this.validate()) { - xhrJson("backend.php", this.attr('value'), (reply) => { - if (reply) { - const error = reply['error']; - - if (error) { - alert(__('Error sending email:') + ' ' + error); - } else { - Notify.info('Your message has been sent.'); - dialog.hide(); - } - - } - }); - } - }, - href: query}); + const query = "backend.php?op=pluginhandler&plugin=mail&method=emailArticle¶m=" + encodeURIComponent(id); - /* var tmph = dojo.connect(dialog, 'onLoad', function() { - dojo.disconnect(tmph); - - new Ajax.Autocompleter('emailArticleDlg_destination', 'emailArticleDlg_dst_choices', - "backend.php?op=pluginhandler&plugin=mail&method=completeEmails", - { tokens: '', paramName: "search" }); - }); */ - - dialog.show(); -} + const dialog = new dijit.Dialog({ + id: "emailArticleDlg", + title: __("Forward article by email"), + style: "width: 600px", + execute: function () { + if (this.validate()) { + xhrJson("backend.php", this.attr('value'), (reply) => { + if (reply) { + const error = reply['error']; + if (error) { + alert(__('Error sending email:') + ' ' + error); + } else { + Notify.info('Your message has been sent.'); + dialog.hide(); + } + } + }); + } + }, + href: query + }); + + /* var tmph = dojo.connect(dialog, 'onLoad', function() { + dojo.disconnect(tmph); + + new Ajax.Autocompleter('emailArticleDlg_destination', 'emailArticleDlg_dst_choices', + "backend.php?op=pluginhandler&plugin=mail&method=completeEmails", + { tokens: '', paramName: "search" }); + }); */ + + dialog.show(); + }, + onHotkey: function(id) { + Plugins.Mail.send(id); + } +}; diff --git a/plugins/mailto/init.js b/plugins/mailto/init.js index 92a90f8e9..f81f70fc7 100644 --- a/plugins/mailto/init.js +++ b/plugins/mailto/init.js @@ -1,27 +1,34 @@ -function mailtoArticle(id) { - if (!id) { - const ids = Headlines.getSelected(); +Plugins.Mailto = { + send: function (id) { + if (!id) { + const ids = Headlines.getSelected(); - if (ids.length == 0) { - alert(__("No articles selected.")); - return; - } + if (ids.length == 0) { + alert(__("No articles selected.")); + return; + } - id = ids.toString(); - } + id = ids.toString(); + } - if (dijit.byId("emailArticleDlg")) - dijit.byId("emailArticleDlg").destroyRecursive(); + if (dijit.byId("emailArticleDlg")) + dijit.byId("emailArticleDlg").destroyRecursive(); - const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle¶m=" + encodeURIComponent(id); + const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle¶m=" + encodeURIComponent(id); - const dialog = new dijit.Dialog({ - id: "emailArticleDlg", - title: __("Forward article by email"), - style: "width: 600px", - href: query}); + const dialog = new dijit.Dialog({ + id: "emailArticleDlg", + title: __("Forward article by email"), + style: "width: 600px", + href: query}); - dialog.show(); -} + dialog.show(); + } +}; +// override default hotkey action if enabled +Plugins.Mail = Plugins.Mail || {}; +Plugins.Mail.onHotkey = function(id) { + Plugins.Mailto.send(id); +}; \ No newline at end of file diff --git a/plugins/mailto/init.php b/plugins/mailto/init.php index 60c58b707..3dbc8d643 100644 --- a/plugins/mailto/init.php +++ b/plugins/mailto/init.php @@ -21,7 +21,7 @@ class MailTo extends Plugin { function hook_article_button($line) { return "Zoom"; } -- cgit v1.2.3