Skip to content

Commit e4f42dd

Browse files
Format requests before sending notifications.
1 parent ed00a8c commit e4f42dd

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/Controller/RequestController.php

+9-5
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,21 @@ class RequestController extends BaseRequestAndInvitationController
4040

4141
private Mailer $mailer;
4242
private Logger $logger;
43+
private HostingRequestModel $hostingRequestModel;
4344

4445
public function __construct(
45-
ConversationModel $conversationModel,
46-
HostingRequestModel $requestModel,
46+
ConversationModel $conversationModel,
47+
HostingRequestModel $requestModel,
4748
EntityManagerInterface $entityManager,
48-
Mailer $mailer,
49-
Logger $logger
49+
Mailer $mailer,
50+
Logger $logger, HostingRequestModel $hostingRequestModel
5051
) {
5152
parent::__construct($requestModel, $entityManager);
5253

5354
$this->conversationModel = $conversationModel;
5455
$this->mailer = $mailer;
5556
$this->logger = $logger;
57+
$this->hostingRequestModel = $hostingRequestModel;
5658
}
5759

5860
/**
@@ -325,7 +327,9 @@ private function sendInitialRequestNotification(Member $host, Member $guest, Mes
325327
{
326328
$subject = $request->getSubject()->getSubject();
327329

328-
$this->sendRequestNotification($guest, $host, $host, $request, $subject, 'request', false);
330+
if ($this->hostingRequestModel->formatRequest($request)) {
331+
$this->sendRequestNotification($guest, $host, $host, $request, $subject, 'request', false);
332+
}
329333
}
330334

331335
private function sendHostReplyNotification(

src/Model/HostingRequestModel.php

+11
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,15 @@
77

88
class HostingRequestModel extends BaseRequestModel
99
{
10+
public function formatRequest(Message &$request): bool
11+
{
12+
$messageText = $request->getMessage();
13+
$found = preg_match("/@|at|.at.|-at-/i", $messageText);
14+
15+
if ($found !== 0) {
16+
$request->setMessage($messageText . '<p>Potential spam. Please report if necessary.</p>');
17+
}
18+
19+
return $found === 0;
20+
}
1021
}

0 commit comments

Comments
 (0)