From d95bb5e6b578089c9c2bb0b098e4b0134aa51c35 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Mon, 13 Jun 2022 16:57:29 +0530 Subject: [PATCH 01/10] array object fix and sender fix --- lib/Middleware/InvitationMiddleware.php | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index ed8354292..39f484ad6 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -32,15 +32,13 @@ class InvitationMiddleware extends Middleware "meeting_head" => "Tentatively Accepted", ], "accept" => [ - "meeting_title" => "Invitation Tentatively Accepted: %s", - "meeting_body" => - "%s has tentatively accepted your invitation to %s on %s", + "meeting_title" => "Invitation Accepted: %s", + "meeting_body" => "%s has accepted your invitation to %s on %s", "meeting_head" => "Accepted", ], "decline" => [ - "meeting_title" => "Invitation Tentatively Accepted: %s", - "meeting_body" => - "%s has tentatively accepted your invitation to %s on %s", + "meeting_title" => "Invitation Declined: %s", + "meeting_body" => "%s has declined your invitation to %s on %s", "meeting_head" => "Declined", ], ]; @@ -168,12 +166,8 @@ class InvitationMiddleware extends Middleware $vObject = Reader::read($row2["calendardata"]); $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string) $vObject->VEVENT->DTSTART; - $attendeeName = empty($vObject->VEVENT->ATTENDEE["CN"]) - ? $sender - : $vObject->VEVENT->ATTENDEE["CN"]; - $organizername = empty($vObject->VEVENT->ORGANIZER["CN"]) - ? $recipient - : $vObject->VEVENT->ORGANIZER["CN"]; + $attendeeName = $sender; + $organizername = $recipient; if (str_contains($datestart, "T")) { $eventdate = date("F d, Y h:i", strtotime($datestart)); } else { -- GitLab From dca43ff1d83862d80a1fd9c6ef65afd00945bc64 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Mon, 13 Jun 2022 18:53:10 +0530 Subject: [PATCH 02/10] CN for internal user --- lib/Middleware/InvitationMiddleware.php | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index 39f484ad6..3d90f8428 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -164,10 +164,30 @@ class InvitationMiddleware extends Middleware $stmt2 = $queryCalendarObjects->execute(); if ($row2 = $stmt2->fetch(\PDO::FETCH_ASSOC)) { $vObject = Reader::read($row2["calendardata"]); + + foreach ($vObject->VEVENT->ATTENDEE as $attendee1) { + $attendee = substr($attendee1, 7); + if ($attendee == $sender) { + $attendeeName = empty($attendee1["CN"]) + ? $sender + : $attendee1["CN"]; + } + } + + $organizer = substr($vObject->VEVENT->ORGANIZER[0], 7); + if ($organizer == $sender) { + $organizername = empty( + $vObject->VEVENT->ORGANIZER[0]["CN"] + ) + ? $recipient + : $vObject->VEVENT->ORGANIZER[0]["CN"]; + } + $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string) $vObject->VEVENT->DTSTART; - $attendeeName = $sender; - $organizername = $recipient; + $$organizername = empty($vObject->VEVENT->ORGANIZER["CN"]) + ? $recipient + : $vObject->VEVENT->ORGANIZER["CN"]; if (str_contains($datestart, "T")) { $eventdate = date("F d, Y h:i", strtotime($datestart)); } else { -- GitLab From 2942840b0d6664691b438dc3f4e2283cc867db07 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Mon, 13 Jun 2022 19:14:32 +0530 Subject: [PATCH 03/10] optimize code --- lib/Middleware/InvitationMiddleware.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index 3d90f8428..3105e964e 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -164,13 +164,13 @@ class InvitationMiddleware extends Middleware $stmt2 = $queryCalendarObjects->execute(); if ($row2 = $stmt2->fetch(\PDO::FETCH_ASSOC)) { $vObject = Reader::read($row2["calendardata"]); - foreach ($vObject->VEVENT->ATTENDEE as $attendee1) { $attendee = substr($attendee1, 7); if ($attendee == $sender) { $attendeeName = empty($attendee1["CN"]) ? $sender : $attendee1["CN"]; + break; } } -- GitLab From 836782ab75f19cc9a481ffc1aaa0b215c980781b Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Mon, 13 Jun 2022 19:17:41 +0530 Subject: [PATCH 04/10] optimize code --- lib/Middleware/InvitationMiddleware.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index 3105e964e..f726886fd 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -185,9 +185,6 @@ class InvitationMiddleware extends Middleware $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string) $vObject->VEVENT->DTSTART; - $$organizername = empty($vObject->VEVENT->ORGANIZER["CN"]) - ? $recipient - : $vObject->VEVENT->ORGANIZER["CN"]; if (str_contains($datestart, "T")) { $eventdate = date("F d, Y h:i", strtotime($datestart)); } else { -- GitLab From 06da4daf5c57e9db650be77e6c8d4196a58b3025 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Mon, 13 Jun 2022 19:46:43 +0530 Subject: [PATCH 05/10] organizer single --- lib/Middleware/InvitationMiddleware.php | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index f726886fd..03206bb18 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -173,15 +173,9 @@ class InvitationMiddleware extends Middleware break; } } - - $organizer = substr($vObject->VEVENT->ORGANIZER[0], 7); - if ($organizer == $sender) { - $organizername = empty( - $vObject->VEVENT->ORGANIZER[0]["CN"] - ) - ? $recipient - : $vObject->VEVENT->ORGANIZER[0]["CN"]; - } + $organizername = empty($vObject->VEVENT->ORGANIZER["CN"]) + ? $recipient + : $vObject->VEVENT->ORGANIZER["CN"]; $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string) $vObject->VEVENT->DTSTART; -- GitLab From 39a610da6d2fc2faae23423ae008f9900bb82d14 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Mon, 13 Jun 2022 20:53:45 +0530 Subject: [PATCH 06/10] email regex --- lib/Middleware/InvitationMiddleware.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index 03206bb18..1ca5e59e7 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -91,6 +91,10 @@ class InvitationMiddleware extends Middleware "meeting_head" => $meetingHead, ]; } + private function extract_emails_from($string){ + preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $string, $matches); + return $matches[0][0]; + } public function afterController( $controller, $methodName, @@ -123,8 +127,8 @@ class InvitationMiddleware extends Middleware $row = $stmt->fetch(\PDO::FETCH_ASSOC); $uid = $row["uid"]; - $sender = substr($row["attendee"], 7); - $recipient = substr($row["organizer"], 7); + $sender = $this->extract_emails_from($row["attendee"]); + $recipient = $this->extract_emails_from($row["organizer"]); $userdata = $this->iusermanager->getByEmail($recipient); if (count($userdata) > 0) { $username = $userdata[0]->getUID(); @@ -165,7 +169,7 @@ class InvitationMiddleware extends Middleware if ($row2 = $stmt2->fetch(\PDO::FETCH_ASSOC)) { $vObject = Reader::read($row2["calendardata"]); foreach ($vObject->VEVENT->ATTENDEE as $attendee1) { - $attendee = substr($attendee1, 7); + $attendee = $this->extract_emails_from($attendee1); if ($attendee == $sender) { $attendeeName = empty($attendee1["CN"]) ? $sender @@ -177,6 +181,7 @@ class InvitationMiddleware extends Middleware ? $recipient : $vObject->VEVENT->ORGANIZER["CN"]; + $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string) $vObject->VEVENT->DTSTART; if (str_contains($datestart, "T")) { @@ -233,4 +238,4 @@ class InvitationMiddleware extends Middleware } return $response; } -} +} \ No newline at end of file -- GitLab From d98dd1339d24521ca57912d56d7e74dd7e6903d0 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Tue, 14 Jun 2022 10:55:14 +0530 Subject: [PATCH 07/10] email regex --- lib/Middleware/InvitationMiddleware.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index 1ca5e59e7..f1fa57400 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -91,10 +91,11 @@ class InvitationMiddleware extends Middleware "meeting_head" => $meetingHead, ]; } - private function extract_emails_from($string){ - preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $string, $matches); + private function extract_emails_from($string) + { + preg_match_all("/mailto:(.*)/i", $string, $matches); return $matches[0][0]; - } + } public function afterController( $controller, $methodName, @@ -125,7 +126,6 @@ class InvitationMiddleware extends Middleware ); $stmt = $queryCalendarInvitations->execute(); $row = $stmt->fetch(\PDO::FETCH_ASSOC); - $uid = $row["uid"]; $sender = $this->extract_emails_from($row["attendee"]); $recipient = $this->extract_emails_from($row["organizer"]); @@ -168,6 +168,7 @@ class InvitationMiddleware extends Middleware $stmt2 = $queryCalendarObjects->execute(); if ($row2 = $stmt2->fetch(\PDO::FETCH_ASSOC)) { $vObject = Reader::read($row2["calendardata"]); + foreach ($vObject->VEVENT->ATTENDEE as $attendee1) { $attendee = $this->extract_emails_from($attendee1); if ($attendee == $sender) { @@ -181,7 +182,6 @@ class InvitationMiddleware extends Middleware ? $recipient : $vObject->VEVENT->ORGANIZER["CN"]; - $SUMMARY = $vObject->VEVENT->SUMMARY; $datestart = (string) $vObject->VEVENT->DTSTART; if (str_contains($datestart, "T")) { @@ -238,4 +238,4 @@ class InvitationMiddleware extends Middleware } return $response; } -} \ No newline at end of file +} -- GitLab From 4f892c9debf840de7e972de0ca9f593a7090de08 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Tue, 14 Jun 2022 11:24:23 +0530 Subject: [PATCH 08/10] email regex --- lib/Middleware/InvitationMiddleware.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index f1fa57400..d204ece4e 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -94,7 +94,7 @@ class InvitationMiddleware extends Middleware private function extract_emails_from($string) { preg_match_all("/mailto:(.*)/i", $string, $matches); - return $matches[0][0]; + return substr($matches[0][0], 7); } public function afterController( $controller, @@ -166,6 +166,7 @@ class InvitationMiddleware extends Middleware ) ); $stmt2 = $queryCalendarObjects->execute(); + if ($row2 = $stmt2->fetch(\PDO::FETCH_ASSOC)) { $vObject = Reader::read($row2["calendardata"]); @@ -236,6 +237,7 @@ class InvitationMiddleware extends Middleware } } } + return $response; } } -- GitLab From f4eda53a01227c9d637a7c1fd48710ecc2c10c32 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Tue, 14 Jun 2022 13:00:21 +0530 Subject: [PATCH 09/10] pregmatch function edited --- lib/Middleware/InvitationMiddleware.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index d204ece4e..3ffe0f671 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -93,8 +93,12 @@ class InvitationMiddleware extends Middleware } private function extract_emails_from($string) { - preg_match_all("/mailto:(.*)/i", $string, $matches); - return substr($matches[0][0], 7); + $matches = []; + $found = preg_match("/mailto:(.*)/i", $string, $matches); + if ($found === 1) { + return $matches[1]; + } + return ""; } public function afterController( $controller, -- GitLab From d1356c0a59afe88fe9d3db70041ca105cb80e6e9 Mon Sep 17 00:00:00 2001 From: Avinash Gusain Date: Tue, 14 Jun 2022 13:09:24 +0530 Subject: [PATCH 10/10] code optimized --- lib/Middleware/InvitationMiddleware.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/Middleware/InvitationMiddleware.php b/lib/Middleware/InvitationMiddleware.php index 3ffe0f671..4f68e7014 100644 --- a/lib/Middleware/InvitationMiddleware.php +++ b/lib/Middleware/InvitationMiddleware.php @@ -176,6 +176,7 @@ class InvitationMiddleware extends Middleware foreach ($vObject->VEVENT->ATTENDEE as $attendee1) { $attendee = $this->extract_emails_from($attendee1); + if ($attendee == $sender) { $attendeeName = empty($attendee1["CN"]) ? $sender @@ -183,7 +184,7 @@ class InvitationMiddleware extends Middleware break; } } - $organizername = empty($vObject->VEVENT->ORGANIZER["CN"]) + $organizerName = empty($vObject->VEVENT->ORGANIZER["CN"]) ? $recipient : $vObject->VEVENT->ORGANIZER["CN"]; @@ -225,13 +226,13 @@ class InvitationMiddleware extends Middleware $emailTemplate->addHeading($translations["meeting_head"]); $emailTemplate->addBodyText( htmlspecialchars($translations["meeting_body"]), - $mailbodytext + $translations["meeting_body"] ); $emailTemplate->addFooter(); try { $message = $this->mailer->createMessage(); - $message->setTo([$recipient => $organizername]); - $message->setReplyTo([$sender => $attendeename]); + $message->setTo([$recipient => $organizerName]); + $message->setReplyTo([$sender => $attendeeName]); $message->useTemplate($emailTemplate); $this->mailer->send($message); } catch (\Exception $e) { -- GitLab