GitHub/WoltLab/WCF.git
7 days ago`|encodeJS` requires the value to be marked with `unsafe:`
Alexander Ebert [Thu, 2 Jan 2025 15:29:23 +0000 (16:29 +0100)]
`|encodeJS` requires the value to be marked with `unsafe:`

7 days agoMerge branch '6.1' into 6.2
Alexander Ebert [Thu, 2 Jan 2025 15:29:01 +0000 (16:29 +0100)]
Merge branch '6.1' into 6.2

7 days agoMerge pull request #6151 from earlyhost/patch-10
Alexander Ebert [Thu, 2 Jan 2025 15:17:15 +0000 (16:17 +0100)]
Merge pull request #6151 from earlyhost/patch-10

Fixed broken `null` check for attachment thumbnail links

7 days agoMerge pull request #6153 from ChristopherWalz/patch-1
Alexander Ebert [Thu, 2 Jan 2025 15:16:44 +0000 (16:16 +0100)]
Merge pull request #6153 from ChristopherWalz/patch-1

Unify cache dir separator

7 days agoMerge pull request #6154 from WoltLab/62-text-content-popover-foundation
Alexander Ebert [Thu, 2 Jan 2025 15:15:42 +0000 (16:15 +0100)]
Merge pull request #6154 from WoltLab/62-text-content-popover-foundation

Foundation for new text content popovers

7 days agoAdd support for cover photos in popovers
Marcel Werk [Thu, 2 Jan 2025 14:56:10 +0000 (15:56 +0100)]
Add support for cover photos in popovers

7 days agoFoundation for new text content popovers
Marcel Werk [Thu, 2 Jan 2025 12:01:24 +0000 (13:01 +0100)]
Foundation for new text content popovers

8 days agoUnify cache dir separator
Christopher Walz [Thu, 2 Jan 2025 04:07:53 +0000 (05:07 +0100)]
Unify cache dir separator

8 days agoFix missing error message if given access token was invalid
Marcel Werk [Wed, 1 Jan 2025 14:00:27 +0000 (15:00 +0100)]
Fix missing error message if given access token was invalid

9 days agoRelease 6.1.3 dev 2 6.1.3_dev_2
Alexander Ebert [Tue, 31 Dec 2024 13:15:27 +0000 (14:15 +0100)]
Release 6.1.3 dev 2

9 days agoMerge pull request #6152 from WoltLab/61-access-token-middleware
Alexander Ebert [Tue, 31 Dec 2024 12:33:04 +0000 (13:33 +0100)]
Merge pull request #6152 from WoltLab/61-access-token-middleware

Move access token handling to a middleware

9 days agoMerge branch '6.0' into 6.1
Marcel Werk [Tue, 31 Dec 2024 12:32:52 +0000 (13:32 +0100)]
Merge branch '6.0' into 6.1

9 days agoRevert "Fix removal of asterisks in censorship statements"
Marcel Werk [Tue, 31 Dec 2024 12:29:45 +0000 (13:29 +0100)]
Revert "Fix removal of asterisks in censorship statements"

This reverts commit a0281adf9edbf0d0cf9dd48c713aaa5dfc87ddde.

See https://www.woltlab.com/community/thread/310091-platzhalter-in-zensur-funktion-funktioniert-f%C3%BCr-urls-nicht-mehr/

10 days agoFix issue when assigning user groups in bulk processing
Marcel Werk [Mon, 30 Dec 2024 15:45:05 +0000 (16:45 +0100)]
Fix issue when assigning user groups in bulk processing

ref https://www.woltlab.com/community/thread/310377-benutzergruppen-zuweisen-in-massenbearbeitung-ergebnislos/

10 days agoMove access token handling to a middleware
Marcel Werk [Mon, 30 Dec 2024 14:35:03 +0000 (15:35 +0100)]
Move access token handling to a middleware

10 days agoFix the markup of the filter button
Alexander Ebert [Mon, 30 Dec 2024 12:46:49 +0000 (13:46 +0100)]
Fix the markup of the filter button

Fixes #6143

10 days agoRemove an unused CSS class
Alexander Ebert [Mon, 30 Dec 2024 12:40:49 +0000 (13:40 +0100)]
Remove an unused CSS class

10 days agoFix the visuals of the box for users awaiting approval
Alexander Ebert [Mon, 30 Dec 2024 12:40:06 +0000 (13:40 +0100)]
Fix the visuals of the box for users awaiting approval

Fixes #6141

11 days agoRemove `null` values from the runtime cache
Alexander Ebert [Sun, 29 Dec 2024 16:08:18 +0000 (17:08 +0100)]
Remove `null` values from the runtime cache

See https://www.woltlab.com/community/thread/310416/

12 days agoFixed broken `null` check for attachment thumbnail links
Peter Frühwirt [Sat, 28 Dec 2024 22:29:55 +0000 (23:29 +0100)]
Fixed broken `null` check for attachment thumbnail links

13 days agoMerge branch '6.1' of https://github.com/WoltLab/WCF into 6.1
Marcel Werk [Fri, 27 Dec 2024 14:39:00 +0000 (15:39 +0100)]
Merge branch '6.1' of https://github.com/WoltLab/WCF into 6.1

13 days agoLimit details in user card to 2 lines
Marcel Werk [Fri, 27 Dec 2024 14:38:54 +0000 (15:38 +0100)]
Limit details in user card to 2 lines

13 days agoMerge branch '6.1' of https://github.com/WoltLab/WCF into 6.1
Alexander Ebert [Fri, 27 Dec 2024 14:26:47 +0000 (15:26 +0100)]
Merge branch '6.1' of https://github.com/WoltLab/WCF into 6.1

13 days agoPrevent overwriting of some user profile field settings by updates
Marcel Werk [Fri, 27 Dec 2024 14:10:03 +0000 (15:10 +0100)]
Prevent overwriting of some user profile field settings by updates

ref https://www.woltlab.com/community/thread/310192-voreinstellung-benutzerprofilfeld-bearbeiten-wird-beim-update-nicht-%C3%BCbernommen/

13 days agoRelease 6.1.3 dev 1 6.1.3_dev_1
Alexander Ebert [Fri, 27 Dec 2024 12:44:52 +0000 (13:44 +0100)]
Release 6.1.3 dev 1

13 days agoUpdating minified JavaScript files
WoltLab [Fri, 27 Dec 2024 12:33:18 +0000 (12:33 +0000)]
Updating minified JavaScript files

13 days agoMerge pull request #6146 from WoltLab/61-offload-thumbnail-generation
Alexander Ebert [Fri, 27 Dec 2024 12:30:42 +0000 (13:30 +0100)]
Merge pull request #6146 from WoltLab/61-offload-thumbnail-generation

Add events to delegate the WebP/thumbnail generation

13 days agoMerge branch '6.1' of https://github.com/WoltLab/WCF into 6.1
Marcel Werk [Fri, 27 Dec 2024 12:25:15 +0000 (13:25 +0100)]
Merge branch '6.1' of https://github.com/WoltLab/WCF into 6.1

13 days agoFix issue with the creation of comments that require approval
Marcel Werk [Fri, 27 Dec 2024 12:25:10 +0000 (13:25 +0100)]
Fix issue with the creation of comments that require approval

Closes #6150

13 days agoFix broken endpoint for enabling comments
Marcel Werk [Fri, 27 Dec 2024 12:23:49 +0000 (13:23 +0100)]
Fix broken endpoint for enabling comments

13 days agoFix the upcast of `[attach]`
Alexander Ebert [Fri, 27 Dec 2024 12:09:02 +0000 (13:09 +0100)]
Fix the upcast of `[attach]`

See https://www.woltlab.com/community/thread/310357/

2 weeks agoAdd the missing `alt` attribute on the user card
Alexander Ebert [Mon, 23 Dec 2024 16:31:30 +0000 (17:31 +0100)]
Add the missing `alt` attribute on the user card

Fixes #6142

2 weeks agoFix the validation of reCAPTCHA in dialogs
Alexander Ebert [Mon, 23 Dec 2024 16:23:21 +0000 (17:23 +0100)]
Fix the validation of reCAPTCHA in dialogs

See https://www.woltlab.com/community/thread/310067-gastkommentar-absenden-noch-immer-nicht-m%C3%B6glich/

2 weeks agoFix wrong button position
Marcel Werk [Mon, 23 Dec 2024 15:39:28 +0000 (16:39 +0100)]
Fix wrong button position

ref https://www.woltlab.com/community/thread/310054-administrationsoberfl%C3%A4che-button-pakete-ist-unterhalb-des-inhalts-der-seite/

2 weeks agoRe-add page title to RSS feeds
Marcel Werk [Mon, 23 Dec 2024 15:30:47 +0000 (16:30 +0100)]
Re-add page title to RSS feeds

ref https://www.woltlab.com/community/thread/310335-forenname-nicht-mehr-im-titel-des-feeds-vorhanden/

2 weeks agoMerge pull request #6149 from WoltLab/61-rss-feed-force-login
Marcel Werk [Mon, 23 Dec 2024 13:56:12 +0000 (14:56 +0100)]
Merge pull request #6149 from WoltLab/61-rss-feed-force-login

Fix issue with the accessibility of RSS feeds when "force login" is active

2 weeks agoMerge pull request #6148 from WoltLab/61-can-hide-online-status
Marcel Werk [Mon, 23 Dec 2024 13:38:52 +0000 (14:38 +0100)]
Merge pull request #6148 from WoltLab/61-can-hide-online-status

Remove live-check of the `canHideOnlineStatus` permission

2 weeks agoUse `UserProfile::ACCESS_EVERYONE` constant
Marcel Werk [Mon, 23 Dec 2024 13:36:21 +0000 (14:36 +0100)]
Use `UserProfile::ACCESS_EVERYONE` constant

2 weeks agoRetrieve the total size of attachments from `wcf1_file`
Alexander Ebert [Mon, 23 Dec 2024 13:35:44 +0000 (14:35 +0100)]
Retrieve the total size of attachments from `wcf1_file`

See https://www.woltlab.com/community/thread/310063-fehlerhafte-berechnung-der-gesamtgr%C3%B6%C3%9Fe-aller-dateianh%C3%A4nge/

2 weeks agoFix issue with the accessibility of RSS feeds when "force login" is active
Marcel Werk [Mon, 23 Dec 2024 13:34:07 +0000 (14:34 +0100)]
Fix issue with the accessibility of RSS feeds when "force login" is active

The pages were generally not accessible for users who were not logged in, as the access token was only evaluated after the CheckForForceLogin middleware had been executed.

2 weeks agoRemove obsolete whitespaces
Marcel Werk [Mon, 23 Dec 2024 13:29:01 +0000 (14:29 +0100)]
Remove obsolete whitespaces

2 weeks agoMerge pull request #6127 from WoltLab/6.2-user-coverphoto
Olaf Braun [Mon, 23 Dec 2024 08:07:07 +0000 (09:07 +0100)]
Merge pull request #6127 from WoltLab/6.2-user-coverphoto

Use file processor for user cover photos

2 weeks agoRun `tsc`
Cyperghost [Mon, 23 Dec 2024 08:04:02 +0000 (09:04 +0100)]
Run `tsc`

2 weeks agoMerge branch '6.2' into 6.2-user-coverphoto
Cyperghost [Mon, 23 Dec 2024 08:02:45 +0000 (09:02 +0100)]
Merge branch '6.2' into 6.2-user-coverphoto

# Conflicts:
# com.woltlab.wcf/fileDelete.xml
# com.woltlab.wcf/objectType.xml
# wcfsetup/install/files/acp/database/update_com.woltlab.wcf_6.2.php
# wcfsetup/install/files/lib/data/user/UserProfile.class.php
# wcfsetup/install/files/lib/data/user/UserProfileAction.class.php
# wcfsetup/install/files/lib/data/user/UserProfileList.class.php
# wcfsetup/setup/db/install.sql

2 weeks agoMerge pull request #6051 from WoltLab/avatar-file-processor
Olaf Braun [Mon, 23 Dec 2024 07:58:50 +0000 (08:58 +0100)]
Merge pull request #6051 from WoltLab/avatar-file-processor

Use file processor for user avatar

2 weeks agoMerge pull request #6047 from WoltLab/file-upload-image-crop
Olaf Braun [Mon, 23 Dec 2024 07:56:57 +0000 (08:56 +0100)]
Merge pull request #6047 from WoltLab/file-upload-image-crop

File processor image cropping

2 weeks agoMerge pull request #6147 from WoltLab/61-user-card-details
Marcel Werk [Fri, 20 Dec 2024 15:55:20 +0000 (16:55 +0100)]
Merge pull request #6147 from WoltLab/61-user-card-details

Show last activity in user card

2 weeks agoCheck user online status during user rebuild
Marcel Werk [Fri, 20 Dec 2024 15:09:27 +0000 (16:09 +0100)]
Check user online status during user rebuild

The new method checks whether a user has restricted the visibility of their online status in the past, but has since lost the permission for it. In this case, the visibility of the online status is automatically set to default.

2 weeks agoRemove live-check of the `canHideOnlineStatus` permission
Marcel Werk [Fri, 20 Dec 2024 15:08:47 +0000 (16:08 +0100)]
Remove live-check of the `canHideOnlineStatus` permission

The live check means that the user's group assignments and permissions had to be loaded. This is particularly unfavorable in places where many users are displayed (such as the member list).

2 weeks agoShow last activity in user card
Marcel Werk [Fri, 20 Dec 2024 14:34:06 +0000 (15:34 +0100)]
Show last activity in user card

2 weeks agoDo not use `precise` anymore so that we only calculate with integers
Cyperghost [Fri, 20 Dec 2024 11:35:50 +0000 (12:35 +0100)]
Do not use `precise` anymore so that we only calculate with integers

2 weeks agoAdd the ability to report damaged images
Alexander Ebert [Fri, 20 Dec 2024 09:53:52 +0000 (10:53 +0100)]
Add the ability to report damaged images

2 weeks agouse `$change` instead of changing all values individually, for each value the `$chang...
Cyperghost [Fri, 20 Dec 2024 09:14:19 +0000 (10:14 +0100)]
use `$change` instead of changing all values individually, for each value the `$change` function was called

3 weeks agoReverse the event logic
Alexander Ebert [Thu, 19 Dec 2024 19:14:42 +0000 (20:14 +0100)]
Reverse the event logic

This also avoids calling into `$moveTo` from within the `change` event which could cause a nasty loop.

3 weeks agoClamp the values when the selection violates the boundaries
Alexander Ebert [Thu, 19 Dec 2024 18:04:52 +0000 (19:04 +0100)]
Clamp the values when the selection violates the boundaries

3 weeks agoMerge pull request #6139 from WoltLab/login-form-builder
Marcel Werk [Wed, 18 Dec 2024 12:04:12 +0000 (13:04 +0100)]
Merge pull request #6139 from WoltLab/login-form-builder

Migrate login form to a form builder form

3 weeks agoFind the exact size for the image or use the minimum size for the image
Cyperghost [Wed, 18 Dec 2024 10:59:15 +0000 (11:59 +0100)]
Find the exact size for the image or use the minimum size for the image

3 weeks agoFind the exact size for the image or use the minimum size for the image
Cyperghost [Wed, 18 Dec 2024 10:59:15 +0000 (11:59 +0100)]
Find the exact size for the image or use the minimum size for the image

3 weeks agoRemove round
Cyperghost [Wed, 18 Dec 2024 08:01:47 +0000 (09:01 +0100)]
Remove round
Limit to max width and height

3 weeks agoUpdate avatar in ACP live
Cyperghost [Wed, 18 Dec 2024 10:45:02 +0000 (11:45 +0100)]
Update avatar in ACP live

3 weeks agoFix crop cancel event handling
Cyperghost [Wed, 18 Dec 2024 10:12:34 +0000 (11:12 +0100)]
Fix crop cancel event handling

3 weeks agoNotify only when the value has really changed.
Cyperghost [Wed, 18 Dec 2024 09:53:22 +0000 (10:53 +0100)]
Notify only when the value has really changed.

3 weeks agoAdd a callback that is triggered when the value of a FileProcessorFormField is changed.
Cyperghost [Wed, 18 Dec 2024 09:31:14 +0000 (10:31 +0100)]
Add a callback that is triggered when the value of a FileProcessorFormField is changed.

3 weeks agoSet small thumbnail size to 800x200
Cyperghost [Wed, 18 Dec 2024 10:28:14 +0000 (11:28 +0100)]
Set small thumbnail size to 800x200

3 weeks agoUse `IUserCoverPhoto::getThumbnailURL()` in `userCard` template
Cyperghost [Wed, 18 Dec 2024 10:27:20 +0000 (11:27 +0100)]
Use `IUserCoverPhoto::getThumbnailURL()` in `userCard` template

3 weeks agoAdd `IUserCoverPhoto::getThumbnailURL()`
Cyperghost [Wed, 18 Dec 2024 10:27:00 +0000 (11:27 +0100)]
Add `IUserCoverPhoto::getThumbnailURL()`

3 weeks agoAdd thumbnail
Cyperghost [Wed, 18 Dec 2024 10:15:22 +0000 (11:15 +0100)]
Add thumbnail

3 weeks agoChange cover photo instantly when a new file is uploaded or deleted
Cyperghost [Wed, 18 Dec 2024 10:13:17 +0000 (11:13 +0100)]
Change cover photo instantly when a new file is uploaded or deleted

3 weeks agoFix crop cancel event handling
Cyperghost [Wed, 18 Dec 2024 10:12:34 +0000 (11:12 +0100)]
Fix crop cancel event handling

3 weeks agoNotify only when the value has really changed.
Cyperghost [Wed, 18 Dec 2024 09:53:22 +0000 (10:53 +0100)]
Notify only when the value has really changed.

3 weeks agoAdd a callback that is triggered when the value of a FileProcessorFormField is changed.
Cyperghost [Wed, 18 Dec 2024 09:31:14 +0000 (10:31 +0100)]
Add a callback that is triggered when the value of a FileProcessorFormField is changed.

3 weeks agoUnset `uploadResolve`
Cyperghost [Mon, 16 Dec 2024 12:13:59 +0000 (13:13 +0100)]
Unset `uploadResolve`

3 weeks agoDisplay thumbnail size by file processor
Cyperghost [Thu, 12 Dec 2024 14:24:35 +0000 (15:24 +0100)]
Display thumbnail size by file processor

3 weeks agoUse `simpleReplace()`
Cyperghost [Wed, 18 Dec 2024 08:09:00 +0000 (09:09 +0100)]
Use `simpleReplace()`

3 weeks agoAdd `simpleReplace` and `hideDeleteButton` to the `FileProcessorFormField`
Cyperghost [Thu, 12 Dec 2024 13:54:04 +0000 (14:54 +0100)]
Add `simpleReplace` and `hideDeleteButton` to the `FileProcessorFormField`

3 weeks agoMerge branch 'file-upload-image-crop' into 6.2-user-coverphoto
Cyperghost [Wed, 18 Dec 2024 08:03:03 +0000 (09:03 +0100)]
Merge branch 'file-upload-image-crop' into 6.2-user-coverphoto

3 weeks agoRemove round
Cyperghost [Wed, 18 Dec 2024 08:01:47 +0000 (09:01 +0100)]
Remove round
Limit to max width and height

3 weeks agoSimplified the login logic for the email fallback
Alexander Ebert [Tue, 17 Dec 2024 19:32:46 +0000 (20:32 +0100)]
Simplified the login logic for the email fallback

3 weeks agoMark `File::getRelativePath()` as public
Alexander Ebert [Tue, 17 Dec 2024 14:44:36 +0000 (15:44 +0100)]
Mark `File::getRelativePath()` as public

3 weeks agoMerge pull request #6145 from WoltLab/6.1-file-processor-delete-confirm
Olaf Braun [Mon, 16 Dec 2024 20:25:27 +0000 (21:25 +0100)]
Merge pull request #6145 from WoltLab/6.1-file-processor-delete-confirm

Ask the user if they really want to delete the file

3 weeks agoUnset `uploadResolve`
Cyperghost [Mon, 16 Dec 2024 12:13:59 +0000 (13:13 +0100)]
Unset `uploadResolve`

3 weeks agoMerge branch 'file-upload-image-crop' into avatar-file-processor
Cyperghost [Mon, 16 Dec 2024 11:54:04 +0000 (12:54 +0100)]
Merge branch 'file-upload-image-crop' into avatar-file-processor

# Conflicts:
# ts/WoltLabSuite/Core/Component/Image/Cropper.ts
# wcfsetup/install/files/js/WoltLabSuite/Core/Component/Image/Cropper.js

3 weeks agoMerge branch 'file-upload-image-crop' into 6.2-user-coverphoto
Cyperghost [Mon, 16 Dec 2024 11:52:28 +0000 (12:52 +0100)]
Merge branch 'file-upload-image-crop' into 6.2-user-coverphoto

3 weeks agoResize the image to the maximum that the browser can display in the dialog.
Cyperghost [Mon, 16 Dec 2024 11:51:46 +0000 (12:51 +0100)]
Resize the image to the maximum that the browser can display in the dialog.

3 weeks agoAdd the missing `hasFile()` method to `GenerateThumbnail`
Alexander Ebert [Sun, 15 Dec 2024 12:49:35 +0000 (13:49 +0100)]
Add the missing `hasFile()` method to `GenerateThumbnail`

3 weeks agoModify the API of the events to handle competing listeners
Alexander Ebert [Sun, 15 Dec 2024 12:34:56 +0000 (13:34 +0100)]
Modify the API of the events to handle competing listeners

The generated pathname can now only be set once and all further attempts are rejected. Listeners are expected to test this with `hasFile()` prior to taking any action.

3 weeks agoAdd events to delegate the WebP/thumbnail generation
Alexander Ebert [Sun, 15 Dec 2024 12:06:41 +0000 (13:06 +0100)]
Add events to delegate the WebP/thumbnail generation

This allows to bypass the image adapter when generating the WebP variant and the thumbnails.

3 weeks agoMake selection of the period in the statistics more flexible
Marcel Werk [Fri, 13 Dec 2024 11:36:27 +0000 (12:36 +0100)]
Make selection of the period in the statistics more flexible

3 weeks agoMerge pull request #6144 from WoltLab/6.2-recptcha-v3
Olaf Braun [Fri, 13 Dec 2024 09:28:33 +0000 (10:28 +0100)]
Merge pull request #6144 from WoltLab/6.2-recptcha-v3

ReCaptcha v3

3 weeks agoAdd removed `wcf.captcha.recaptchaInvisible.error.recaptchaString.false`
Cyperghost [Fri, 13 Dec 2024 09:25:52 +0000 (10:25 +0100)]
Add removed `wcf.captcha.recaptchaInvisible.error.recaptchaString.false`

4 weeks agoFix the handling of incorrectly nested BBCodes
Alexander Ebert [Thu, 12 Dec 2024 17:01:05 +0000 (18:01 +0100)]
Fix the handling of incorrectly nested BBCodes

See https://www.woltlab.com/community/thread/310145/

4 weeks agoDisplay thumbnail size by file processor
Cyperghost [Thu, 12 Dec 2024 14:24:35 +0000 (15:24 +0100)]
Display thumbnail size by file processor

4 weeks agoAdd `simpleReplace` and `hideDeleteButton` to the `FileProcessorFormField`
Cyperghost [Thu, 12 Dec 2024 13:54:04 +0000 (14:54 +0100)]
Add `simpleReplace` and `hideDeleteButton` to the `FileProcessorFormField`

4 weeks agoMove the logic to implicitly allow WebP images
Alexander Ebert [Thu, 12 Dec 2024 12:36:48 +0000 (13:36 +0100)]
Move the logic to implicitly allow WebP images

4 weeks agoUse `File::getFullSizeImageSource()` instead of `File::getLink()`
Cyperghost [Thu, 12 Dec 2024 11:06:44 +0000 (12:06 +0100)]
Use `File::getFullSizeImageSource()` instead of `File::getLink()`

4 weeks agoUse `File::getFullSizeImageSource()` instead of `File::getLink()`
Cyperghost [Thu, 12 Dec 2024 11:05:39 +0000 (12:05 +0100)]
Use `File::getFullSizeImageSource()` instead of `File::getLink()`

4 weeks agoUse the user profile header template
Cyperghost [Thu, 12 Dec 2024 11:01:12 +0000 (12:01 +0100)]
Use the user profile header template

4 weeks agoMerge branch 'file-upload-image-crop' into avatar-file-processor
Cyperghost [Thu, 12 Dec 2024 10:50:52 +0000 (11:50 +0100)]
Merge branch 'file-upload-image-crop' into avatar-file-processor

# Conflicts:
# com.woltlab.wcf/templates/user.tpl
# wcfsetup/install/files/lib/data/attachment/Attachment.class.php
# wcfsetup/install/lang/de.xml
# wcfsetup/install/lang/en.xml

4 weeks agoAsk the user if they really want to delete the file, the file will then be irrevocabl...
Cyperghost [Thu, 12 Dec 2024 10:28:11 +0000 (11:28 +0100)]
Ask the user if they really want to delete the file, the file will then be irrevocably deleted

4 weeks agoUse the user profile header template
Cyperghost [Thu, 12 Dec 2024 10:20:21 +0000 (11:20 +0100)]
Use the user profile header template