summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclasses/feeds.php4
-rw-r--r--js/tt-rss.js8
-rw-r--r--plugins/mail/init.php2
-rw-r--r--plugins/mail/mail.js94
-rw-r--r--plugins/mailto/init.js45
-rw-r--r--plugins/mailto/init.php2
6 files changed, 82 insertions, 73 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 58d4f68d9..9fe528723 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -124,12 +124,12 @@ class Feeds extends Handler_Protected {
}
if (PluginHost::getInstance()->get_plugin("mail")) {
- $reply .= "<option value=\"emailArticle(false)\">".__('Forward by email').
+ $reply .= "<option value=\"Plugins.Mail.send()\">".__('Forward by email').
"</option>";
}
if (PluginHost::getInstance()->get_plugin("mailto")) {
- $reply .= "<option value=\"mailtoArticle(false)\">".__('Forward by email').
+ $reply .= "<option value=\"Plugins.Mailto.send()\">".__('Forward by email').
"</option>";
}
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 8931e9860..fc87ae24d 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -302,12 +302,10 @@ require(["dojo/_base/kernel",
}
};
this.hotkey_actions["email_article"] = function () {
- if (typeof emailArticle != "undefined") {
- emailArticle();
- } else if (typeof mailtoArticle != "undefined") {
- mailtoArticle();
+ if (typeof Plugins.Mail != "undefined") {
+ Plugins.Mail.onHotkey(Headlines.getSelected());
} else {
- alert(__("Please enable mail plugin first."));
+ alert(__("Please enable mail or mailto plugin first."));
}
};
this.hotkey_actions["select_all"] = function () {
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 "<img src=\"plugins/mail/mail.png\"
class='tagsPic' style=\"cursor : pointer\"
- onclick=\"emailArticle(".$line["id"].")\"
+ onclick=\"Plugins.Mail.send(".$line["id"].")\"
alt='Zoom' title='".__('Forward by email')."'>";
}
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&param=" + 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&param=" + 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&param=" + encodeURIComponent(id);
+ const query = "backend.php?op=pluginhandler&plugin=mailto&method=emailArticle&param=" + 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 "<img src=\"plugins/mailto/mail.png\"
class='tagsPic' style=\"cursor : pointer\"
- onclick=\"mailtoArticle(".$line["id"].")\"
+ onclick=\"Plugins.Mailto.send(".$line["id"].")\"
alt='Zoom' title='".__('Forward by email')."'>";
}