Skip to content

Commit

Permalink
Reverting back to Html2Text as HtmlConverter output isn't as nice as …
Browse files Browse the repository at this point in the history
…the original one.
  • Loading branch information
thisismeonmounteverest committed Feb 17, 2019
1 parent 8e38a14 commit 390de2b
Show file tree
Hide file tree
Showing 10 changed files with 86 additions and 184 deletions.
3 changes: 1 addition & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
"doctrine/orm": "^2.6",
"ezyang/htmlpurifier": "^4.0",
"foolz/sphinxql-query-builder": "^1.0",
"league/html-to-markdown": "^4.0",
"league/commonmark": "^0.18",
"html2text/html2text": "*",
"incenteev/composer-parameter-handler": "^2.0",
"intervention/image": "^2.4",
"judev/php-htmltruncator": "^1.1",
Expand Down
182 changes: 43 additions & 139 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions modules/mail/lib/mail.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
* @author Meinhard (bw:planetcruiser)
*/

use League\HTMLToMarkdown\HtmlConverter;
use Html2Text\Html2Text;

/**
* MOD_mails lets you create & send mails using our default template
Expand Down Expand Up @@ -154,11 +154,11 @@ public static function sendEmail($subject, $from, $to, $title, $body, $lang = 'd
$mail_html = ob_get_contents();
ob_end_clean();

$converter = new HtmlConverter([
'strip_tags' => true,
'remove_nodes' => 'style,script',
]);
$plain = $converter->convert($mail_html);
$converter = new Html2Text($mail_html, [
'do_links' => 'table',
'width' => 75]
);
$plain = $converter->getText();

$message->setBody($plain);
if ($html) {
Expand Down
13 changes: 7 additions & 6 deletions src/Controller/MemberController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use App\Repository\MemberRepository;
use App\Repository\MessageRepository;
use Doctrine\ORM\NonUniqueResultException;
use Html2Text\Html2Text;
use League\HTMLToMarkdown\HtmlConverter;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Swift_Message;
Expand Down Expand Up @@ -329,11 +330,11 @@ private function sendPasswordResetLink(Member $receiver, $subject, $key, \Swift_
'subject' => $subject,
'key' => $key,
]);
$converter = new HtmlConverter([
'strip_tags' => true,
'remove_nodes' => 'script'
]);
$plainText = $converter->convert($html);
$converter = new Html2Text($html, [
'do_links' => 'table',
'width' => 75]
);
$plainText = $converter->getText();
$message = new Swift_Message();
$message
->setSubject($subject)
Expand All @@ -348,7 +349,7 @@ private function sendPasswordResetLink(Member $receiver, $subject, $key, \Swift_
'text/html'
)
->addPart(
$plainText->getText(),
$plainText,
'text/plain'
)
;
Expand Down
31 changes: 16 additions & 15 deletions src/Controller/RequestAndMessageController.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use App\Model\MessageModel;
use App\Model\RequestModel;
use Doctrine\Common\Persistence\ObjectManager;
use Html2Text\Html2Text;
use InvalidArgumentException;
use League\HTMLToMarkdown\HtmlConverter;
use Swift_Mailer;
Expand Down Expand Up @@ -283,7 +284,7 @@ public function newHostingRequestAction(Request $request, Member $host)
$em->persist($hostingRequest);
$em->flush();

$success = $this->sendRequestNotification(
$success = $this->sendInitialRequestNotification(
$guest,
$host,
$hostingRequest
Expand Down Expand Up @@ -832,11 +833,11 @@ private function sendMessageNotification(Member $sender, Member $receiver, Messa
$body,
'text/html'
);
$converter = new HtmlConverter([
'strip_tags' => true,
'remove_nodes' => 'script'
]);
$plainText = $converter->convert($body);
$converter = new Html2Text($body, [
'do_links' => 'table',
'width' => 75]
);
$plainText = $converter->getText();
$message
->addPart($plainText, 'text/plain')
;
Expand All @@ -845,16 +846,16 @@ private function sendMessageNotification(Member $sender, Member $receiver, Messa
return (0 === $recipients) ? false : true;
}

private function sendNotification(Member $guest, Member $host, Message $request, $template)
private function sendNotification(Member $sender, Member $receiver, Message $request, $template)
{
// Send mail notification with the receiver's preferred locale
$this->setTranslatorLocale($host);
$this->setTranslatorLocale($receiver);

$subject = $request->getSubject()->getSubject();
$message = $request->getMessage();
$body = $this->renderView($template, [
'sender' => $guest,
'receiver' => $host,
'sender' => $sender,
'receiver' => $receiver,
'subject' => $subject,
'message' => $message,
'request' => $request->getRequest(),
Expand All @@ -863,16 +864,16 @@ private function sendNotification(Member $guest, Member $host, Message $request,
$message = (new Swift_Message())
->setSubject('[Request] '.strip_tags($subject))
->setFrom([
'request@bewelcome.org' => 'BeWelcome - '.$guest->getUsername(),
'request@bewelcome.org' => 'BeWelcome - '.$receiver->getUsername(),
])
->setTo($host->getEmail())
->setTo($receiver->getEmail())
->setBody(
$body,
'text/html'
);
$converter = new HtmlConverter([
'strip_tags' => true,
'remove_nodes' => 'script'
'remove_nodes' => 'head script style'
]);
$plainText = $converter->convert($body);
$message
Expand All @@ -890,7 +891,7 @@ private function sendNotification(Member $guest, Member $host, Message $request,
*
* @return bool
*/
private function sendRequestNotification(Member $guest, Member $host, Message $request)
private function sendInitialRequestNotification(Member $guest, Member $host, Message $request)
{
return $this->sendNotification($guest, $host, $request, 'emails/request.html.twig');
}
Expand All @@ -916,7 +917,7 @@ private function sendHostReplyNotification(Member $guest, Member $host, Message
*/
private function sendGuestReplyNotification(Member $guest, Member $host, Message $request)
{
return $this->sendNotification($guest, $host, $request, 'emails/reply_guest.html.twig');
return $this->sendNotification($host, $guest, $request, 'emails/reply_guest.html.twig');
}

private function checkRequestExpired(HostingRequest $request)
Expand Down
Loading

0 comments on commit 390de2b

Please sign in to comment.