summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-06 11:13:07 +0300
committerAndrew Dolgov <[email protected]>2010-11-06 11:13:07 +0300
commitf72a7b6696286b2b1bb6a3d0ae33bab49e3552d0 (patch)
tree807a9c997115679dee6fd856fd7b781c7acd581a
parent31a53903e635ae84ae1551d52772e75f2380b416 (diff)
allow forwarding multiple articles by email
-rw-r--r--functions.php3
-rw-r--r--modules/popup-dialog.php51
-rw-r--r--templates/email_article_template.txt11
-rw-r--r--viewfeed.js13
4 files changed, 47 insertions, 31 deletions
diff --git a/functions.php b/functions.php
index 18e7b23f1..abc52b43e 100644
--- a/functions.php
+++ b/functions.php
@@ -4219,6 +4219,9 @@
}
+ print "<li onclick=\"emailArticle(false)\">&nbsp;&nbsp;".
+ __('Forward by email')."</li>";
+
//print "<li><span class=\"insensitive\">--------</span></li>";
print "<li class=\"insensitive\">".__('Assign label:')."</li>";
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index fb1921291..c37e392e6 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -681,6 +681,15 @@
print "<input type=\"hidden\" name=\"op\" value=\"rpc\">";
print "<input type=\"hidden\" name=\"subop\" value=\"sendEmail\">";
+ $result = db_query($link, "SELECT email FROM ttrss_users WHERE
+ id = " . $_SESSION["uid"]);
+
+ $user_email = htmlspecialchars(db_fetch_result($result, 0, "email"));
+ $user_name = htmlspecialchars($_SESSION["name"]);
+
+ $_SESSION['email_replyto'] = $user_email;
+ $_SESSION['email_fromname'] = $user_name;
+
require_once "lib/MiniTemplator.class.php";
$tpl = new MiniTemplator;
@@ -688,39 +697,33 @@
$tpl->readTemplateFromFile("templates/email_article_template.txt");
- $result = db_query($link, "SELECT link, content, title
- FROM ttrss_user_entries, ttrss_entries WHERE id = ref_id AND
- id = '$param' AND owner_uid = " . $_SESSION["uid"]);
-
- $line = db_fetch_assoc($result);
-
- $subject = htmlspecialchars(__("[Forwarded]") . " " . $line["title"]);
-
- $tpl->setVariable('ARTICLE_TITLE', strip_tags($line["title"]));
+ $tpl->setVariable('USER_NAME', $_SESSION["name"]);
+ $tpl->setVariable('USER_EMAIL', $user_email);
+ $tpl->setVariable('TTRSS_HOST', $_SERVER["HTTP_HOST"]);
-/* $tpl->setVariable('ARTICLE_EXCERPT',
- truncate_string(strip_tags($line["content"]), 200)); */
+// $tpl->addBlock('header');
- $tpl->setVariable('ARTICLE_URL', strip_tags($line["link"]));
+ $result = db_query($link, "SELECT link, content, title
+ FROM ttrss_user_entries, ttrss_entries WHERE id = ref_id AND
+ id IN ($param) AND owner_uid = " . $_SESSION["uid"]);
- $result = db_query($link, "SELECT email FROM ttrss_users WHERE
- id = " . $_SESSION["uid"]);
+ if (db_num_rows($result) > 1) {
+ $subject = __("[Forwarded]") . " " . __("Multiple articles");
+ }
- $user_email = htmlspecialchars(db_fetch_result($result, 0, "email"));
- $user_name = htmlspecialchars($_SESSION["name"]);
+ while ($line = db_fetch_assoc($result)) {
- //print "<input type=\"hidden\" name=\"replyto\" value=\"$user_email\">";
- //print "<input type=\"hidden\" name=\"fromname\" value=\"$user_name\">";
+ if (!$subject)
+ $subject = __("[Forwarded]") . " " . htmlspecialchars($line["title"]);
- $_SESSION['email_replyto'] = $user_email;
- $_SESSION['email_fromname'] = $user_name;
+ $tpl->setVariable('ARTICLE_TITLE', strip_tags($line["title"]));
+ $tpl->setVariable('ARTICLE_URL', strip_tags($line["link"]));
- $tpl->setVariable('USER_NAME', $_SESSION["name"]);
- $tpl->setVariable('USER_EMAIL', $user_email);
- $tpl->setVariable('TTRSS_HOST', $_SERVER["HTTP_HOST"]);
+ $tpl->addBlock('article');
+ }
$tpl->addBlock('email');
-
+
$content = "";
$tpl->generateOutputToString($content);
diff --git a/templates/email_article_template.txt b/templates/email_article_template.txt
index 035ee5c97..0d151d18c 100644
--- a/templates/email_article_template.txt
+++ b/templates/email_article_template.txt
@@ -1,12 +1,11 @@
<!-- $BeginBlock email -->
Hi,
-I've been reading this article and thought it might interest you:
-
-${ARTICLE_TITLE}
-
-${ARTICLE_URL}
-
+I've been reading this and thought it might interest you:
+<!-- $BeginBlock article -->
+* ${ARTICLE_TITLE}
+ ${ARTICLE_URL}
+<!-- $EndBlock article -->
Sincerely yours,
${USER_NAME} <${USER_EMAIL}>.
diff --git a/viewfeed.js b/viewfeed.js
index ac76be70b..1e9a11a16 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -2265,6 +2265,17 @@ function publishWithNote(id, def_note) {
function emailArticle(id) {
try {
+ if (!id) {
+ var ids = getSelectedArticleIds2();
+
+ if (ids.length == 0) {
+ alert(__("No articles are selected."));
+ return;
+ }
+
+ id = ids.toString();
+ }
+
displayDlg('emailArticle', id,
function () {
document.forms['article_email_form'].destination.focus();
@@ -2280,7 +2291,7 @@ function emailArticle(id) {
}
}
-function emailArticleDo(id) {
+function emailArticleDo() {
try {
var f = document.forms['article_email_form'];