GitHub/WoltLab/WCF.git
4 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Mon, 2 Nov 2020 17:56:18 +0000 (18:56 +0100)]
Merge branch '5.2' into 5.3

4 years agoMerge branch '3.1' into 5.2
Matthias Schmidt [Mon, 2 Nov 2020 17:56:03 +0000 (18:56 +0100)]
Merge branch '3.1' into 5.2

4 years agoFix GDPR export if invalid user id is given
Matthias Schmidt [Mon, 2 Nov 2020 17:55:46 +0000 (18:55 +0100)]
Fix GDPR export if invalid user id is given

… and stop using deprecated method `UserProfile::getUserProfile()`.

4 years agoSupport moderation filters if no outstanding entries exist
Matthias Schmidt [Mon, 2 Nov 2020 15:40:35 +0000 (16:40 +0100)]
Support moderation filters if no outstanding entries exist

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Mon, 2 Nov 2020 09:40:56 +0000 (10:40 +0100)]
Merge branch '5.2' into 5.3

4 years agoWhitelist `version_compare` in enterprise mode
Tim Düsterhus [Mon, 2 Nov 2020 09:40:18 +0000 (10:40 +0100)]
Whitelist `version_compare` in enterprise mode

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 30 Oct 2020 11:47:08 +0000 (12:47 +0100)]
Merge branch '5.2' into 5.3

4 years agoExpired session during 3rd party auth led to a SystemException
Marcel Werk [Mon, 14 Sep 2020 12:31:34 +0000 (14:31 +0200)]
Expired session during 3rd party auth led to a SystemException

(cherry picked from commit da8b0e89fa9da82fc7965955e7c0639a65d6ac00)

4 years agoExpired session during google auth led to a SystemException
Marcel Werk [Mon, 14 Sep 2020 11:51:37 +0000 (13:51 +0200)]
Expired session during google auth led to a SystemException

(cherry picked from commit 740ece8da10177354ab904f9aeb6ea914741c025)

4 years agoMerge pull request #3663 from WoltLab/image-proxy-guzzle
Tim Düsterhus [Thu, 29 Oct 2020 14:12:35 +0000 (15:12 +0100)]
Merge pull request #3663 from WoltLab/image-proxy-guzzle

Use Guzzle directly in ImageProxyAction

4 years agoUse Guzzle directly in ImageProxyAction
Tim Düsterhus [Thu, 29 Oct 2020 09:22:51 +0000 (10:22 +0100)]
Use Guzzle directly in ImageProxyAction

This makes the Exception handling much cleaner.

Fixes #3660

4 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Wed, 28 Oct 2020 16:21:43 +0000 (17:21 +0100)]
Merge branch '5.2' into 5.3

4 years agoRemove obsolete TODO
Matthias Schmidt [Wed, 28 Oct 2020 16:21:28 +0000 (17:21 +0100)]
Remove obsolete TODO

4 years agoRemove obsolete TODO
Matthias Schmidt [Wed, 28 Oct 2020 16:02:17 +0000 (17:02 +0100)]
Remove obsolete TODO

4 years agoMerge branch '5.3' of github.com:WoltLab/WCF into 5.3
Matthias Schmidt [Wed, 28 Oct 2020 13:02:11 +0000 (14:02 +0100)]
Merge branch '5.3' of github.com:WoltLab/WCF into 5.3

4 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Wed, 28 Oct 2020 13:02:05 +0000 (14:02 +0100)]
Merge branch '5.2' into 5.3

4 years agoFix reading medias' `captionEnableHtml`
Matthias Schmidt [Wed, 28 Oct 2020 13:01:48 +0000 (14:01 +0100)]
Fix reading medias' `captionEnableHtml`

See a1b75f8b9b9d6137434945bb8bea9518eddb48d3

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 28 Oct 2020 13:01:12 +0000 (14:01 +0100)]
Merge branch '5.2' into 5.3

4 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Wed, 28 Oct 2020 08:48:09 +0000 (09:48 +0100)]
Merge branch '3.1' into 5.2

4 years agoFix class name in UserRegistrationUtil::__construct() PHPDoc (#3652)
Niklas [Wed, 28 Oct 2020 08:46:10 +0000 (09:46 +0100)]
Fix class name in UserRegistrationUtil::__construct() PHPDoc (#3652)

4 years agoRelease 5.3.0 RC 3 5.3.0_RC_3
Alexander Ebert [Tue, 27 Oct 2020 18:10:35 +0000 (19:10 +0100)]
Release 5.3.0 RC 3

4 years agoHide empty table after deleting last missing language item on page
Matthias Schmidt [Tue, 27 Oct 2020 17:06:36 +0000 (18:06 +0100)]
Hide empty table after deleting last missing language item on page

4 years agoRemove obsolete references to `missingLanguageItems.txt`
Matthias Schmidt [Tue, 27 Oct 2020 17:02:15 +0000 (18:02 +0100)]
Remove obsolete references to `missingLanguageItems.txt`

4 years agoFix possible "Invalid parameter number" error in UserStorageHandler
Tim Düsterhus [Tue, 27 Oct 2020 10:46:55 +0000 (11:46 +0100)]
Fix possible "Invalid parameter number" error in UserStorageHandler

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Mon, 26 Oct 2020 16:31:20 +0000 (17:31 +0100)]
Merge branch '5.2' into 5.3

4 years agoMerge pull request #3648 from WoltLab/actions
Tim Düsterhus [Mon, 26 Oct 2020 16:31:08 +0000 (17:31 +0100)]
Merge pull request #3648 from WoltLab/actions

Refactor Workflows

4 years agoAdd javascript workflow
Tim Düsterhus [Mon, 26 Oct 2020 15:53:33 +0000 (16:53 +0100)]
Add javascript workflow

4 years agoRename php-syntax workflow to php
Tim Düsterhus [Mon, 26 Oct 2020 15:53:17 +0000 (16:53 +0100)]
Rename php-syntax workflow to php

4 years agoAdjust human readable name for CodeSniffer check
Tim Düsterhus [Mon, 26 Oct 2020 16:02:03 +0000 (17:02 +0100)]
Adjust human readable name for CodeSniffer check

4 years agoMerge pull request #3646 from WoltLab/user-storage-refactor
Alexander Ebert [Mon, 26 Oct 2020 14:48:46 +0000 (15:48 +0100)]
Merge pull request #3646 from WoltLab/user-storage-refactor

Clean up user storage update logic

4 years agoClean up user storage update logic
Tim Düsterhus [Fri, 23 Oct 2020 10:33:15 +0000 (12:33 +0200)]
Clean up user storage update logic

This commit attempts to reduce the lock contention during user storage
shutdown. The user storage is a constant source of deadlocks and the update
logic grew increasingly ugly over the years in attempts to fix this.

While the previous situation was acceptable in that errors did not surface due
to the automated retries it still trashed any useful information within `SHOW
ENGINE InnoDB STATUS`, making debugging other deadlocks unnecessarily hard.

The new updating logic uses a single `log` array, indexed by user and field.
`null` values indicate a reset, non-`null` values are an update.

When shutting the user storage down the database will be updated with one
transaction per user, ensuring a consistent view for that user. In most
requests it is expected that only a single user (the current one) is being
updated anyway. Before actually performing the updates the row in wcf1_user for
that user is locked using a SELECT FOR UPDATE query. This should cause
concurrent requests to wait at the `SELECT`, which hopefully stops them from
obtaining any locks that the later DELETE / INSERT will need.

Just locking the `wcf1_user_storage` will not work as the lock cannot be
grabbed atomically. Instead MySQL locks all the matching rows one-by-one.
Locking the user is not ideal, but the update of the user storage should happen
pretty quickly which makes it acceptable.

4 years agoMerge branch '5.2' into 5.3
joshuaruesweg [Sat, 24 Oct 2020 13:52:10 +0000 (15:52 +0200)]
Merge branch '5.2' into 5.3

4 years agoMerge pull request #3644 from Krymonota/patch-14
Joshua Rüsweg [Sat, 24 Oct 2020 13:28:59 +0000 (15:28 +0200)]
Merge pull request #3644 from Krymonota/patch-14

Add like support check to comment responses

4 years agoAdd like support check to comment responses
Niklas [Sat, 24 Oct 2020 12:12:15 +0000 (14:12 +0200)]
Add like support check to comment responses

If the provided comment manager doesn't support likes, it's not possible to like comments, as can be seen here:

- https://github.com/WoltLab/WCF/blob/6747fe291c584d7c8295912f8d94297588d142b2/com.woltlab.wcf/templates/commentList.tpl#L59
- https://github.com/WoltLab/WCF/blob/6747fe291c584d7c8295912f8d94297588d142b2/com.woltlab.wcf/templates/commentList.tpl#L59

However, it's never checked for comment responses whether the comment manager supports likes. This results in the like button being displayed for comment responses, even though likes aren't supported.

4 years agoRelease 5.3.0 RC 3
Alexander Ebert [Fri, 23 Oct 2020 15:11:49 +0000 (17:11 +0200)]
Release 5.3.0 RC 3

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 23 Oct 2020 12:48:41 +0000 (14:48 +0200)]
Merge branch '5.2' into 5.3

4 years agoMerge pull request #3612 from WoltLab/csrf-token-template-backport
Tim Düsterhus [Fri, 23 Oct 2020 12:47:06 +0000 (14:47 +0200)]
Merge pull request #3612 from WoltLab/csrf-token-template-backport

Backport CsrfTokenFunctionTemplatePlugin

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 23 Oct 2020 10:50:23 +0000 (12:50 +0200)]
Merge branch '5.2' into 5.3

4 years agoWhitelist `get_class` in enterprise mode
Tim Düsterhus [Fri, 23 Oct 2020 10:49:54 +0000 (12:49 +0200)]
Whitelist `get_class` in enterprise mode

4 years agoMerge branch '5.2' into 5.3
Alexander Ebert [Wed, 21 Oct 2020 16:20:23 +0000 (18:20 +0200)]
Merge branch '5.2' into 5.3

4 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Wed, 21 Oct 2020 16:20:06 +0000 (18:20 +0200)]
Merge branch '3.1' into 5.2

4 years agoIgnore top-level node_modules/
Tim Düsterhus [Fri, 16 Oct 2020 11:57:29 +0000 (13:57 +0200)]
Ignore top-level node_modules/

4 years agoUpdating minified JavaScript files
WoltLab [Wed, 21 Oct 2020 15:07:48 +0000 (15:07 +0000)]
Updating minified JavaScript files

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 21 Oct 2020 13:42:15 +0000 (15:42 +0200)]
Merge branch '5.2' into 5.3

4 years agoLimit workflows to release branches
Tim Düsterhus [Wed, 21 Oct 2020 13:39:04 +0000 (15:39 +0200)]
Limit workflows to release branches

Features branches will be tested using a PR.

4 years agoMerge pull request #3622 from WoltLab/workflow-style
Tim Düsterhus [Wed, 21 Oct 2020 13:37:16 +0000 (15:37 +0200)]
Merge pull request #3622 from WoltLab/workflow-style

Add codestyle workflow

4 years agoAdd codestyle workflow
Tim Düsterhus [Wed, 21 Oct 2020 13:03:35 +0000 (15:03 +0200)]
Add codestyle workflow

4 years agoAdd .phpcs.xml
Tim Düsterhus [Wed, 21 Oct 2020 13:18:26 +0000 (15:18 +0200)]
Add .phpcs.xml

4 years agoMerge pull request #3617 from WoltLab/formbuilder-php8
Tim Düsterhus [Wed, 21 Oct 2020 13:13:28 +0000 (15:13 +0200)]
Merge pull request #3617 from WoltLab/formbuilder-php8

Fix PHP 8 support in form builder

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 21 Oct 2020 12:46:52 +0000 (14:46 +0200)]
Merge branch '5.2' into 5.3

4 years agoTighten up the code style a bit
Tim Düsterhus [Wed, 21 Oct 2020 12:46:13 +0000 (14:46 +0200)]
Tighten up the code style a bit

4 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 21 Oct 2020 10:08:22 +0000 (12:08 +0200)]
Merge branch '5.2' into 5.3

4 years agoMerge pull request #3620 from WoltLab/php-syntax-action
Tim Düsterhus [Wed, 21 Oct 2020 10:07:35 +0000 (12:07 +0200)]
Merge pull request #3620 from WoltLab/php-syntax-action

Add php-syntax workflow

4 years agoPin the setup-php action to v2 instead of 2.7.0
Tim Düsterhus [Wed, 21 Oct 2020 08:40:18 +0000 (10:40 +0200)]
Pin the setup-php action to v2 instead of 2.7.0

4 years agoIgnore errors in HTMLPurifier*.autoload-legacy.php
Tim Düsterhus [Wed, 21 Oct 2020 08:35:20 +0000 (10:35 +0200)]
Ignore errors in HTMLPurifier*.autoload-legacy.php

4 years agoFix PHP 8 syntax in DirectoryUtil
Tim Düsterhus [Wed, 21 Oct 2020 08:33:38 +0000 (10:33 +0200)]
Fix PHP 8 syntax in DirectoryUtil

4 years agoRemove PHP syntax check from Travis CI
Tim Düsterhus [Wed, 21 Oct 2020 08:31:58 +0000 (10:31 +0200)]
Remove PHP syntax check from Travis CI

4 years agoSuppress "No Syntax errors detected" output
Tim Düsterhus [Wed, 21 Oct 2020 08:09:44 +0000 (10:09 +0200)]
Suppress "No Syntax errors detected" output

4 years agoAdd php-syntax problem matcher
Tim Düsterhus [Wed, 21 Oct 2020 07:46:50 +0000 (09:46 +0200)]
Add php-syntax problem matcher

4 years agoAdd php-syntax Workflow
Tim Düsterhus [Wed, 21 Oct 2020 07:38:08 +0000 (09:38 +0200)]
Add php-syntax Workflow

4 years agoDisabled the sticky code box header inside dialogs
Alexander Ebert [Tue, 20 Oct 2020 15:11:40 +0000 (17:11 +0200)]
Disabled the sticky code box header inside dialogs

4 years agoSlightly reduced the horizontal padding of `<kbd>` on smaller screens
Alexander Ebert [Tue, 20 Oct 2020 14:45:21 +0000 (16:45 +0200)]
Slightly reduced the horizontal padding of `<kbd>` on smaller screens

4 years agoMerge pull request #3614 from WoltLab/invalidateMailForm-error
Tim Düsterhus [Tue, 20 Oct 2020 12:08:43 +0000 (14:08 +0200)]
Merge pull request #3614 from WoltLab/invalidateMailForm-error

Do not ignore errors in invalidateMailForm update script

4 years agoFix PHP 8 support in form builder
Tim Düsterhus [Tue, 20 Oct 2020 10:02:22 +0000 (12:02 +0200)]
Fix PHP 8 support in form builder

> Message: Method ReflectionParameter::getClass() is deprecated

Fixes #3489

4 years agoHandle http://ns.adobe.com/xmp/extension/ in ExifUtil
Tim Düsterhus [Tue, 20 Oct 2020 08:56:33 +0000 (10:56 +0200)]
Handle ns.adobe.com/xmp/extension/ in ExifUtil

Resolves #3616

4 years agoBackport CsrfTokenFunctionTemplatePlugin
Tim Düsterhus [Mon, 19 Oct 2020 12:58:39 +0000 (14:58 +0200)]
Backport CsrfTokenFunctionTemplatePlugin

see 3f6a261b1e6a3804370eb1e2a046ea6c666dbedd
see #3606

4 years agoMerge branch '5.2'
Alexander Ebert [Mon, 19 Oct 2020 13:59:12 +0000 (15:59 +0200)]
Merge branch '5.2'

4 years agoRevert "Fix deprecation warnings in form builder in PHP 8"
Alexander Ebert [Mon, 19 Oct 2020 13:58:54 +0000 (15:58 +0200)]
Revert "Fix deprecation warnings in form builder in PHP 8"

This reverts commit 624e3dd0b234c4bab3e537173421045c7c82590c.

4 years agoFix endless loop in removeExifData when the APP1 signature does not match
Tim Düsterhus [Mon, 19 Oct 2020 13:32:05 +0000 (15:32 +0200)]
Fix endless loop in removeExifData when the APP1 signature does not match

4 years agoDo not ignore errors in invalidateMailForm update script
Tim Düsterhus [Mon, 19 Oct 2020 13:09:06 +0000 (15:09 +0200)]
Do not ignore errors in invalidateMailForm update script

Fixes #3613

4 years agoMerge branch '5.2' into master
Tim Düsterhus [Mon, 19 Oct 2020 11:37:12 +0000 (13:37 +0200)]
Merge branch '5.2' into master

4 years agoIgnore symlink creation failures in DebugFolderEmailTransport
Tim Düsterhus [Mon, 19 Oct 2020 11:36:07 +0000 (13:36 +0200)]
Ignore symlink creation failures in DebugFolderEmailTransport

4 years agoRelease 5.3.0 RC 2 5.3.0_RC_2
Alexander Ebert [Sat, 17 Oct 2020 22:47:03 +0000 (00:47 +0200)]
Release 5.3.0 RC 2

4 years agoMerge branch '5.2'
Matthias Schmidt [Sat, 17 Oct 2020 14:37:15 +0000 (16:37 +0200)]
Merge branch '5.2'

4 years agoFix updating action of foreign key
Matthias Schmidt [Sat, 17 Oct 2020 14:36:53 +0000 (16:36 +0200)]
Fix updating action of foreign key

Close #3610

4 years agoUpdating minified JavaScript files
root [Sat, 17 Oct 2020 12:35:39 +0000 (12:35 +0000)]
Updating minified JavaScript files

4 years agoUse the overhauled notification settings in the admin panel
Alexander Ebert [Sat, 17 Oct 2020 12:04:48 +0000 (14:04 +0200)]
Use the overhauled notification settings in the admin panel

4 years agoUse \hash_equals in CryptoUtil::validateSignedString()
Tim Düsterhus [Wed, 14 Oct 2020 09:24:23 +0000 (11:24 +0200)]
Use \hash_equals in CryptoUtil::validateSignedString()

4 years agoMerge pull request #3607 from WoltLab/import-user-group-option-value
Tim Düsterhus [Thu, 15 Oct 2020 10:53:30 +0000 (12:53 +0200)]
Merge pull request #3607 from WoltLab/import-user-group-option-value

Create user group option values during group import

4 years agoMerge branch '5.2' into master
Tim Düsterhus [Thu, 15 Oct 2020 09:31:36 +0000 (11:31 +0200)]
Merge branch '5.2' into master

4 years agoFixed parameter validation of 'captionEnableHtml'
Marcel Werk [Thu, 15 Oct 2020 09:10:50 +0000 (11:10 +0200)]
Fixed parameter validation of 'captionEnableHtml'

4 years agoFix handling of default headers in HttpFactory::makeClient()
Tim Düsterhus [Thu, 15 Oct 2020 08:56:44 +0000 (10:56 +0200)]
Fix handling of default headers in HttpFactory::makeClient()

If a `headers` array is given the default user agent would not be applied, even
if the `user-agent` key is not part of the `headers` that are given. This
caused Guzzle to use its default user agent.

4 years agoCreate user group option values during group import
Tim Düsterhus [Thu, 15 Oct 2020 08:34:56 +0000 (10:34 +0200)]
Create user group option values during group import

Resolves #3534

4 years agoLog NamedUserException to the console when running in debug mode
Alexander Ebert [Wed, 14 Oct 2020 16:47:16 +0000 (18:47 +0200)]
Log NamedUserException to the console when running in debug mode

Closes #3541

4 years agoMerge pull request #3605 from WoltLab/recommend-curl
Tim Düsterhus [Wed, 14 Oct 2020 12:26:09 +0000 (14:26 +0200)]
Merge pull request #3605 from WoltLab/recommend-curl

Recommend cURL during WCFSetup

4 years agoRecommend cURL during WCFSetup
Tim Düsterhus [Wed, 14 Oct 2020 11:41:38 +0000 (13:41 +0200)]
Recommend cURL during WCFSetup

Resolves #3601

4 years agoMerge pull request #3604 from ChristopherWalz/master
Marcel Werk [Wed, 14 Oct 2020 10:25:55 +0000 (12:25 +0200)]
Merge pull request #3604 from ChristopherWalz/master

Add DatabaseObjectList::setConditionBuilder

4 years agoAdd DatabaseObjectList::setConditionBuilder
Christopher Walz [Wed, 14 Oct 2020 10:16:53 +0000 (12:16 +0200)]
Add DatabaseObjectList::setConditionBuilder

4 years agoMerge branch '5.2'
Marcel Werk [Wed, 14 Oct 2020 09:06:37 +0000 (11:06 +0200)]
Merge branch '5.2'

4 years agoAdded link to new manual
Marcel Werk [Wed, 14 Oct 2020 09:06:14 +0000 (11:06 +0200)]
Added link to new manual

4 years agoMerge branch '5.2'
Alexander Ebert [Tue, 13 Oct 2020 16:03:47 +0000 (18:03 +0200)]
Merge branch '5.2'

4 years agoSuppress the edit button for boxes on touch devices
Alexander Ebert [Tue, 13 Oct 2020 16:03:33 +0000 (18:03 +0200)]
Suppress the edit button for boxes on touch devices

The first tap on the box will trigger the hover, preventing any other elements, such as links, from responding.

4 years agoPrevent the official servers from being disabled
Alexander Ebert [Tue, 13 Oct 2020 14:10:10 +0000 (16:10 +0200)]
Prevent the official servers from being disabled

4 years agoPrepared an update script for the missing database columns in 5.3.0 RC 1
Alexander Ebert [Tue, 13 Oct 2020 13:10:34 +0000 (15:10 +0200)]
Prepared an update script for the missing database columns in 5.3.0 RC 1

4 years agoUpdated the files for the pre upgrade deployment
Alexander Ebert [Tue, 13 Oct 2020 12:59:42 +0000 (14:59 +0200)]
Updated the files for the pre upgrade deployment

4 years agoMySQL 5.7 does not support the syntax for non-capturing groups
Alexander Ebert [Tue, 13 Oct 2020 11:26:48 +0000 (13:26 +0200)]
MySQL 5.7 does not support the syntax for non-capturing groups

4 years agoUse `display: inline-table` to mimic the previous behavior
Alexander Ebert [Tue, 13 Oct 2020 11:25:13 +0000 (13:25 +0200)]
Use `display: inline-table` to mimic the previous behavior

The commit 9b6a008c7c15ce8fb61e45f6e592421af9c3dc54 introduced `table` instead of `inline-block`.

4 years agoMerge pull request #3602 from WoltLab/53-update-style
Tim Düsterhus [Tue, 13 Oct 2020 11:03:35 +0000 (13:03 +0200)]
Merge pull request #3602 from WoltLab/53-update-style

Update defaultStyle after migrating styles

4 years agoMerge pull request #3603 from WoltLab/exception-parse-invalid-stack
Tim Düsterhus [Tue, 13 Oct 2020 10:45:23 +0000 (12:45 +0200)]
Merge pull request #3603 from WoltLab/exception-parse-invalid-stack

Convert exceptions during stack trace parsing to InvalidArgumentExcep…

4 years agoConvert exceptions during stack trace parsing to InvalidArgumentException
Tim Düsterhus [Tue, 13 Oct 2020 10:13:22 +0000 (12:13 +0200)]
Convert exceptions during stack trace parsing to InvalidArgumentException