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

Commit 2fc2ac94 authored by Akhil's avatar Akhil 🙂
Browse files

Merge branch 'dev/recurring-invitaion-fix' into 'main'

recurring event fix

See merge request !104
parents 73a41a4a 0c8fe278
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ ARG ECLOUD_LAUNCHER_JOB_ID="318040"
ARG GOOGLE_INTEGRATION_VERSION="1.0.6"
ARG LDAP_WRITE_SUPPORT_VERSION="1.4.0"

RUN sed -i 's/22,2,8,1/22,2,8,20/' ${BASE_DIR}/version.php
RUN sed -i 's/22,2,8,1/22,2,8,24/' ${BASE_DIR}/version.php
COPY custom_entrypoint.sh /
RUN chmod +x /custom_entrypoint.sh
RUN mkdir -p /var/www/skeleton/Documents && mkdir -p /var/www/skeleton/Images
+53 −3
Original line number Diff line number Diff line
@@ -31,3 +31,53 @@
 	}

 	/**

--- ./apps/dav/lib/CalDAV/Schedule/IMipPlugin.php	2022-07-04 12:41:03.228533600 +0530
+++ ./apps/dav/lib/CalDAV/Schedule/IMipPlugin-new.php	2022-07-04 14:42:56.208533600 +0530
@@ -419,23 +419,33 @@
 	 * @param VEvent $vevent
 	 */
 	private function generateWhenString(IL10N $l10n, VEvent $vevent) {
-		$dtstart = $vevent->DTSTART;
-		if (isset($vevent->DTEND)) {
-			$dtend = $vevent->DTEND;
-		} elseif (isset($vevent->DURATION)) {
-			$isFloating = $vevent->DTSTART->isFloating();
-			$dtend = clone $vevent->DTSTART;
+		$lastmodified=0;
+		$selectedEvent = $vevent;
+		foreach( $vevent as $currentevent){
+			$dtstamp= $currentevent->{'LAST-MODIFIED'};
+			$dtstampTime = strtotime($dtstamp);
+			if($dtstampTime>$lastmodified){
+				$lastmodified=$dtstampTime;
+				$selectedEvent = $currentevent;
+			}
+		}
+		$dtstart = $selectedEvent->DTSTART;
+		if (isset($selectedEvent->DTEND)) {
+			$dtend = $selectedEvent->DTEND;
+		} elseif (isset($selectedEvent->DURATION)) {
+			$isFloating = $selectedEvent->DTSTART->isFloating();
+			$dtend = clone $selectedEvent->DTSTART;
 			$endDateTime = $dtend->getDateTime();
-			$endDateTime = $endDateTime->add(DateTimeParser::parse($vevent->DURATION->getValue()));
+			$endDateTime = $endDateTime->add(DateTimeParser::parse($selectedEvent->DURATION->getValue()));
 			$dtend->setDateTime($endDateTime, $isFloating);
-		} elseif (!$vevent->DTSTART->hasTime()) {
-			$isFloating = $vevent->DTSTART->isFloating();
-			$dtend = clone $vevent->DTSTART;
+		} elseif (!$selectedEvent->DTSTART->hasTime()) {
+			$isFloating = $selectedEvent->DTSTART->isFloating();
+			$dtend = clone $selectedEvent->DTSTART;
 			$endDateTime = $dtend->getDateTime();
 			$endDateTime = $endDateTime->modify('+1 day');
 			$dtend->setDateTime($endDateTime, $isFloating);
 		} else {
-			$dtend = clone $vevent->DTSTART;
+			$dtend = clone $selectedEvent->DTSTART;
 		}

 		$isAllDay = $dtstart instanceof Property\ICalendar\Date;