GitHub/WoltLab/WCF.git
3 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

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

See a1b75f8b9b9d6137434945bb8bea9518eddb48d3

3 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

3 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)

3 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

3 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

3 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`

3 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

3 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

3 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

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

3 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

3 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

3 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

3 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.

3 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

3 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

3 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.

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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/

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

3 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

3 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.

3 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

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

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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

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

3 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

3 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

3 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

3 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

3 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

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

see 3f6a261b1e6a3804370eb1e2a046ea6c666dbedd
see #3606

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

3 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.

3 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

3 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

3 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

3 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

3 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

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

3 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

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

3 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

3 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()

3 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

3 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

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

3 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.

3 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

3 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

3 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

3 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

3 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

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

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

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

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

3 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.

3 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

3 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

3 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

3 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

3 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`.

3 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

3 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…

3 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

3 years agoUpdate defaultStyle after migrating styles
Tim Düsterhus [Tue, 13 Oct 2020 09:58:01 +0000 (11:58 +0200)]
Update defaultStyle after migrating styles

It appears that importing the defaultStyle causes the style specific asset folder to be created, leading to issues with the style migration.

3 years agoMerge branch '5.2'
Matthias Schmidt [Mon, 12 Oct 2020 16:52:23 +0000 (18:52 +0200)]
Merge branch '5.2'

3 years agoFix add PIP entry via GUI if only delete element exists in XML file
Matthias Schmidt [Mon, 12 Oct 2020 16:51:54 +0000 (18:51 +0200)]
Fix add PIP entry via GUI if only delete element exists in XML file

Close #3599

3 years agoFix missing language item
Matthias Schmidt [Mon, 12 Oct 2020 16:37:11 +0000 (18:37 +0200)]
Fix missing language item

Close #3597

3 years agoMerge branch '5.2'
Alexander Ebert [Mon, 12 Oct 2020 16:10:59 +0000 (18:10 +0200)]
Merge branch '5.2'

3 years agoMerge pull request #3600 from WoltLab/exception-parse-alphanumeric-code
Alexander Ebert [Mon, 12 Oct 2020 16:10:32 +0000 (18:10 +0200)]
Merge pull request #3600 from WoltLab/exception-parse-alphanumeric-code

Support alphanumeric error code in ExceptionLogUtil::parseException()

3 years agoSupport alphanumeric error code in ExceptionLogUtil::parseException()
Tim Düsterhus [Mon, 12 Oct 2020 16:09:06 +0000 (18:09 +0200)]
Support alphanumeric error code in ExceptionLogUtil::parseException()

PDO error codes might contain letters.

3 years agoFix calling HTTPRequest::getReply() if the response is missing
Tim Düsterhus [Mon, 12 Oct 2020 11:38:32 +0000 (13:38 +0200)]
Fix calling HTTPRequest::getReply() if the response is missing

The only case where the response might be missing is if Guzzle fails to connect
to the remote server (ConnectException). Return default data that is consistent
with 5.2 in this case.

3 years agoMerge branch '5.2'
Alexander Ebert [Sun, 11 Oct 2020 11:42:16 +0000 (13:42 +0200)]
Merge branch '5.2'

3 years agoUse a literal string to avoid escaping
Alexander Ebert [Sun, 11 Oct 2020 11:42:03 +0000 (13:42 +0200)]
Use a literal string to avoid escaping

See #3595

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Sun, 11 Oct 2020 11:41:39 +0000 (13:41 +0200)]
Merge branch '3.1' into 5.2

3 years agoUse a literal string to avoid escaping
Alexander Ebert [Sun, 11 Oct 2020 11:41:20 +0000 (13:41 +0200)]
Use a literal string to avoid escaping

See #3595

3 years agoMerge pull request #3598 from WoltLab/php8_form_builder
Alexander Ebert [Sun, 11 Oct 2020 11:38:16 +0000 (13:38 +0200)]
Merge pull request #3598 from WoltLab/php8_form_builder

Fix deprecation warnings in form builder in PHP 8

3 years agoFix deprecation warnings in form builder in PHP 8
Matthias Schmidt [Sat, 10 Oct 2020 15:54:50 +0000 (17:54 +0200)]
Fix deprecation warnings in form builder in PHP 8

Close #3489

3 years agoUpdated the files archive 5.3.0_RC_1
Alexander Ebert [Sat, 10 Oct 2020 12:38:19 +0000 (14:38 +0200)]
Updated the files archive

3 years agoMerge pull request #3596 from WoltLab/guzzle-head-encoding-regression
Tim Düsterhus [Fri, 9 Oct 2020 14:16:22 +0000 (16:16 +0200)]
Merge pull request #3596 from WoltLab/guzzle-head-encoding-regression

Fix HEAD requests with `accept-encoding` header set