Loading Dockerfile +16 −12 Original line number Diff line number Diff line FROM nextcloud:22.2.10-fpm AS nextcloud FROM nextcloud:23.0.9-fpm AS nextcloud ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" ARG THEME_VERSION="22.1.4" ARG THEME_HELPER_VERSION="1.4.1" ARG THEME_VERSION="22.1.5" ARG THEME_HELPER_VERSION="1.4.4" ARG NEWS_VERSION="18.1.1" ARG QUOTA_WARN_VERSION="1.14.0" ARG NOTES_VERSION="4.5.0" ARG CONTACTS_JOB_ID="372144" ARG CALENDAR_JOB_ID="372097" ARG NOTES_VERSION="4.5.1" ARG CONTACTS_JOB_ID="400045" ARG CALENDAR_JOB_ID="398394" ARG USER_BACKEND_RAW_SQL_VERSION="1.3.0" ARG EMAIL_RECOVERY_JOB_ID="314819" ARG EMAIL_RECOVERY_JOB_ID="389385" ARG RAINLOOP_VERSION="7.2.5" ARG RAINLOOP_COMMIT_SHA="523518ba" ARG EA_TAG="2.1.0" ARG ECLOUD_LAUNCHER_JOB_ID="345049" ARG EA_TAG="2.1.1" ARG ECLOUD_LAUNCHER_JOB_ID="389373" ARG GOOGLE_INTEGRATION_VERSION="1.0.8" ARG LDAP_WRITE_SUPPORT_VERSION="1.4.0" RUN sed -i 's/22,2,10,2/22,2,10,5/' ${BASE_DIR}/version.php RUN sed -i 's/23,0,9,1/23,0,9,10/' ${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 Loading Loading @@ -124,13 +124,17 @@ RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/011-privacy-settings.patch RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/dashboard/lib/Controller/DashboardController.php -i ${TMP_PATCH_DIR}/012-remove-user-status-widget.patch RUN patch -u ${BASE_DIR}/lib/private/Authentication/Token/PublicKeyTokenProvider.php -i ${TMP_PATCH_DIR}/013-revert-token-password-update.patch RUN patch -u ${BASE_DIR}/lib/private/legacy/OC_Helper.php -i ${TMP_PATCH_DIR}/014-add-mail-usage.patch RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/015-email-mail-template.patch RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php -i ${TMP_PATCH_DIR}/015-email-mail-template.patch RUN patch -u ${BASE_DIR}/core/templates/layout.guest.php -i ${TMP_PATCH_DIR}/016-login-screen.patch RUN patch -u ${BASE_DIR}/core/Command/User/Setting.php -i ${TMP_PATCH_DIR}/018-occ-user-setting.patch RUN patch -u ${BASE_DIR}/apps/settings/lib/Sections/Personal/Groupware.php -i ${TMP_PATCH_DIR}/019-groupware.patch RUN rm -rf ${TMP_PATCH_DIR} # show reset pwd page with a query param RUN cd ${BASE_DIR}/core/js/dist && sed -i 's/resetPassword:!1/resetPassword:!1||re.showResetPassword==="1"/' login.js RUN cd ${BASE_DIR}/core/js/dist && sed -i 's/resetPassword:!1/resetPassword:!1||Z.showResetPassword==="1"/' login.js # sed version of ldap_write_support RUN cd ${BASE_DIR}/custom_apps/ldap_write_support && sed -i 's/max-version="22"/max-version="23"/' appinfo/info.xml # autocomplete leak tweak apps frontend with sed, disable group suggestion Loading custom_entrypoint.sh +5 −0 Original line number Diff line number Diff line Loading @@ -37,5 +37,10 @@ else echo "Skipping rsync step as version not updated!" fi if [ "$(id -u)" = 0 ]; then su -p www-data -s /bin/sh -c "php $DST_DIR/occ config:system:set profile.enabled --value=false --type=boolean" else sh -c "php $DST_DIR/occ config:system:set profile.enabled --value=false --type=boolean" fi /entrypoint.sh "$@" patches/015-email-mail-template.patch +37 −86 Original line number Diff line number Diff line --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php 2022-04-27 09:57:34.955523100 +0530 +++ apps/dav/lib/CalDAV/Schedule/IMipPlugin_Modifiednew.php 2022-04-27 09:57:09.345523100 +0530 @@ -659,7 +659,7 @@ Message $iTipMessage, $lastOccurrence) { $token = $this->createInvitationToken($iTipMessage, $lastOccurrence); - $template->addBodyButtonGroup( + $template->addBodyButtonGroupTentative( $l10n->t('Accept'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.accept', [ 'token' => $token, @@ -667,18 +667,11 @@ $l10n->t('Decline'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.decline', [ 'token' => $token, - ]) + ]), + $l10n->t('Maybe'), + $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) ); - $moreOptionsURL = $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.options', [ - 'token' => $token, - ]); - $html = vsprintf('<small><a href="%s">%s</a></small>', [ - $moreOptionsURL, $l10n->t('More options …') - ]); - $text = $l10n->t('More options at %s', [$moreOptionsURL]); - - $template->addBodyText($html, $text); } /** --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php 2022-07-27 13:21:50.294113800 +0530 +++ apps/dav/lib/CalDAV/Schedule/IMipPlugin-New.php 2022-08-16 16:29:16.531866700 +0530 --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php 2022-09-06 17:56:20.875827300 +0530 +++ apps/dav/lib/CalDAV/Schedule/IMipPlugin-new23.php 2022-09-06 17:13:51.925827300 +0530 @@ -151,15 +151,6 @@ */ public function schedule(Message $iTipMessage) { Loading @@ -50,7 +16,7 @@ $summary = $iTipMessage->message->VEVENT->SUMMARY; if (parse_url($iTipMessage->sender, PHP_URL_SCHEME) !== 'mailto') { @@ -252,9 +243,25 @@ @@ -252,7 +243,22 @@ $summary = ((string) $summary !== '') ? (string) $summary : $l10n->t('Untitled event'); Loading @@ -73,43 +39,11 @@ + } $this->addBulletList($template, $l10n, $vevent); + // Only add response buttons to invitation requests: Fix Issue #11230 if (($method == self::METHOD_REQUEST) && $this->getAttendeeRsvpOrReqForParticipant($attendee)) { @@ -414,7 +421,7 @@ return false; } - /** + /** @@ -542,24 +548,84 @@ /** * @param IEMailTemplate $template * @param IL10N $l10n * @param VEvent $vevent */ @@ -525,38 +532,99 @@ private function addSubjectAndHeading(IEMailTemplate $template, IL10N $l10n, $method, $summary) { if ($method === self::METHOD_CANCEL) { - $template->setSubject('Canceled: ' . $summary); + //TRANSLATORS Subject for email, when an invitation is cancelled. Ex: "Cancelled: {{Event Name}}" + $template->setSubject($l10n->t('Cancelled: %1$s', [$summary])); $template->addHeading($l10n->t('Invitation canceled')); } elseif ($method === self::METHOD_REPLY) { - $template->setSubject('Re: ' . $summary); + // TRANSLATORS Subject for email, when an invitation is updated. Ex: "Re: {{Event Name}}" + $template->setSubject($l10n->t('Re: %1$s', [$summary])); $template->addHeading($l10n->t('Invitation updated')); } else { - $template->setSubject('Invitation: ' . $summary); + // TRANSLATORS Subject for email, when an invitation is sent. Ex: "Invitation: {{Event Name}}" + $template->setSubject($l10n->t('Invitation: %1$s', [$summary])); $template->addHeading($l10n->t('Invitation')); } } - + /** + * @param IEMailTemplate $template + * @param IL10N $l10n + * @param string $method + * @param string $summary + */ Loading @@ -129,9 +63,10 @@ + $template->addHeading($l10n->t('Invitation Update')); + } + } /** * @param IEMailTemplate $template * @param IL10N $l10n + + /** + * @param IEMailTemplate $template + * @param IL10N $l10n * @param VEVENT $vevent */ private function addBulletList(IEMailTemplate $template, IL10N $l10n, $vevent) { Loading Loading @@ -201,7 +136,7 @@ $template->addBodyListItem(sprintf('<a href="%s">%s</a>', htmlspecialchars($url), htmlspecialchars($url)), @@ -565,12 +633,18 @@ @@ -568,12 +634,18 @@ $url,'',self::IMIP_INDENT); } Loading @@ -224,18 +159,34 @@ } } @@ -671,7 +745,6 @@ $l10n->t('Maybe'), $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) @@ -662,7 +734,7 @@ Message $iTipMessage, $lastOccurrence) { $token = $this->createInvitationToken($iTipMessage, $lastOccurrence); - $template->addBodyButtonGroup( + $template->addBodyButtonGroupTentative( $l10n->t('Accept'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.accept', [ 'token' => $token, @@ -670,18 +742,10 @@ $l10n->t('Decline'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.decline', [ 'token' => $token, - ]) + ]), + $l10n->t('Maybe'), + $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) ); - - $moreOptionsURL = $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.options', [ - 'token' => $token, - ]); - $html = vsprintf('<small><a href="%s">%s</a></small>', [ - $moreOptionsURL, $l10n->t('More options …') - ]); - $text = $l10n->t('More options at %s', [$moreOptionsURL]); - - $template->addBodyText($html, $text); } /** @@ -716,4 +789,4 @@ return $token; } -} +} \ No newline at end of file patches/019-groupware.patch 0 → 100644 +11 −0 Original line number Diff line number Diff line --- ./apps/settings/lib/Sections/Personal/Groupware.php 2022-09-08 11:20:19.355809900 +0530 +++ ./apps/settings/lib/Sections/Personal/Groupware-new.php 2022-09-08 11:18:46.905809900 +0530 @@ -45,7 +45,7 @@ } public function getID(): string { - return 'groupware'; + return ''; } public function getName(): string { Loading
Dockerfile +16 −12 Original line number Diff line number Diff line FROM nextcloud:22.2.10-fpm AS nextcloud FROM nextcloud:23.0.9-fpm AS nextcloud ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" ARG THEME_VERSION="22.1.4" ARG THEME_HELPER_VERSION="1.4.1" ARG THEME_VERSION="22.1.5" ARG THEME_HELPER_VERSION="1.4.4" ARG NEWS_VERSION="18.1.1" ARG QUOTA_WARN_VERSION="1.14.0" ARG NOTES_VERSION="4.5.0" ARG CONTACTS_JOB_ID="372144" ARG CALENDAR_JOB_ID="372097" ARG NOTES_VERSION="4.5.1" ARG CONTACTS_JOB_ID="400045" ARG CALENDAR_JOB_ID="398394" ARG USER_BACKEND_RAW_SQL_VERSION="1.3.0" ARG EMAIL_RECOVERY_JOB_ID="314819" ARG EMAIL_RECOVERY_JOB_ID="389385" ARG RAINLOOP_VERSION="7.2.5" ARG RAINLOOP_COMMIT_SHA="523518ba" ARG EA_TAG="2.1.0" ARG ECLOUD_LAUNCHER_JOB_ID="345049" ARG EA_TAG="2.1.1" ARG ECLOUD_LAUNCHER_JOB_ID="389373" ARG GOOGLE_INTEGRATION_VERSION="1.0.8" ARG LDAP_WRITE_SUPPORT_VERSION="1.4.0" RUN sed -i 's/22,2,10,2/22,2,10,5/' ${BASE_DIR}/version.php RUN sed -i 's/23,0,9,1/23,0,9,10/' ${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 Loading Loading @@ -124,13 +124,17 @@ RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/011-privacy-settings.patch RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/dashboard/lib/Controller/DashboardController.php -i ${TMP_PATCH_DIR}/012-remove-user-status-widget.patch RUN patch -u ${BASE_DIR}/lib/private/Authentication/Token/PublicKeyTokenProvider.php -i ${TMP_PATCH_DIR}/013-revert-token-password-update.patch RUN patch -u ${BASE_DIR}/lib/private/legacy/OC_Helper.php -i ${TMP_PATCH_DIR}/014-add-mail-usage.patch RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/015-email-mail-template.patch RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php -i ${TMP_PATCH_DIR}/015-email-mail-template.patch RUN patch -u ${BASE_DIR}/core/templates/layout.guest.php -i ${TMP_PATCH_DIR}/016-login-screen.patch RUN patch -u ${BASE_DIR}/core/Command/User/Setting.php -i ${TMP_PATCH_DIR}/018-occ-user-setting.patch RUN patch -u ${BASE_DIR}/apps/settings/lib/Sections/Personal/Groupware.php -i ${TMP_PATCH_DIR}/019-groupware.patch RUN rm -rf ${TMP_PATCH_DIR} # show reset pwd page with a query param RUN cd ${BASE_DIR}/core/js/dist && sed -i 's/resetPassword:!1/resetPassword:!1||re.showResetPassword==="1"/' login.js RUN cd ${BASE_DIR}/core/js/dist && sed -i 's/resetPassword:!1/resetPassword:!1||Z.showResetPassword==="1"/' login.js # sed version of ldap_write_support RUN cd ${BASE_DIR}/custom_apps/ldap_write_support && sed -i 's/max-version="22"/max-version="23"/' appinfo/info.xml # autocomplete leak tweak apps frontend with sed, disable group suggestion Loading
custom_entrypoint.sh +5 −0 Original line number Diff line number Diff line Loading @@ -37,5 +37,10 @@ else echo "Skipping rsync step as version not updated!" fi if [ "$(id -u)" = 0 ]; then su -p www-data -s /bin/sh -c "php $DST_DIR/occ config:system:set profile.enabled --value=false --type=boolean" else sh -c "php $DST_DIR/occ config:system:set profile.enabled --value=false --type=boolean" fi /entrypoint.sh "$@"
patches/015-email-mail-template.patch +37 −86 Original line number Diff line number Diff line --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php 2022-04-27 09:57:34.955523100 +0530 +++ apps/dav/lib/CalDAV/Schedule/IMipPlugin_Modifiednew.php 2022-04-27 09:57:09.345523100 +0530 @@ -659,7 +659,7 @@ Message $iTipMessage, $lastOccurrence) { $token = $this->createInvitationToken($iTipMessage, $lastOccurrence); - $template->addBodyButtonGroup( + $template->addBodyButtonGroupTentative( $l10n->t('Accept'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.accept', [ 'token' => $token, @@ -667,18 +667,11 @@ $l10n->t('Decline'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.decline', [ 'token' => $token, - ]) + ]), + $l10n->t('Maybe'), + $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) ); - $moreOptionsURL = $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.options', [ - 'token' => $token, - ]); - $html = vsprintf('<small><a href="%s">%s</a></small>', [ - $moreOptionsURL, $l10n->t('More options …') - ]); - $text = $l10n->t('More options at %s', [$moreOptionsURL]); - - $template->addBodyText($html, $text); } /** --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php 2022-07-27 13:21:50.294113800 +0530 +++ apps/dav/lib/CalDAV/Schedule/IMipPlugin-New.php 2022-08-16 16:29:16.531866700 +0530 --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php 2022-09-06 17:56:20.875827300 +0530 +++ apps/dav/lib/CalDAV/Schedule/IMipPlugin-new23.php 2022-09-06 17:13:51.925827300 +0530 @@ -151,15 +151,6 @@ */ public function schedule(Message $iTipMessage) { Loading @@ -50,7 +16,7 @@ $summary = $iTipMessage->message->VEVENT->SUMMARY; if (parse_url($iTipMessage->sender, PHP_URL_SCHEME) !== 'mailto') { @@ -252,9 +243,25 @@ @@ -252,7 +243,22 @@ $summary = ((string) $summary !== '') ? (string) $summary : $l10n->t('Untitled event'); Loading @@ -73,43 +39,11 @@ + } $this->addBulletList($template, $l10n, $vevent); + // Only add response buttons to invitation requests: Fix Issue #11230 if (($method == self::METHOD_REQUEST) && $this->getAttendeeRsvpOrReqForParticipant($attendee)) { @@ -414,7 +421,7 @@ return false; } - /** + /** @@ -542,24 +548,84 @@ /** * @param IEMailTemplate $template * @param IL10N $l10n * @param VEvent $vevent */ @@ -525,38 +532,99 @@ private function addSubjectAndHeading(IEMailTemplate $template, IL10N $l10n, $method, $summary) { if ($method === self::METHOD_CANCEL) { - $template->setSubject('Canceled: ' . $summary); + //TRANSLATORS Subject for email, when an invitation is cancelled. Ex: "Cancelled: {{Event Name}}" + $template->setSubject($l10n->t('Cancelled: %1$s', [$summary])); $template->addHeading($l10n->t('Invitation canceled')); } elseif ($method === self::METHOD_REPLY) { - $template->setSubject('Re: ' . $summary); + // TRANSLATORS Subject for email, when an invitation is updated. Ex: "Re: {{Event Name}}" + $template->setSubject($l10n->t('Re: %1$s', [$summary])); $template->addHeading($l10n->t('Invitation updated')); } else { - $template->setSubject('Invitation: ' . $summary); + // TRANSLATORS Subject for email, when an invitation is sent. Ex: "Invitation: {{Event Name}}" + $template->setSubject($l10n->t('Invitation: %1$s', [$summary])); $template->addHeading($l10n->t('Invitation')); } } - + /** + * @param IEMailTemplate $template + * @param IL10N $l10n + * @param string $method + * @param string $summary + */ Loading @@ -129,9 +63,10 @@ + $template->addHeading($l10n->t('Invitation Update')); + } + } /** * @param IEMailTemplate $template * @param IL10N $l10n + + /** + * @param IEMailTemplate $template + * @param IL10N $l10n * @param VEVENT $vevent */ private function addBulletList(IEMailTemplate $template, IL10N $l10n, $vevent) { Loading Loading @@ -201,7 +136,7 @@ $template->addBodyListItem(sprintf('<a href="%s">%s</a>', htmlspecialchars($url), htmlspecialchars($url)), @@ -565,12 +633,18 @@ @@ -568,12 +634,18 @@ $url,'',self::IMIP_INDENT); } Loading @@ -224,18 +159,34 @@ } } @@ -671,7 +745,6 @@ $l10n->t('Maybe'), $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) @@ -662,7 +734,7 @@ Message $iTipMessage, $lastOccurrence) { $token = $this->createInvitationToken($iTipMessage, $lastOccurrence); - $template->addBodyButtonGroup( + $template->addBodyButtonGroupTentative( $l10n->t('Accept'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.accept', [ 'token' => $token, @@ -670,18 +742,10 @@ $l10n->t('Decline'), $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.decline', [ 'token' => $token, - ]) + ]), + $l10n->t('Maybe'), + $this->urlGenerator->getAbsoluteUrl('apps/calendar/invitation/tentative/'.$token) ); - - $moreOptionsURL = $this->urlGenerator->linkToRouteAbsolute('dav.invitation_response.options', [ - 'token' => $token, - ]); - $html = vsprintf('<small><a href="%s">%s</a></small>', [ - $moreOptionsURL, $l10n->t('More options …') - ]); - $text = $l10n->t('More options at %s', [$moreOptionsURL]); - - $template->addBodyText($html, $text); } /** @@ -716,4 +789,4 @@ return $token; } -} +} \ No newline at end of file
patches/019-groupware.patch 0 → 100644 +11 −0 Original line number Diff line number Diff line --- ./apps/settings/lib/Sections/Personal/Groupware.php 2022-09-08 11:20:19.355809900 +0530 +++ ./apps/settings/lib/Sections/Personal/Groupware-new.php 2022-09-08 11:18:46.905809900 +0530 @@ -45,7 +45,7 @@ } public function getID(): string { - return 'groupware'; + return ''; } public function getName(): string {