]> git.wh0rd.org - tt-rss.git/blobdiff - plugins/mail/init.php
remove $link
[tt-rss.git] / plugins / mail / init.php
index 30a417a1b44104b2caa38f3b57e2580cb962c469..7adf36fe4540121c75f5c2cb3f375185d7d08f3d 100644 (file)
@@ -1,7 +1,6 @@
 <?php
 class Mail extends Plugin {
 
-       private $link;
        private $host;
 
        function about() {
@@ -11,7 +10,6 @@ class Mail extends Plugin {
        }
 
        function init($host) {
-               $this->link = $host->get_link();
                $this->host = $host;
 
                $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
@@ -30,18 +28,13 @@ class Mail extends Plugin {
 
        function emailArticle() {
 
-               $param = db_escape_string($_REQUEST['param']);
+               $param = db_escape_string( $_REQUEST['param']);
 
-               $secretkey = sha1(uniqid(rand(), true));
-
-               $_SESSION['email_secretkey'] = $secretkey;
-
-               print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"secretkey\" value=\"$secretkey\">";
                print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pluginhandler\">";
                print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"plugin\" value=\"mail\">";
                print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"sendEmail\">";
 
-               $result = db_query($this->link, "SELECT email, full_name FROM ttrss_users WHERE
+               $result = db_query( "SELECT email, full_name FROM ttrss_users WHERE
                        id = " . $_SESSION["uid"]);
 
                $user_email = htmlspecialchars(db_fetch_result($result, 0, "email"));
@@ -49,8 +42,8 @@ class Mail extends Plugin {
 
                if (!$user_name) $user_name = $_SESSION['name'];
 
-               $_SESSION['email_replyto'] = $user_email;
-               $_SESSION['email_fromname'] = $user_name;
+               print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"from_email\" value=\"$user_email\">";
+               print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"from_name\" value=\"$user_name\">";
 
                require_once "lib/MiniTemplator.class.php";
 
@@ -63,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($this->link, "SELECT link, content, title
+               $result = db_query( "SELECT link, content, title
                        FROM ttrss_user_entries, ttrss_entries WHERE id = ref_id AND
                        id IN ($param) AND owner_uid = " . $_SESSION["uid"]);
 
@@ -135,65 +128,34 @@ class Mail extends Plugin {
        }
 
        function sendEmail() {
-               $secretkey = $_REQUEST['secretkey'];
-
-               require_once 'lib/phpmailer/class.phpmailer.php';
+               require_once 'classes/ttrssmailer.php';
 
                $reply = array();
 
-               if ($_SESSION['email_secretkey'] &&
-               $secretkey == $_SESSION['email_secretkey']) {
-
-                       $_SESSION['email_secretkey'] = '';
-
-                       $destination = $_REQUEST['destination'];
-                       $subject = $_REQUEST['subject'];
-                       $content = $_REQUEST['content'];
-
-                       $replyto = strip_tags($_SESSION['email_replyto']);
-                       $fromname = strip_tags($_SESSION['email_fromname']);
-
-                       $mail = new PHPMailer();
+               $mail = new ttrssMailer();
 
-                       $mail->PluginDir = "lib/phpmailer/";
-                       $mail->SetLanguage("en", "lib/phpmailer/language/");
+               $mail->From = strip_tags($_REQUEST['from_email']);
+               $mail->FromName = strip_tags($_REQUEST['from_name']);
+               $mail->AddAddress($_REQUEST['destination']);
 
-                       $mail->CharSet = "UTF-8";
+               $mail->IsHTML(false);
+               $mail->Subject = $_REQUEST['subject'];
+               $mail->Body = $_REQUEST['content'];
 
-                       $mail->From = $replyto;
-                       $mail->FromName = $fromname;
-                       $mail->AddAddress($destination);
-
-                       if (SMTP_HOST) {
-                               $mail->Host = SMTP_HOST;
-                               $mail->Mailer = "smtp";
-                               $mail->SMTPAuth = SMTP_LOGIN != '';
-                               $mail->Username = SMTP_LOGIN;
-                               $mail->Password = SMTP_PASSWORD;
-                       }
-
-                       $mail->IsHTML(false);
-                       $mail->Subject = $subject;
-                       $mail->Body = $content;
-
-                       $rc = $mail->Send();
-
-                       if (!$rc) {
-                               $reply['error'] =  $mail->ErrorInfo;
-                       } else {
-                               save_email_address($this->link, db_escape_string($destination));
-                               $reply['message'] = "UPDATE_COUNTERS";
-                       }
+               $rc = $mail->Send();
 
+               if (!$rc) {
+                       $reply['error'] =  $mail->ErrorInfo;
                } else {
-                       $reply['error'] = "Not authorized.";
+                       save_email_address( db_escape_string($destination));
+                       $reply['message'] = "UPDATE_COUNTERS";
                }
 
                print json_encode($reply);
        }
 
        function completeEmails() {
-               $search = db_escape_string($_REQUEST["search"]);
+               $search = db_escape_string( $_REQUEST["search"]);
 
                print "<ul>";