From d7482a503a205be4169f2d2eb7d050dc1c2f8a42 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 2 Jul 2014 09:53:58 +0400 Subject: mail plugin: only mail unique articles --- plugins/mail/init.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins/mail/init.php') diff --git a/plugins/mail/init.php b/plugins/mail/init.php index 5b61c2355..5fcdf32af 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -56,7 +56,7 @@ class Mail extends Plugin { $tpl->setVariable('USER_EMAIL', $user_email, true); $tpl->setVariable('TTRSS_HOST', $_SERVER["HTTP_HOST"], true); - $result = db_query("SELECT link, content, title, note + $result = db_query("SELECT DISTINCT link, content, title, note FROM ttrss_user_entries, ttrss_entries WHERE id = ref_id AND id IN ($param) AND owner_uid = " . $_SESSION["uid"]); -- cgit v1.2.3-54-g00ecf From 3e0f2090bfe90756b6a0a8f803ec5c407b50c41e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 2 Jul 2014 10:38:59 +0400 Subject: mail plugin: cleanup disabled completion, add configurable destination email list --- include/functions2.php | 4 +-- plugins/mail/init.php | 68 ++++++++++++++++++++++++++++++++++++++++++++------ plugins/mail/mail.js | 4 +-- 3 files changed, 64 insertions(+), 12 deletions(-) (limited to 'plugins/mail/init.php') diff --git a/include/functions2.php b/include/functions2.php index 507c5343e..d6a399ffc 100644 --- a/include/functions2.php +++ b/include/functions2.php @@ -1747,7 +1747,7 @@ return $rv; } - function save_email_address($email) { + /* function save_email_address($email) { // FIXME: implement persistent storage of emails if (!$_SESSION['stored_emails']) @@ -1755,7 +1755,7 @@ if (!in_array($email, $_SESSION['stored_emails'])) array_push($_SESSION['stored_emails'], $email); - } + } */ function get_feed_access_key($feed_id, $is_cat, $owner_uid = false) { diff --git a/plugins/mail/init.php b/plugins/mail/init.php index 5fcdf32af..b2d73d4eb 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -13,12 +13,61 @@ class Mail extends Plugin { $this->host = $host; $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this); + $host->add_hook($host::HOOK_PREFS_TAB, $this); } function get_js() { return file_get_contents(dirname(__FILE__) . "/mail.js"); } + function save() { + $addresslist = db_escape_string($_POST["addresslist"]); + + $this->host->set($this, "addresslist", $addresslist); + + echo __("Mail addresses saved."); + } + + function hook_prefs_tab($args) { + if ($args != "prefPrefs") return; + + print "
"; + + print "

" . __("You can set predefined email addressed here (comma-separated list):") . "

"; + + print "
"; + + print ""; + + print ""; + print ""; + print ""; + + $addresslist = $this->host->get($this, "addresslist"); + + print ""; + + print "

"; + + print "

"; + + print "
"; + } + function hook_article_button($line) { return "readTemplateFromFile("templates/email_article_template.txt"); @@ -96,16 +144,20 @@ class Mail extends Plugin { print ""; + $addresslist = explode(",", $this->host->get($this, "addresslist")); + print __('To:'); print ""; - print ""; + name=\"destination\" id=\"emailArticleDlg_destination\">"; */ - print "
"; + print_select("destination", "", $addresslist, 'dojoType="dijit.form.FilteringSelect"'); + +/* print "
"; */ print ""; @@ -155,14 +207,14 @@ class Mail extends Plugin { if (!$rc) { $reply['error'] = $mail->ErrorInfo; } else { - save_email_address(db_escape_string($destination)); + //save_email_address(db_escape_string($destination)); $reply['message'] = "UPDATE_COUNTERS"; } print json_encode($reply); } - function completeEmails() { + /* function completeEmails() { $search = db_escape_string($_REQUEST["search"]); print ""; - } + } */ function api_version() { return 2; diff --git a/plugins/mail/mail.js b/plugins/mail/mail.js index 6166f01c1..db0503ff9 100644 --- a/plugins/mail/mail.js +++ b/plugins/mail/mail.js @@ -44,13 +44,13 @@ function emailArticle(id) { }, href: query}); - var tmph = dojo.connect(dialog, 'onLoad', function() { + /* 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(); -- cgit v1.2.3-54-g00ecf From 2d3ff643609a6767ca0d47cd3a38a3832350be72 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 2 Jul 2014 10:39:53 +0400 Subject: mail plugin: destination dropdown css fix --- plugins/mail/init.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins/mail/init.php') diff --git a/plugins/mail/init.php b/plugins/mail/init.php index b2d73d4eb..12e591c54 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -154,7 +154,7 @@ class Mail extends Plugin { style=\"width : 30em;\" name=\"destination\" id=\"emailArticleDlg_destination\">"; */ - print_select("destination", "", $addresslist, 'dojoType="dijit.form.FilteringSelect"'); + print_select("destination", "", $addresslist, 'style="width: 30em" dojoType="dijit.form.FilteringSelect"'); /* print "
"; */ -- cgit v1.2.3-54-g00ecf From 6d194d85415dee671c0afa2e734292743920f1a2 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 6 Aug 2014 09:36:55 +0400 Subject: mail plugin: use system from address --- plugins/mail/init.php | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'plugins/mail/init.php') diff --git a/plugins/mail/init.php b/plugins/mail/init.php index 12e591c54..21b58d737 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -135,15 +135,6 @@ class Mail extends Plugin { print "
"; - print __('From:'); - - print ""; - - print "\">"; - - print "
"; - $addresslist = explode(",", $this->host->get($this, "addresslist")); print __('To:'); @@ -191,8 +182,7 @@ class Mail extends Plugin { $mail = new ttrssMailer(); - $mail->From = strip_tags($_REQUEST['from_email']); - $mail->FromName = strip_tags($_REQUEST['from_name']); + $mail->AddReplyTo(strip_tags($_REQUEST['from_email'], $_REQUEST['from_name'])); //$mail->AddAddress($_REQUEST['destination']); $addresses = explode(';', $_REQUEST['destination']); foreach($addresses as $nextaddr) -- cgit v1.2.3-54-g00ecf From a6626ebd4ceae7807bbc1d7ebbd7f59207c306f1 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 6 Aug 2014 10:47:09 +0400 Subject: mail plugin: fix typo --- plugins/mail/init.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'plugins/mail/init.php') diff --git a/plugins/mail/init.php b/plugins/mail/init.php index 21b58d737..4b1989f5f 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -182,7 +182,8 @@ class Mail extends Plugin { $mail = new ttrssMailer(); - $mail->AddReplyTo(strip_tags($_REQUEST['from_email'], $_REQUEST['from_name'])); + $mail->AddReplyTo(strip_tags($_REQUEST['from_email']), + strip_tags($_REQUEST['from_name'])); //$mail->AddAddress($_REQUEST['destination']); $addresses = explode(';', $_REQUEST['destination']); foreach($addresses as $nextaddr) -- cgit v1.2.3-54-g00ecf From 38bc9dad228444fc38c2cef75f7edd5039477257 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 26 Aug 2014 18:11:32 +0400 Subject: mail plugin: use dijit.form.ComboBox to allow random email input instead of only predefined ones --- js/tt-rss.js | 1 + plugins/mail/init.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'plugins/mail/init.php') diff --git a/js/tt-rss.js b/js/tt-rss.js index 7d6f22f87..c64145159 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -231,6 +231,7 @@ function init() { dojo.require("dijit.form.Select"); dojo.require("dijit.form.SimpleTextarea"); dojo.require("dijit.form.TextBox"); + dojo.require("dijit.form.ComboBox"); dojo.require("dijit.form.ValidationTextBox"); dojo.require("dijit.InlineEditBox"); dojo.require("dijit.layout.AccordionContainer"); diff --git a/plugins/mail/init.php b/plugins/mail/init.php index 4b1989f5f..e1da315c3 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -145,7 +145,7 @@ class Mail extends Plugin { style=\"width : 30em;\" name=\"destination\" id=\"emailArticleDlg_destination\">"; */ - print_select("destination", "", $addresslist, 'style="width: 30em" dojoType="dijit.form.FilteringSelect"'); + print_select("destination", "", $addresslist, 'style="width: 30em" dojoType="dijit.form.ComboBox"'); /* print "
"; */ -- cgit v1.2.3-54-g00ecf