Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e54edf3 authored by AVINASH GUSAIN's avatar AVINASH GUSAIN
Browse files

code optimized

parent ec9d16a5
Loading
Loading
Loading
Loading
Loading
+90 −89
Original line number Diff line number Diff line
@@ -24,6 +24,26 @@ class InvitationMiddleware extends Middleware
	private $request;
	/** @var IManager */
	private $calendarManager;
	private const translations = [
		"tentative" => [
			"meeting_title" => "Invitation Tentatively Accepted: %s",
			"meeting_body" =>
				"%s has tentatively accepted your invitation to %s on %s",
			"meeting_head" => "Tentatively Accepted",
		],
		"accept" => [
			"meeting_title" => "Invitation Tentatively Accepted: %s",
			"meeting_body" =>
				"%s has tentatively 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_head" => "Declined",
		],
	];

	public function __construct(
		IRequest $request,
@@ -48,7 +68,31 @@ class InvitationMiddleware extends Middleware
		$this->iusermanager = $iusermanager;
		$this->languageFactory = $languageFactory;
	}

	private function getMailAttributes(
		string $methodName,
		array $translationData
	) {
		$meetingTitle = $this->l10n->t(
			self::translations[$methodName]["meeting_title"],
			$translationData["summary"]
		);
		$meetingBody = $this->l10n->t(
			self::translations[$methodName]["meeting_body"],
			[
				$translationData["attendee_name"],
				$translationData["summary"],
				$translationData["event_date"],
			]
		);
		$meetingHead = $this->l10n->t(
			self::translations[$methodName]["meeting_head"]
		);
		return [
			"meeting_title" => $meetingTitle,
			"meeting_body" => $meetingBody,
			"meeting_head" => $meetingHead,
		];
	}
	public function afterController(
		$controller,
		$methodName,
@@ -70,7 +114,12 @@ class InvitationMiddleware extends Middleware
				->where(
					$queryCalendarInvitations
						->expr()
						->eq("token", $queryCalendarInvitations->createNamedParameter($token))
						->eq(
							"token",
							$queryCalendarInvitations->createNamedParameter(
								$token
							)
						)
				);
			$stmt = $queryCalendarInvitations->execute();
			$row = $stmt->fetch(\PDO::FETCH_ASSOC);
@@ -97,92 +146,50 @@ class InvitationMiddleware extends Middleware
						->expr()
						->eq(
							"c.principaluri",
							$queryCalendarObjects->createNamedParameter($principaluri)
							$queryCalendarObjects->createNamedParameter(
								$principaluri
							)
						)
				)
				->andWhere(
					$queryCalendarObjects
						->expr()
						->eq("co.uid", $queryCalendarObjects->createNamedParameter($uid))
						->eq(
							"co.uid",
							$queryCalendarObjects->createNamedParameter($uid)
						)
				);
			$stmt2 = $queryCalendarObjects->execute();
			$row2 = $stmt2->fetch(\PDO::FETCH_ASSOC);
			$vObject = Reader::read($row2["calendardata"]);
			$SUMMARY = $vObject->VEVENT->SUMMARY;
			$datestart = (string) $vObject->VEVENT->DTSTART;
			$attendeeName = empty($vObject->VEVENT->ATTENDEE['CN']) ? $sender : $vObject->VEVENT->ATTENDE['CN'];
			$organizername = empty($vObject->VEVENT->ORGANIZER['CN']) ? $recipient : $vObject->VEVENT->ORGANIZER['CN'];

			$attendeeName = empty($vObject->VEVENT->ATTENDEE["CN"])
				? $sender
				: $vObject->VEVENT->ATTENDEE["CN"];
			$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 {
				$eventdate = date("F d, Y", strtotime($datestart));
			}

			if ($methodName === "tentative") {
				$meetingTitle = $this->l10n->t(
					"Invitation Tentatively Accepted: %s",
					[$SUMMARY]
				);

				$data = [
					"attendee_name" => (string) $sender ?: $defaultVal,
					"invitee_name" => (string) $recipient ?: $defaultVal,
					"meeting_title" => (string) $meetingTitle ?: $defaultVal,
			$translationData = [
				"summary" => $SUMMARY,
				"attendee_name" => $attendeeName,
				"event_date" => $eventdate,
			];
				$method = "reply";
				$emailTemplate = $this->mailer->createEMailTemplate(
					"dav.calendarInvite." . $method,
					$data
				);
				$emailTemplate->setSubject(
					$this->l10n->t("Invitation Tentatively Accepted: %s", [
						$SUMMARY,
					])
				);
				$emailTemplate->addHeader();
				$emailTemplate->addHeading(
					$this->l10n->t("Tentatively Accepted")
				);
				$mailbodytext = $this->l10n->t(
					"%s has tentatively accepted your invitation to %s on %s",
					[$attendeename, $SUMMARY, $eventdate]
				);
			}

			if ($methodName === "accept") {
				$meetingTitle = $this->l10n->t("Invitation Accepted: %s", [
					$SUMMARY,
				]);
				$data = [
					"attendee_name" => (string) $sender ?: $defaultVal,
					"invitee_name" => (string) $recipient ?: $defaultVal,
					"meeting_title" => (string) $meetingTitle ?: $defaultVal,
				];
				$method = "reply";
				$emailTemplate = $this->mailer->createEMailTemplate(
					$recipient,
					$data
				);
				$emailTemplate->setSubject(
					$this->l10n->t("Invitation Accepted: %s", [$SUMMARY])
				);
				$emailTemplate->addHeader();
				$emailTemplate->addHeading($this->l10n->t("Accepted"));
				$mailbodytext = $this->l10n->t(
					"%s has accepted your invitation to %s on %s",
					[$attendeename, $SUMMARY, $eventdate]
			$translations = $this->getMailAttributes(
				$methodName,
				$translationData
			);
			}

			if ($methodName === "decline") {
				$meetingTitle = $this->l10n->t("Invitation Declined: %s", [
					$SUMMARY,
				]);
			$data = [
				"attendee_name" => (string) $sender ?: $defaultVal,
				"invitee_name" => (string) $recipient ?: $defaultVal,
					"meeting_title" => (string) $meetingTitle ?: $defaultVal,
				"meeting_title" =>
					(string) $translations["meeting_title"] ?: $defaultVal,
			];
			$method = "reply";
			$emailTemplate = $this->mailer->createEMailTemplate(
@@ -190,18 +197,12 @@ class InvitationMiddleware extends Middleware
				$data
			);
			$emailTemplate->setSubject(
					$this->l10n->t("Invitation Declined: %s", [$SUMMARY])
				$this->l10n->t($translations["meeting_title"], [$SUMMARY])
			);
			$emailTemplate->addHeader();
				$emailTemplate->addHeading($this->l10n->t("Declined"));
				$mailbodytext = $this->l10n->t(
					"%s has declined your invitation to %s on %s",
					[$attendeename, $SUMMARY, $eventdate]
				);
			}

			$emailTemplate->addHeading($translations["meeting_head"]);
			$emailTemplate->addBodyText(
				htmlspecialchars($mailbodytext),
				htmlspecialchars($translations["meeting_body"]),
				$mailbodytext
			);
			$emailTemplate->addFooter();