Loading patches/015-email-mail-template.patch +16 −16 Original line number Diff line number Diff line Loading @@ -33,8 +33,8 @@ /** --- ./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 12:31:43.728533600 +0530 @@ -419,23 +419,34 @@ +++ ./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) { Loading @@ -45,39 +45,39 @@ - $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; + $dtStartFinal= $currentevent->DTSTART; + $dtEndtFinal= $currentevent->DTEND; + $durationFinal= $currentevent->DURATION; + $selectedEvent = $currentevent; + } + } + $dtstart = $dtStartFinal; + if (isset($dtEndtFinal)) { + $dtend = $dtEndtFinal; + } elseif (isset($durationFinal)) { + $isFloating = $dtStartFinal->isFloating(); + $dtend = clone $dtStartFinal; + $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($durationFinal->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 (!$dtStartFinal->hasTime()) { + $isFloating = $dtStartFinal->isFloating(); + $dtend = clone $dtStartFinal; + } 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 $dtStartFinal; + $dtend = clone $selectedEvent->DTSTART; } $isAllDay = $dtstart instanceof Property\ICalendar\Date; Loading
patches/015-email-mail-template.patch +16 −16 Original line number Diff line number Diff line Loading @@ -33,8 +33,8 @@ /** --- ./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 12:31:43.728533600 +0530 @@ -419,23 +419,34 @@ +++ ./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) { Loading @@ -45,39 +45,39 @@ - $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; + $dtStartFinal= $currentevent->DTSTART; + $dtEndtFinal= $currentevent->DTEND; + $durationFinal= $currentevent->DURATION; + $selectedEvent = $currentevent; + } + } + $dtstart = $dtStartFinal; + if (isset($dtEndtFinal)) { + $dtend = $dtEndtFinal; + } elseif (isset($durationFinal)) { + $isFloating = $dtStartFinal->isFloating(); + $dtend = clone $dtStartFinal; + $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($durationFinal->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 (!$dtStartFinal->hasTime()) { + $isFloating = $dtStartFinal->isFloating(); + $dtend = clone $dtStartFinal; + } 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 $dtStartFinal; + $dtend = clone $selectedEvent->DTSTART; } $isAllDay = $dtstart instanceof Property\ICalendar\Date;