GitHub/WoltLab/WCF.git
6 weeks agoPrototype for the delegation of attachments to the file API
Alexander Ebert [Wed, 31 Jan 2024 16:24:09 +0000 (17:24 +0100)]
Prototype for the delegation of attachments to the file API

6 weeks agoAdd support for an extension based filter
Alexander Ebert [Sun, 28 Jan 2024 19:09:15 +0000 (20:09 +0100)]
Add support for an extension based filter

6 weeks agoImprove the error handling of the preflight request
Alexander Ebert [Sun, 28 Jan 2024 16:11:11 +0000 (17:11 +0100)]
Improve the error handling of the preflight request

6 weeks agoSimplify the handling of context data
Alexander Ebert [Sat, 27 Jan 2024 16:02:26 +0000 (17:02 +0100)]
Simplify the handling of context data

6 weeks agoAdd basic support for file processors
Alexander Ebert [Fri, 26 Jan 2024 17:00:25 +0000 (18:00 +0100)]
Add basic support for file processors

6 weeks agoWrite the chunks into the file directly
Alexander Ebert [Tue, 16 Jan 2024 16:24:40 +0000 (17:24 +0100)]
Write the chunks into the file directly

This avoids having to buffer the data into separate files which causes a lot of I/O when stitching the file together.

6 weeks agoTrack the number of uploaded chunks
Alexander Ebert [Tue, 16 Jan 2024 11:34:43 +0000 (12:34 +0100)]
Track the number of uploaded chunks

Allow for up to 255 chunks and track the state of each uploaded chunks. The `chunks` property is effectively a bitmap whose length represents the number of chunks

6 weeks agoConvert a temporary file into a persistent file
Alexander Ebert [Thu, 28 Dec 2023 17:00:52 +0000 (18:00 +0100)]
Convert a temporary file into a persistent file

6 weeks agoCreate the basic data structure for a persistent file
Alexander Ebert [Thu, 28 Dec 2023 16:21:56 +0000 (17:21 +0100)]
Create the basic data structure for a persistent file

6 weeks agoUse a single source of truth for temporary filenames
Alexander Ebert [Thu, 28 Dec 2023 16:01:54 +0000 (17:01 +0100)]
Use a single source of truth for temporary filenames

6 weeks agoAdd a proper DBO for the handling of temporary files
Alexander Ebert [Thu, 28 Dec 2023 15:37:34 +0000 (16:37 +0100)]
Add a proper DBO for the handling of temporary files

6 weeks agoDynamically calculate the chunk size
Alexander Ebert [Thu, 28 Dec 2023 12:24:59 +0000 (13:24 +0100)]
Dynamically calculate the chunk size

6 weeks agoRemove the unnecessary table `wcf1_file_chunk`
Alexander Ebert [Wed, 27 Dec 2023 17:06:10 +0000 (18:06 +0100)]
Remove the unnecessary table `wcf1_file_chunk`

There is no need to track each chunk because we can simply use the file system as the single source of truth.

6 weeks agoAdd SHA-256 checksums to the uploaded data
Alexander Ebert [Wed, 27 Dec 2023 16:54:10 +0000 (17:54 +0100)]
Add SHA-256 checksums to the uploaded data

6 weeks agoUse buffers to write uploaded files
Alexander Ebert [Tue, 26 Dec 2023 18:20:15 +0000 (19:20 +0100)]
Use buffers to write uploaded files

6 weeks agoImplement a naive chunked upload
Alexander Ebert [Tue, 26 Dec 2023 14:23:15 +0000 (15:23 +0100)]
Implement a naive chunked upload

6 weeks agoAdd PoC implementation for chunked uploads
Alexander Ebert [Mon, 25 Dec 2023 18:51:53 +0000 (19:51 +0100)]
Add PoC implementation for chunked uploads

6 weeks agoAdd support for blob requests
Alexander Ebert [Mon, 25 Dec 2023 18:51:18 +0000 (19:51 +0100)]
Add support for blob requests

6 weeks agoAdd the basic directory structure for the data storage
Alexander Ebert [Sun, 26 Nov 2023 14:36:59 +0000 (15:36 +0100)]
Add the basic directory structure for the data storage

6 weeks agoAdd the data structure for file chunks
Alexander Ebert [Mon, 25 Dec 2023 12:18:13 +0000 (13:18 +0100)]
Add the data structure for file chunks

6 weeks agoAdd a dark mode to the exception page
Alexander Ebert [Wed, 27 Mar 2024 22:55:18 +0000 (23:55 +0100)]
Add a dark mode to the exception page

6 weeks agoMove assignment of '__userAuthConfig'
Marcel Werk [Wed, 27 Mar 2024 16:26:39 +0000 (17:26 +0100)]
Move assignment of '__userAuthConfig'

The assignment must be made at a later point in the lifecycle, as otherwise it is not possible to change the configuration via an event.

6 weeks agoMerge pull request #5861 from WoltLab/user-authentication-config
Marcel Werk [Wed, 27 Mar 2024 10:28:27 +0000 (11:28 +0100)]
Merge pull request #5861 from WoltLab/user-authentication-config

User authentication configuration

6 weeks agoApplying the new configuration
Marcel Werk [Tue, 26 Mar 2024 17:17:06 +0000 (18:17 +0100)]
Applying the new configuration

6 weeks agoUser authentication configuration
Marcel Werk [Tue, 26 Mar 2024 17:16:18 +0000 (18:16 +0100)]
User authentication configuration

A central location for the configuration should make it easier to disable certain unwanted functions in SSO plugins.

6 weeks agoMerge pull request #5852 from WoltLab/moderation-notification-report
Olaf Braun [Mon, 25 Mar 2024 12:24:32 +0000 (13:24 +0100)]
Merge pull request #5852 from WoltLab/moderation-notification-report

Moderation notification report

6 weeks agoUpdate wcfsetup/install/files/lib/system/comment/manager/ICommentPermissionManager...
Olaf Braun [Mon, 25 Mar 2024 12:21:06 +0000 (13:21 +0100)]
Update wcfsetup/install/files/lib/system/comment/manager/ICommentPermissionManager.class.php

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
6 weeks agoAdd `.class` to file name
Cyperghost [Mon, 25 Mar 2024 10:12:39 +0000 (11:12 +0100)]
Add `.class` to file name

6 weeks agoUpdate code-style in `UserProfileCommentManager`
Cyperghost [Mon, 25 Mar 2024 10:11:06 +0000 (11:11 +0100)]
Update code-style in `UserProfileCommentManager`

6 weeks agoUpdate php doc for deprecation info
Cyperghost [Mon, 25 Mar 2024 10:08:34 +0000 (11:08 +0100)]
Update php doc for deprecation info

6 weeks agoUse runtime cache for article content
Cyperghost [Mon, 25 Mar 2024 10:07:00 +0000 (11:07 +0100)]
Use runtime cache for article content

6 weeks agoRun php-cs-fixer
Cyperghost [Mon, 25 Mar 2024 10:00:44 +0000 (11:00 +0100)]
Run php-cs-fixer

6 weeks agoImplement the new interface `ICommentPermissionManager` in the comment managers
Cyperghost [Mon, 25 Mar 2024 09:58:54 +0000 (10:58 +0100)]
Implement the new interface `ICommentPermissionManager` in the comment managers

6 weeks agoAdd new interface `ICommentPermissionManager`
Cyperghost [Mon, 25 Mar 2024 09:49:26 +0000 (10:49 +0100)]
Add new interface `ICommentPermissionManager`

7 weeks agoAdd `userID` to `$data` array
Cyperghost [Fri, 22 Mar 2024 11:38:29 +0000 (12:38 +0100)]
Add `userID` to `$data` array

7 weeks agoCorrect the check if user can access the profile
Cyperghost [Fri, 22 Mar 2024 11:35:30 +0000 (12:35 +0100)]
Correct the check if user can access the profile

7 weeks agoAllow `null` value
Cyperghost [Fri, 22 Mar 2024 11:18:31 +0000 (12:18 +0100)]
Allow `null` value

7 weeks agoAdded new function `canViewObject` to `ICommentManager` to check access to any object...
Cyperghost [Fri, 22 Mar 2024 11:16:51 +0000 (12:16 +0100)]
Added new function `canViewObject` to `ICommentManager` to check access to any object of comments.

7 weeks agoAdd `$user` parameter to `isAccessible` function in `Page`
Cyperghost [Fri, 22 Mar 2024 10:59:49 +0000 (11:59 +0100)]
Add `$user` parameter to `isAccessible` function in `Page`

7 weeks agoAdd `$userID` parameter to `isAccessible` in `UserProfile`
Cyperghost [Fri, 22 Mar 2024 10:50:51 +0000 (11:50 +0100)]
Add `$userID` parameter to `isAccessible` in `UserProfile`

7 weeks agoFix parent call
Cyperghost [Fri, 22 Mar 2024 10:34:57 +0000 (11:34 +0100)]
Fix parent call

7 weeks agoAdd `isAffectedUser` function the comment `AbstractCommentResponseModerationQueueHandler`
Cyperghost [Fri, 22 Mar 2024 10:33:56 +0000 (11:33 +0100)]
Add `isAffectedUser` function the comment `AbstractCommentResponseModerationQueueHandler`

7 weeks agoRevert "Allow the `SessionHandler` as `$user` parameter, too"
Cyperghost [Fri, 22 Mar 2024 10:31:34 +0000 (11:31 +0100)]
Revert "Allow the `SessionHandler` as `$user` parameter, too"

This reverts commit ee8b210549eb81e86ce76fb58db153936fb5a791.

7 weeks agoMerge pull request #5854 from WoltLab/force-login-middleware
Marcel Werk [Thu, 21 Mar 2024 16:55:45 +0000 (17:55 +0100)]
Merge pull request #5854 from WoltLab/force-login-middleware

Move check for `FORCE_LOGIN` into a Middleware

7 weeks agoApply "Force login" for users with pending activation
Marcel Werk [Thu, 21 Mar 2024 16:10:44 +0000 (17:10 +0100)]
Apply "Force login" for users with pending activation

7 weeks agoAdd exceptions for some actions
Marcel Werk [Thu, 21 Mar 2024 15:47:06 +0000 (16:47 +0100)]
Add exceptions for some actions

These actions are required for registration or general tasks.

7 weeks agoFix status code
Marcel Werk [Thu, 21 Mar 2024 15:31:55 +0000 (16:31 +0100)]
Fix status code

7 weeks agoAdd further variables to the language variables
Cyperghost [Thu, 21 Mar 2024 09:40:28 +0000 (10:40 +0100)]
Add further variables to the language variables

7 weeks agoUse new function `canModerateObject` to check if the user has permission to this...
Cyperghost [Thu, 21 Mar 2024 09:34:04 +0000 (10:34 +0100)]
Use new function `canModerateObject` to check if the user has permission to this moderation queue item

7 weeks agoAllow the `SessionHandler` as `$user` parameter, too
Cyperghost [Thu, 21 Mar 2024 09:33:07 +0000 (10:33 +0100)]
Allow the `SessionHandler` as `$user` parameter, too

7 weeks agoAdd new function `canModerateObject`to `ICommentManager`
Cyperghost [Thu, 21 Mar 2024 09:28:56 +0000 (10:28 +0100)]
Add new function `canModerateObject`to `ICommentManager`

7 weeks agoRevert "Add a user parameter to check whether the user is allowed to moderate this...
Cyperghost [Thu, 21 Mar 2024 09:19:17 +0000 (10:19 +0100)]
Revert "Add a user parameter to check whether the user is allowed to moderate this comment."

This reverts commit 8005d38adb57834864e7c7736193568d80d83813.

7 weeks agoImproved handling of AJAX requests
Marcel Werk [Wed, 20 Mar 2024 16:47:37 +0000 (17:47 +0100)]
Improved handling of AJAX requests

7 weeks agoMove check for `FORCE_LOGIN` into a Middleware
Marcel Werk [Wed, 20 Mar 2024 16:40:41 +0000 (17:40 +0100)]
Move check for `FORCE_LOGIN` into a Middleware

Closes #5853

7 weeks agoFix outdated allowed controller
Marcel Werk [Wed, 20 Mar 2024 16:14:19 +0000 (17:14 +0100)]
Fix outdated allowed controller

7 weeks agoRemove obsolete `dateModified` property
Marcel Werk [Wed, 20 Mar 2024 13:52:54 +0000 (14:52 +0100)]
Remove obsolete `dateModified` property

7 weeks agoChange `dateCreated` property to `datePublished`
Marcel Werk [Wed, 20 Mar 2024 13:47:12 +0000 (14:47 +0100)]
Change `dateCreated` property to `datePublished`

It seems that Google prefers `datePublished`.

7 weeks agoAssign user before sending notification
Cyperghost [Wed, 20 Mar 2024 13:16:48 +0000 (14:16 +0100)]
Assign user before sending notification

7 weeks agoAdd mail plain and html text
Cyperghost [Wed, 20 Mar 2024 13:05:19 +0000 (14:05 +0100)]
Add mail plain and html text

7 weeks agoCorrect plain text email template
Cyperghost [Wed, 20 Mar 2024 12:56:17 +0000 (13:56 +0100)]
Correct plain text email template

7 weeks agoAdd test notification
Cyperghost [Wed, 20 Mar 2024 12:42:35 +0000 (13:42 +0100)]
Add test notification

7 weeks agoUse function `ViewableModerationQueue::getViewableModerationQueue`
Cyperghost [Wed, 20 Mar 2024 12:26:10 +0000 (13:26 +0100)]
Use function `ViewableModerationQueue::getViewableModerationQueue`

7 weeks agoAdd notification message for reported content
Cyperghost [Wed, 20 Mar 2024 12:20:20 +0000 (13:20 +0100)]
Add notification message for reported content

7 weeks agoAdd title for notification
Cyperghost [Wed, 20 Mar 2024 11:53:07 +0000 (12:53 +0100)]
Add title for notification

7 weeks agoSet stackable to false(default)
Cyperghost [Wed, 20 Mar 2024 11:46:43 +0000 (12:46 +0100)]
Set stackable to false(default)

7 weeks agoFire notification report
Cyperghost [Wed, 20 Mar 2024 11:44:44 +0000 (12:44 +0100)]
Fire notification report

7 weeks agoAdd user notification for new reports
Cyperghost [Wed, 20 Mar 2024 11:41:34 +0000 (12:41 +0100)]
Add user notification for new reports

7 weeks agoAdd assert check
Cyperghost [Wed, 20 Mar 2024 11:30:50 +0000 (12:30 +0100)]
Add assert check

7 weeks agoUser array filter
Cyperghost [Wed, 20 Mar 2024 10:15:48 +0000 (11:15 +0100)]
User array filter

7 weeks agoAdd function to notify moderators about new reports
Cyperghost [Wed, 20 Mar 2024 10:14:24 +0000 (11:14 +0100)]
Add function to notify moderators about new reports

7 weeks agoOverride `isAffectedUser` for article
Cyperghost [Wed, 20 Mar 2024 10:04:46 +0000 (11:04 +0100)]
Override `isAffectedUser` for article

7 weeks agoOverride `isAffectedUser` for comments
Cyperghost [Wed, 20 Mar 2024 09:59:23 +0000 (10:59 +0100)]
Override `isAffectedUser` for comments

7 weeks agoAdd a user parameter to check whether the user is allowed to moderate this comment.
Cyperghost [Wed, 20 Mar 2024 09:56:14 +0000 (10:56 +0100)]
Add a user parameter to check whether the user is allowed to moderate this comment.

7 weeks agoAdd an empty upcast converter that handles custom bb-codes (#5851)
Olaf Braun [Tue, 19 Mar 2024 17:48:07 +0000 (18:48 +0100)]
Add an empty upcast converter that handles custom bb-codes (#5851)

* Add an empty upcast converter that handles custom bb-codes

* Update wcfsetup/install/files/lib/system/html/metacode/upcast/EmptyMetacodeUpcast.class.php

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
---------

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
7 weeks agoMerge pull request #5841 from WoltLab/rest-rpc-api
Alexander Ebert [Tue, 19 Mar 2024 17:19:39 +0000 (18:19 +0100)]
Merge pull request #5841 from WoltLab/rest-rpc-api

PoC: REST/RPC API

7 weeks agoRemove the previous controllers
Alexander Ebert [Tue, 19 Mar 2024 15:29:45 +0000 (16:29 +0100)]
Remove the previous controllers

Those are considered to be internal controllers and `DeleteSessionAction` behaves differently. Since the only consumers are internal components, it is safer to remove them than to risk them becoming out of sync

7 weeks agoRename the controller
Alexander Ebert [Tue, 19 Mar 2024 15:27:17 +0000 (16:27 +0100)]
Rename the controller

7 weeks agoAdd JsDoc comments to the components
Alexander Ebert [Sun, 17 Mar 2024 17:50:05 +0000 (18:50 +0100)]
Add JsDoc comments to the components

7 weeks agoImplement a cache for the router
Alexander Ebert [Sun, 17 Mar 2024 17:05:11 +0000 (18:05 +0100)]
Implement a cache for the router

7 weeks agoAdd PhpDoc headers to all components
Alexander Ebert [Sun, 17 Mar 2024 16:44:50 +0000 (17:44 +0100)]
Add PhpDoc headers to all components

7 weeks agoReject requests with a query shorter than 3 characters
Alexander Ebert [Sun, 17 Mar 2024 16:44:33 +0000 (17:44 +0100)]
Reject requests with a query shorter than 3 characters

7 weeks agoFix the casing of the enum
Alexander Ebert [Sun, 17 Mar 2024 15:50:04 +0000 (16:50 +0100)]
Fix the casing of the enum

7 weeks agoRebuild JS artifacts
Alexander Ebert [Sun, 17 Mar 2024 15:30:18 +0000 (16:30 +0100)]
Rebuild JS artifacts

7 weeks agoAdd a helper method to identify validation errors
Alexander Ebert [Sun, 17 Mar 2024 15:24:07 +0000 (16:24 +0100)]
Add a helper method to identify validation errors

8 weeks agoAdd an API wrapper for editor mentions
Alexander Ebert [Tue, 12 Mar 2024 16:28:55 +0000 (17:28 +0100)]
Add an API wrapper for editor mentions

8 weeks agoRemove an unnecessary assertion
Alexander Ebert [Tue, 12 Mar 2024 15:48:18 +0000 (16:48 +0100)]
Remove an unnecessary assertion

8 weeks agoAdd support for `DELETE` requests
Alexander Ebert [Tue, 12 Mar 2024 15:44:58 +0000 (16:44 +0100)]
Add support for `DELETE` requests

2 months agoMigrate the mentions to the new API endpoint
Alexander Ebert [Mon, 11 Mar 2024 15:36:34 +0000 (16:36 +0100)]
Migrate the mentions to the new API endpoint

2 months agoUpdate the shim for the editor suggestions
Alexander Ebert [Mon, 11 Mar 2024 15:33:36 +0000 (16:33 +0100)]
Update the shim for the editor suggestions

2 months agoAdd support for `DELETE` requests
Alexander Ebert [Mon, 11 Mar 2024 15:31:22 +0000 (16:31 +0100)]
Add support for `DELETE` requests

2 months agoAlways return a JSON response for errors
Alexander Ebert [Mon, 11 Mar 2024 15:29:34 +0000 (16:29 +0100)]
Always return a JSON response for errors

2 months agoRemove unused components
Alexander Ebert [Mon, 11 Mar 2024 13:02:24 +0000 (14:02 +0100)]
Remove unused components

2 months agoImplement a prototype based on `FastRoute`
Alexander Ebert [Mon, 11 Mar 2024 12:59:44 +0000 (13:59 +0100)]
Implement a prototype based on `FastRoute`

2 months agoRemove the `Assign` controller
Alexander Ebert [Mon, 11 Mar 2024 11:55:05 +0000 (12:55 +0100)]
Remove the `Assign` controller

2 months agoAdd nikic/FastRoute as a dependency
Alexander Ebert [Sun, 10 Mar 2024 23:05:14 +0000 (00:05 +0100)]
Add nikic/FastRoute as a dependency

2 months agoHydrate the parameters using a readonly struct
Alexander Ebert [Sun, 10 Mar 2024 14:19:02 +0000 (15:19 +0100)]
Hydrate the parameters using a readonly struct

2 months agoAdd automated parameter validation based on Valinor
Alexander Ebert [Sun, 10 Mar 2024 13:03:53 +0000 (14:03 +0100)]
Add automated parameter validation based on Valinor

2 months agoMigrate the endpoint for mention suggestions
Alexander Ebert [Sat, 9 Mar 2024 23:47:57 +0000 (00:47 +0100)]
Migrate the endpoint for mention suggestions

2 months agoAdd support for `GET` requests
Alexander Ebert [Sat, 9 Mar 2024 23:47:38 +0000 (00:47 +0100)]
Add support for `GET` requests

2 months agoUse a more specific exception to represent malformed controllers
Alexander Ebert [Sat, 9 Mar 2024 23:07:11 +0000 (00:07 +0100)]
Use a more specific exception to represent malformed controllers