diff --git a/Dockerfile b/Dockerfile index 67742499c8ed1ce73298566e883d2054b289b15d..c5b00c3c5877972630f81bc8e9e408479c90273c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 diff --git a/patches/015-email-mail-template.patch b/patches/015-email-mail-template.patch index 9b88a2151fea2829edfbacc75f6884cb831b4907..6db695c718d0880c7bacc8450ec7578c87841d62 100644 --- a/patches/015-email-mail-template.patch +++ b/patches/015-email-mail-template.patch @@ -3,7 +3,7 @@ @@ -659,7 +659,7 @@ Message $iTipMessage, $lastOccurrence) { $token = $this->createInvitationToken($iTipMessage, $lastOccurrence); - + - $template->addBodyButtonGroup( + $template->addBodyButtonGroupTentative( $l10n->t('Accept'), @@ -18,7 +18,7 @@ + $l10n->t('Maybe'), + $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) ); - + - $moreOptionsURL = $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.options', [ - 'token' => $token, - ]); @@ -29,5 +29,55 @@ - - $template->addBodyText($html, $text); } - + /** + +--- ./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; + +