diff --git a/Dockerfile b/Dockerfile index a8fea96b0ece9301d40a57e8b7424fdcf94e6231..4136b4b3c1a49b691aad42a85589cdf95c48a511 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,93 +1,57 @@ -FROM nextcloud:30.0.14-fpm AS nextcloud +FROM nextcloud:31.0.9-fpm AS nextcloud ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" -ARG THEME_HELPER_JOB_ID="1330034" -ARG NOTES_VERSION="4.11.0" -ARG CONTACTS_JOB_ID="1313223" -ARG CALENDAR_JOB_ID="1330379" -ARG EMAIL_RECOVERY_JOB_ID="1313239" -ARG EA_JOB_ID="1317005" -ARG LAUNCHER_JOB_ID="1330025" -ARG GOOGLE_INTEGRATION_VERSION="3.2.0" -ARG DASHBOARD_JOB_ID="1313279" -ARG SNAPPY_VERSION="2.37.2" -ARG SNAPPY_THEME_VERSION="4.0.5" -ARG USER_MIGRATION_JOB_ID="1313296" -ARG MEMORIES_VERSION="7.5.2" -ARG DROP_ACCOUNT_VERSION="2.7.1" - -RUN sed -i 's/30,0,14,1/30,0,14,11/' ${BASE_DIR}/version.php + +ARG CONTACTS_URL="https://gitlab.e.foundation/api/v4/projects/1238/packages/generic/contacts/v7.2.0+murena-20250926/contacts-v7.2.0+murena-20250926.tar.gz" +ARG CALENDAR_URL="https://gitlab.e.foundation/api/v4/projects/1199/packages/generic/calendar/v5.3.5+murena-20251016/calendar-v5.3.5+murena-20251016.tar.gz" +ARG THEME_HELPER_URL="https://gitlab.e.foundation/api/v4/projects/952/packages/generic/ecloud-theme-helper/v9.0.0/ecloud-theme-helper-v9.0.0.tar.gz" +ARG LAUNCHER_URL="https://gitlab.e.foundation/api/v4/projects/927/packages/generic/murena_launcher/v9.0.0/murena_launcher-v9.0.0.tar.gz" +ARG DASHBOARD_URL="https://gitlab.e.foundation/api/v4/projects/1195/packages/generic/murena-dashboard/v9.0.0/murena-dashboard-v9.0.0.tar.gz" +ARG SNAPPY_URL="https://gitlab.e.foundation/api/v4/projects/1367/packages/generic/snappymail/v2.38.2+murena-20250822/snappymail-v2.38.2+murena-20250822.tar.gz" +ARG OIDC_LOGIN_URL="https://gitlab.e.foundation/api/v4/projects/1496/packages/generic/oidc_login/3.2.2+murena-20250822/oidc_login-3.2.2+murena-20250822.tar.gz" +ARG SNAPPY_THEME_VERSION="https://gitlab.e.foundation/api/v4/projects/1377/packages/generic/snappymail/v4.0.5/snappymail-v4.0.5.tar.gz" +ARG EA_URL="https://gitlab.e.foundation/api/v4/projects/648/packages/generic/ecloud-accounts/v13.0.0/ecloud-accounts-v13.0.0.tar.gz" +ARG EMAIL_RECOVERY_URL="https://gitlab.e.foundation/api/v4/projects/868/packages/generic/email-recovery/12.0.0/email-recovery-12.0.0.tar.gz" +ARG USER_MIGRATION_URL="https://gitlab.e.foundation/api/v4/projects/1468/packages/generic/user_migration/8.0.0+murena-20251020/user_migration-8.0.0+murena-20251020.tar.gz" + +ARG NOTES_URL="https://github.com/nextcloud-releases/notes/releases/download/v4.11.0/notes-v4.11.0.tar.gz" +ARG MEMORIES_URL="https://github.com/pulsejet/memories/releases/download/v7.5.2/memories.tar.gz" +ARG DROP_ACCOUNT_URL="https://packages.framasoft.org/projects/nextcloud-apps/drop-account/drop_account-2.7.1.tar.gz" +ARG GOOGLE_INTEGRATION_URL="https://github.com/nextcloud/integration_google/releases/download/v1.0.9/integration_google-1.0.9.tar.gz" + +RUN sed -i 's/31,0,9,1/31,0,9,9/' ${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 # Install unzip for unzipping artifacts RUN apt-get update && apt-get install -y unzip ffmpeg -RUN curl -fsSL -o notes.tar.gz \ - "https://github.com/nextcloud-releases/notes/releases/download/v${NOTES_VERSION}/notes-v${NOTES_VERSION}.tar.gz" && \ - tar -xf notes.tar.gz -C ${BASE_DIR}/custom_apps/ && \ - rm notes.tar.gz; - -# custom Contact -RUN curl -fsSL -o contacts.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/contacts/-/jobs/${CONTACTS_JOB_ID}/artifacts/download" && \ - unzip contacts.zip && \ - mv dist/contacts ${BASE_DIR}/custom_apps/ && \ - rm contacts.zip; - -RUN curl -fsSL -o calendar.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/calendar/-/jobs/${CALENDAR_JOB_ID}/artifacts/download" && \ - unzip calendar.zip && \ - mv dist/calendar ${BASE_DIR}/custom_apps/ && \ - rm calendar.zip; - -RUN curl -fsSL -o email-recovery.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/email-recovery/-/jobs/${EMAIL_RECOVERY_JOB_ID}/artifacts/download" && \ - unzip email-recovery.zip && \ - mv dist/email-recovery ${BASE_DIR}/custom_apps/ && \ - rm email-recovery.zip; - - -RUN curl -fsSL -o ecloud-theme-helper.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/ecloud-theme-helper/-/jobs/${THEME_HELPER_JOB_ID}/artifacts/download" && \ - unzip ecloud-theme-helper.zip && \ - mv dist/ecloud-theme-helper ${BASE_DIR}/custom_apps/ && \ - rm ecloud-theme-helper.zip; - -RUN curl -fsSL -o murena_launcher.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/launcher/-/jobs/${LAUNCHER_JOB_ID}/artifacts/download" && \ - unzip murena_launcher.zip && \ - mv dist/murena_launcher ${BASE_DIR}/custom_apps/ && \ - rm murena_launcher.zip; - -RUN curl -fsSL -o integration_google.tar.gz \ - "https://github.com/nextcloud-releases/integration_google/releases/download/v${GOOGLE_INTEGRATION_VERSION}/integration_google-v${GOOGLE_INTEGRATION_VERSION}.tar.gz" && \ - tar -xf integration_google.tar.gz -C ${BASE_DIR}/custom_apps/ && \ - chown -R www-data:www-data ${BASE_DIR}/custom_apps/integration_google && \ - rm integration_google.tar.gz; - -RUN curl -fsSL -o ecloud-accounts.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/ecloud-accounts/-/jobs/${EA_JOB_ID}/artifacts/download" && \ - unzip ecloud-accounts.zip && \ - mv dist/ecloud-accounts ${BASE_DIR}/custom_apps/ && \ - rm ecloud-accounts.zip; - -RUN curl -fsSL -o ecloud-dashboard.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/murena-dashboard/-/jobs/${DASHBOARD_JOB_ID}/artifacts/download" && \ - unzip ecloud-dashboard.zip && \ - mv dist/murena-dashboard ${BASE_DIR}/custom_apps/ && \ - rm ecloud-dashboard.zip; - -#RUN curl -fsSL -o snappymail.tar.gz \ -# "https://snappymail.eu/repository/nextcloud/snappymail-${SNAPPY_VERSION}-nextcloud.tar.gz" && \ -# tar -xf snappymail.tar.gz -C ${BASE_DIR}/custom_apps/ && \ -# rm snappymail.tar.gz; - -RUN curl -fsSL -o user_migration.zip \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/user_migration/-/jobs/${USER_MIGRATION_JOB_ID}/artifacts/download" && \ - unzip user_migration.zip && \ - mv dist/user_migration ${BASE_DIR}/custom_apps/ && \ - rm user_migration.zip; + +RUN rm -rf ${BASE_DIR}/core/skeleton/* ${BASE_DIR}/themes/example \ + && mkdir -p ${BASE_DIR}/core/skeleton/Documents \ + && mkdir -p ${BASE_DIR}/core/skeleton/Images \ + && mkdir -p ${BASE_DIR}/themes/Murena + +# Install unzip for unzipping artifacts +RUN apt-get update && apt-get install -y unzip ffmpeg syslog-ng + +# Murena apps +RUN curl -sL ${CONTACTS_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${CALENDAR_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${THEME_HELPER_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${LAUNCHER_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${DASHBOARD_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${SNAPPY_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${OIDC_LOGIN_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${EA_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${EMAIL_RECOVERY_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${USER_MIGRATION_URL} | tar xzf - -C ${BASE_DIR}/custom_apps + +# External apps +RUN curl -sL ${NOTES_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${MEMORIES_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${DROP_ACCOUNT_URL} | tar xzf - -C ${BASE_DIR}/custom_apps +RUN curl -sL ${GOOGLE_INTEGRATION_URL} | tar xzf - -C ${BASE_DIR}/custom_apps # Fix snappymail icon #RUN sed -i 's/logo-white-64x64.png/app.svg/' ${BASE_DIR}/custom_apps/snappymail/appinfo/info.xml @@ -96,24 +60,7 @@ RUN curl -fsSL -o user_migration.zip \ #RUN sed -i "s/'additional'/null/" ${BASE_DIR}/custom_apps/snappymail/lib/Settings/PersonalSettings.php # Snappy theme -#RUN curl -fsSL -o Murena-snappymail-theme.tar.gz \ -# "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/snappymail-theme/-/archive/${SNAPPY_THEME_VERSION}/snappymail-theme-${SNAPPY_THEME_VERSION}.tar.gz" && \ -# tar -xf Murena-snappymail-theme.tar.gz -C /tmp/ && \ -# mkdir -p ${BASE_DIR}/themes/Murena && \ -# mv /tmp/snappymail-theme-${SNAPPY_THEME_VERSION}/ ${BASE_DIR}/themes/Murena/snappymail && \ -# chown -R www-data:www-data ${BASE_DIR}/themes/Murena/ && \ -# rm -rf Murena-snappymail-theme.tar.gz - -RUN curl -fsSL -o memories.tar.gz \ - "https://github.com/pulsejet/memories/releases/download/v${MEMORIES_VERSION}/memories.tar.gz" && \ - tar -xf memories.tar.gz -C ${BASE_DIR}/custom_apps/ && \ - rm memories.tar.gz; - -RUN curl -fsSL -o drop_account.tar.gz \ - "https://packages.framasoft.org/projects/nextcloud-apps/drop-account/drop_account-${DROP_ACCOUNT_VERSION}.tar.gz" && \ - tar -xf drop_account.tar.gz -C ${BASE_DIR}/custom_apps/ && \ - rm drop_account.tar.gz; - +RUN curl -sL ${SNAPPY_THEME_VERSION} | tar xzf - -C ${BASE_DIR}/themes/Murena/ # Remove unzip when unzipping is done @@ -132,7 +79,7 @@ CMD ["php-fpm"] From nextcloud as selfhost ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" -ARG THEME_VERSION="26.0.2" +ARG THEME_VERSION="https://gitlab.e.foundation/api/v4/projects/315/packages/generic/eCloud/v26.0.2/eCloud-v26.0.2.tar.gz" #ARG USER_BACKEND_RAW_SQL_VERSION="2.0.1" ARG SELFHOST_THEME_VERSION="2.0.0" ARG IS_SELFHOST=true @@ -149,7 +96,7 @@ RUN patch -u ${BASE_DIR}/lib/private/Authentication/Token/PublicKeyTokenProvider RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/014-add-mail-usage.patch RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/015-email-mail-template.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/files/js/files.js -i ${TMP_PATCH_DIR}/021-repeated-storage-dialog-fix.patch +#RUN patch -u ${BASE_DIR}/apps/files/js/files.js -i ${TMP_PATCH_DIR}/021-repeated-storage-dialog-fix.patch RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/3rdparty/sabre/vobject/lib/ITip/Broker.php -i ${TMP_PATCH_DIR}/022-significantchange.patch RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/026-primary-color-fix.patch RUN patch -u ${BASE_DIR}/lib/private/Template/JSResourceLocator.php -i ${TMP_PATCH_DIR}/031-theme-custom-app-translations.patch @@ -160,12 +107,8 @@ RUN cd ${BASE_DIR} && patch -p1 < ${TMP_PATCH_DIR}/036-user-config-change-event. RUN rm -rf ${TMP_PATCH_DIR} # Custom theme -RUN curl -fsSL -o eCloud-theme.tar.gz \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/nextcloud-theme/-/archive/${THEME_VERSION}/nextcloud-theme-${THEME_VERSION}.tar.gz" && \ - tar -xf eCloud-theme.tar.gz -C /tmp/ && \ - mv /tmp/nextcloud-theme-${THEME_VERSION}/ ${BASE_DIR}/themes/eCloud && \ - chown -R www-data:www-data ${BASE_DIR}/themes/eCloud/ && \ - rm -rf eCloud-theme.tar.gz ${BASE_DIR}/themes/example/ +RUN curl -sL ${THEME_VERSION} | tar xzf - -C ${BASE_DIR}/themes + # User Backend #RUN curl -fsSL -o user_backend_sql_raw.tar.gz \ @@ -198,16 +141,16 @@ RUN sed -i 's/this.appLimit=e/this.appLimit=this.appList.length/' ${BASE_DIR}/di # Fix total quota value for users in settings and files RUN sed -i "s/'total'/'quota'/" ${BASE_DIR}/apps/settings/lib/Settings/Personal/PersonalInfo.php -RUN sed -i "s/\['total'\]/\['quota'\]/" ${BASE_DIR}/apps/provisioning_api/lib/Controller/AUserData.php +RUN sed -i "s/\['total'\]/\['quota'\]/" ${BASE_DIR}/apps/provisioning_api/lib/Controller/AUserDataOCSController.php -# Fix API call in files script -RUN sed -i "s/ajax\/getstoragestats/api\/v1\/stats/g" ${BASE_DIR}/apps/files/js/files.js +# Fix API call in files script -Not needed in NC 31 +#RUN sed -i "s/ajax\/getstoragestats/api\/v1\/stats/g" ${BASE_DIR}/apps/files/js/files.js From selfhost as ecloud ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" -ARG THEME_VERSION="v30.0.1" -ARG LDAP_WRITE_SUPPORT_VERSION="1.12.1" +ARG THEME_VERSION="https://gitlab.e.foundation/api/v4/projects/315/packages/generic/eCloud/v30.0.3/eCloud-v30.0.3.tar.gz" +ARG LDAP_WRITE_SUPPORT_VERSION="1.13.0" ARG IS_SELFHOST=false RUN curl -fsSL -o ldap_write_support.tar.gz \ @@ -222,14 +165,16 @@ RUN patch -u ${BASE_DIR}/core/Controller/ContactsMenuController.php -i ${TMP_PAT RUN cd ${BASE_DIR} && patch -p0 < ${TMP_PATCH_DIR}/005-autocomplete-user-leak-core.patch RUN patch -u ${BASE_DIR}/core/templates/layout.guest.php -i ${TMP_PATCH_DIR}/016-login-screen.patch RUN patch -u ${BASE_DIR}/lib/private/Notification/Manager.php -i ${TMP_PATCH_DIR}/020-fairuse-notification-fix.patch -RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/user_ldap/lib/User_LDAP.php -i ${TMP_PATCH_DIR}/023-ldap-check-pwd-optimization.patch +#RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/user_ldap/lib/User_LDAP.php -i ${TMP_PATCH_DIR}/023-ldap-check-pwd-optimization.patch - already added in nc31 RUN patch -u ${BASE_DIR}/lib/private/User/Manager.php -i ${TMP_PATCH_DIR}/025-optimize-get-by-email.patch RUN patch -u ${BASE_DIR}/apps/dav/lib/Connector/Sabre/Principal.php -i ${TMP_PATCH_DIR}/027-displayname-user-leak-dav.patch RUN patch -u ${BASE_DIR}/apps/dav/lib/HookManager.php -i ${TMP_PATCH_DIR}/028-default-task-calendar.patch RUN patch -u ${BASE_DIR}/apps/provisioning_api/lib/Controller/UsersController.php -i ${TMP_PATCH_DIR}/029-restrict-user-to-change-primary-email.patch RUN patch -u ${BASE_DIR}/lib/private/Security/VerificationToken/VerificationToken.php -i ${TMP_PATCH_DIR}/033-verification-token-private.patch RUN patch -u ${BASE_DIR}/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php -i ${TMP_PATCH_DIR}/034-oidc-bearer-token-auth.patch - +RUN patch -u ${BASE_DIR}/custom_apps/snappymail/app/snappymail/v/2.38.2+murena-20250822/app/libraries/RainLoop/Actions/Contacts.php -i ${TMP_PATCH_DIR}/037-snappymail-contact.patch +#Below patch will be removed after NC 31 +RUN patch -u ${BASE_DIR}/lib/private/App/AppManager.php -i ${TMP_PATCH_DIR}/038-add-hyphen-to-appid.patch RUN rm -rf ${TMP_PATCH_DIR} @@ -243,7 +188,7 @@ RUN sed -i 's/$this->getAvatarImage($user)/null/' ${BASE_DIR}/apps/dav/lib/CardD # RUN cd ${BASE_DIR}/dist && sed -i 's/resetPassword:!1/resetPassword:!1||Z.showResetPassword==="1"/' core-login.js # add attr about how many notifications to notif icon -RUN sed -i 's/attrs:{id:"notifications",/attrs:{id:"notifications","data-has-notifications":0!==u.notifications.length,/' ${BASE_DIR}/apps/notifications/js/NotificationsApp-DS2Cdf60.chunk.mjs +RUN sed -i 's/attrs:{id:"notifications",/attrs:{id:"notifications","data-has-notifications":0!==u.notifications.length,/' ${BASE_DIR}/apps/notifications/js/NotificationsApp-BLfRaKfb.chunk.mjs # Rename Memories to Gallery RUN sed -i 's/Memories<\/name>/Gallery<\/name>/g' ${BASE_DIR}/custom_apps/memories/appinfo/info.xml @@ -279,13 +224,7 @@ RUN sed -i 's/{attrs:{name:t.t("theming","Navigation bar settings")}}/{staticCla # Custom theme -RUN rm -rf ${BASE_DIR}/themes/eCloud && \ - curl -fsSL -o eCloud-theme.tar.gz \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/nextcloud-theme/-/archive/${THEME_VERSION}/nextcloud-theme-${THEME_VERSION}.tar.gz" && \ - tar -xf eCloud-theme.tar.gz -C /tmp/ && \ - mv /tmp/nextcloud-theme-${THEME_VERSION}/ ${BASE_DIR}/themes/eCloud && \ - chown -R www-data:www-data ${BASE_DIR}/themes/eCloud/ && \ - rm -rf eCloud-theme.tar.gz ${BASE_DIR}/themes/example/ +RUN curl -sL ${THEME_VERSION} | tar xzf - -C ${BASE_DIR}/themes # Remove Selfhost theme RUN if [ "$IS_SELFHOST" = false ]; then \ diff --git a/custom_entrypoint.sh b/custom_entrypoint.sh index 7cbfde62130376847d86ac5a26e93059548fbcae..08fc883505932482bb1e657f5c687452154da884 100644 --- a/custom_entrypoint.sh +++ b/custom_entrypoint.sh @@ -29,7 +29,7 @@ if version_greater "$image_version" "$installed_version"; then rsync $rsync_options --include "/integration_google/" --exclude '/*' $SRC_DIR/custom_apps/ $DST_DIR/custom_apps/ rsync $rsync_options --include "/ldap_write_support/" --exclude '/*' $SRC_DIR/custom_apps/ $DST_DIR/custom_apps/ rsync $rsync_options --include "/murena-dashboard/" --exclude '/*' $SRC_DIR/custom_apps/ /$DST_DIR/custom_apps/ - #rsync $rsync_options --include "/snappymail/" --exclude '/*' $SRC_DIR/custom_apps/ /$DST_DIR/custom_apps/ + rsync $rsync_options --include "/snappymail/" --exclude '/*' $SRC_DIR/custom_apps/ /$DST_DIR/custom_apps/ rsync $rsync_options --include "/eCloud/" --exclude '/*' $SRC_DIR/themes/ $DST_DIR/themes/ rsync $rsync_options --include "/Murena/" --exclude '/*' $SRC_DIR/themes/ $DST_DIR/themes/ rsync $rsync_options --include "/memories/" --exclude '/*' $SRC_DIR/custom_apps/ $DST_DIR/custom_apps/ diff --git a/patches/014-add-mail-usage.patch b/patches/014-add-mail-usage.patch index 4418b3e15bc2307765220dfab542671e00c3ccc0..a8bf3a1d113bd5017c6d24fbd65ab36c071f3b1e 100644 --- a/patches/014-add-mail-usage.patch +++ b/patches/014-add-mail-usage.patch @@ -1,22 +1,24 @@ --- lib/private/legacy/OC_Helper.php 2025-05-25 16:00:00.880495300 +0530 +++ lib/private/legacy/OC_Helper-new.php 2025-05-25 16:02:00.970495300 +0530 -@@ -512,6 +512,12 @@ +@@ -512,6 +512,13 @@ } try { $free = $sourceStorage->free_space($rootInfo->getInternalPath()); -+ $ownerId = $storage->getOwner($path); -+ $mailQuotaUsage = (int) \OC::$server->getConfig()->getUserValue($ownerId, 'ecloud-accounts', 'mailQuotaUsage', 0); -+ $free = max(0, $free - $mailQuotaUsage); -+ if($path === '/') { -+ $used = $used + $mailQuotaUsage; -+ } ++ $ownerId = $storage->getOwner($path); ++ $mailQuotaUsage = (int) \OC::$server->getConfig()->getUserValue($ownerId, 'ecloud-accounts', 'mailQuotaUsage', 0); ++ $free = max(0, $free - $mailQuotaUsage); ++ if ($path === '/') { ++ $used = $used + $mailQuotaUsage; ++ } ++ if (is_bool($free)) { $free = 0.0; } -@@ -547,7 +553,6 @@ +@@ -547,7 +554,6 @@ */ $isRemoteShare = $storage->instanceOfStorage(\OCA\Files_Sharing\External\Storage::class); - $ownerId = $storage->getOwner($path); - $hasOwnerId = $ownerId !== false && $ownerId !== null; - $ownerDisplayName = ''; \ No newline at end of file + $ownerDisplayName = ''; + + if ($isRemoteShare === false && $ownerId !== false) { \ No newline at end of file diff --git a/patches/016-login-screen.patch b/patches/016-login-screen.patch index d7d7b98af69044bcd7a358fdd9ef4d765aa7e3ab..79414a44a74476003a553309265fcef67ddab40c 100644 --- a/patches/016-login-screen.patch +++ b/patches/016-login-screen.patch @@ -1,5 +1,5 @@ ---- layout.guest.php 2025-07-24 10:37:50 -+++ layout.guest-new.php 2025-07-24 10:58:20 +--- layout.guest.php 2025-10-10 12:39:23 ++++ layout.guest-new.php 2025-10-10 12:53:43 @@ -32,6 +32,7 @@ @@ -8,63 +8,68 @@ -@@ -42,10 +43,38 @@ +@@ -42,10 +43,37 @@
+
" > -+ -+