boinc/html/user/ffmail_action.php

101 lines
3.2 KiB
PHP

<?php
// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2008 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
require_once("../project/project.inc");
require_once("../inc/email.inc");
function replace($toname, $comment, $fromname, $template) {
$pat = array(
'/<toname\/>/',
'/<comment\/>/',
'/<fromname\/>/',
);
$rep = array(
$toname,
$comment,
$fromname,
);
return preg_replace($pat, $rep, $template);
}
$html = file_get_contents('../ops/ffmail/html');
$text = file_get_contents('../ops/ffmail/text');
$subject = file_get_contents('../ops/ffmail/subject');
$preview = get_str('preview', true);
$uname = get_str('uname');
$uemail = get_str('uemail');
$comment = get_str('comment', true);
$action = get_str('action');
if ($action=='Preview') {
page_head(tra("Email preview"));
echo tra("Your email will appear as follows:")."
<hr>
";
echo replace("[Friend's name]", $comment, $uname, $html);
$args = strstr($_SERVER['REQUEST_URI'], '?');
$args = str_replace('action=Preview', 'action=Send', $args);
echo "
<hr>
<b><a href=ffmail_action.php$args>".tra("Send email")."</a></b>
<p>
[".tra("Use your browser's back button to return to message form")."]
";
page_tail();
} else {
page_head(tra("Sending emails"));
$found = false;
for ($i=0; $i<5; $i++) {
$n = get_str("n$i", true);
$e = get_str("e$i", true);
if ($n && $e) {
$found = true;
$mail = new PHPMailer();
$mail->AddAddress($e, $n);
$mail->Subject = $subject;
if ($html) {
$mail->Body = replace($n, $comment, $uname, $html);
$mail->AltBody = replace($n, $comment, $uname, $text);
} else {
$mail->Body = replace($n, $comment, $uname, $text);
}
$mail->From = $uemail;
$mail->FromName = $uname;
$mail->Host = $PHPMAILER_HOST;
$mail->Mailer = $PHPMAILER_MAILER;
if ($mail->Send()) {
echo "<br>".tra("email sent successfully to %1", $e)."\n";
} else {
echo "<br>".tra("failed to send email to %1: %2", $e, $mail->ErrorInfo)."\n";
}
}
}
if ($found) {
echo "
<p>".tra("Thanks for telling your friends about %1", PROJECT);
} else {
echo tra("You forgot to enter your friends' names and/or email addresses; Please %1return to the form%2 and enter them.", "<a href=ffmail_form.php>", "</a>");
}
page_tail();
}
exit();
?>