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

Commit 22f54e75 authored by AVINASH GUSAIN's avatar AVINASH GUSAIN
Browse files

Merge branch 'dev/calendar-invite-fix' into 'murena-main'

fix: use correct attendee name in invitation acceptance notifications

See merge request !64
parents 9a551bc6 21e3356e
Loading
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
@@ -104,22 +104,36 @@ class InvitationMiddleware extends Middleware {
				);
			$stmt3 = $query3->execute();
			$row3 = $stmt3->fetchAll(\PDO::FETCH_ASSOC);
			
			$attendeename = '';
			$organizername = '';
			$targetAttendeeEmail = 'mailto:' . $sender;
			
			// Get organizer name
			foreach ($row3 as $calendarobj1) {
				if (
					$calendarobj1['parameter'] == 'CN' &&
					$calendarobj1['name'] == 'ATTENDEE'
				) {
					$attendeename = $calendarobj1['value'];
				}
				if (
					$calendarobj1['parameter'] == 'CN' &&
					$calendarobj1['name'] == 'ORGANIZER'
				) {
					$organizername = $calendarobj1['value'];
					break;
				}
			}
			
			// Parse calendar data to get attendee info reliably
			// The VObject maintains the proper relationship between email and CN
			$vObject = Reader::read($row2['calendardata']);
			
			// Find the attendee who responded
			if (isset($vObject->VEVENT->ATTENDEE)) {
				foreach ($vObject->VEVENT->ATTENDEE as $attendee) {
					if ((string)$attendee === $targetAttendeeEmail) {
						// CN is always set, so assign directly
						$attendeename = (string)$attendee['CN'];
						break;
					}
				}
			}
			$SUMMARY = $vObject->VEVENT->SUMMARY;
			$datestart = (string)$vObject->VEVENT->DTSTART;
			if (str_contains($datestart, 'T')) {
@@ -136,10 +150,6 @@ class InvitationMiddleware extends Middleware {
				$organizername = $recipient;
			}

			$userdata = $this->iusermanager->getByEmail($recipient);
			$username = $userdata[0]->getUID();
			$userlang = $this->languageFactory->getUserLanguage($userdata[0]);

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