]> git.wh0rd.org Git - tt-rss.git/blob - plugins/mailto/init.php
finish xhrPost migration of js/
[tt-rss.git] / plugins / mailto / init.php
1 <?php
2 class MailTo extends Plugin {
3         private $host;
4
5         function about() {
6                 return array(1.0,
7                         "Share article via email (using mailto: links, invoking your mail client)",
8                         "fox");
9         }
10
11         function init($host) {
12                 $this->host = $host;
13
14                 $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
15         }
16
17         function get_js() {
18                 return file_get_contents(dirname(__FILE__) . "/init.js");
19         }
20
21         function hook_article_button($line) {
22                 return "<img src=\"plugins/mailto/mail.png\"
23                                         class='tagsPic' style=\"cursor : pointer\"
24                                         onclick=\"mailtoArticle(".$line["id"].")\"
25                                         alt='Zoom' title='".__('Forward by email')."'>";
26         }
27
28         function emailArticle() {
29
30                 $ids = explode(",", $_REQUEST['param']);
31                 $ids_qmarks = arr_qmarks($ids);
32
33                 require_once "lib/MiniTemplator.class.php";
34
35                 $tpl = new MiniTemplator;
36
37                 $tpl->readTemplateFromFile("templates/email_article_template.txt");
38
39                 $tpl->setVariable('USER_NAME', $_SESSION["name"], true);
40                 //$tpl->setVariable('USER_EMAIL', $user_email, true);
41                 $tpl->setVariable('TTRSS_HOST', $_SERVER["HTTP_HOST"], true);
42
43
44                 $sth = $this->pdo->prepare("SELECT DISTINCT link, content, title
45                         FROM ttrss_user_entries, ttrss_entries WHERE id = ref_id AND
46                         id IN ($ids_qmarks) AND owner_uid = ?");
47                 $sth->execute(array_merge($ids, [$_SESSION['uid']]));
48
49                 if (count($ids) > 1) {
50                         $subject = __("[Forwarded]") . " " . __("Multiple articles");
51                 } else {
52                         $subject = "";
53                 }
54
55                 while ($line = $sth->fetch()) {
56
57                         if (!$subject)
58                                 $subject = __("[Forwarded]") . " " . htmlspecialchars($line["title"]);
59
60                         $tpl->setVariable('ARTICLE_TITLE', strip_tags($line["title"]));
61                         $tpl->setVariable('ARTICLE_URL', strip_tags($line["link"]));
62
63                         $tpl->addBlock('article');
64                 }
65
66                 $tpl->addBlock('email');
67
68                 $content = "";
69                 $tpl->generateOutputToString($content);
70
71                 $mailto_link = htmlspecialchars("mailto:?subject=".rawurlencode($subject).
72                         "&body=".rawurlencode($content));
73
74                 print __("Clicking the following link to invoke your mail client:");
75
76                 print "<div class=\"tagCloudContainer\">";
77                 print "<a target=\"_blank\" href=\"$mailto_link\">".
78                         __("Forward selected article(s) by email.")."</a>";
79                 print "</div>";
80
81                 print __("You should be able to edit the message before sending in your mail client.");
82
83                 print "<p>";
84
85                 print "<div style='text-align : center'>";
86                 print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('emailArticleDlg').hide()\">".__('Close this dialog')."</button>";
87                 print "</div>";
88
89                 //return;
90         }
91
92         function api_version() {
93                 return 2;
94         }
95
96 }