GitHub/WoltLab/WCF.git
3 years agoSimplify selection of existing like objects in LikeRebuildDataWorker
Tim Düsterhus [Fri, 4 Dec 2020 14:59:43 +0000 (15:59 +0100)]
Simplify selection of existing like objects in LikeRebuildDataWorker

Since the previous commit it is expected that only a single objectTypeID is hit
per worker execution in the usual case, because all objects for a single
objectTypeID are processed before proceeding to the next objectTypeID. This
patch optimizes this case by sending a separate query per objectTypeID to fetch
the existing like objects instead of combining all the objects in a single
query.

This should help MySQL in optimizing the query, because the objectTypeID (which
is the first column in the UNIQUE KEY on wcf1_like_object) is fixed for a
single query and this is immediately obvious without needing to scan all the
tuples passed to the IN(…) condition.

In the general case the number of queries does not change. In the iterations
where the last objectID for an objectTypeID is reached two queries will be sent
instead of a single one. Those two combined should be more efficient that the
single old query, though.

3 years agoAllow LikeRebuildDataWorker to leverage the wcf1_like.objectTypeID key for sorting
Tim Düsterhus [Fri, 4 Dec 2020 14:52:10 +0000 (15:52 +0100)]
Allow LikeRebuildDataWorker to leverage the wcf1_like.objectTypeID key for sorting

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Tue, 1 Dec 2020 12:34:59 +0000 (13:34 +0100)]
Merge branch '3.1' into 5.2

3 years agoIncorrect version comparison for accessible packages
Alexander Ebert [Tue, 1 Dec 2020 12:32:47 +0000 (13:32 +0100)]
Incorrect version comparison for accessible packages

3 years agoUpdate the orphanedComments remark in package.xml
Tim Düsterhus [Wed, 25 Nov 2020 08:18:46 +0000 (09:18 +0100)]
Update the orphanedComments remark in package.xml

3 years agoMissing check for empty object ids 5.2.10
Alexander Ebert [Mon, 23 Nov 2020 15:11:56 +0000 (16:11 +0100)]
Missing check for empty object ids

3 years agoRelease 5.2.10
Alexander Ebert [Mon, 23 Nov 2020 13:43:06 +0000 (14:43 +0100)]
Release 5.2.10

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Mon, 23 Nov 2020 13:36:42 +0000 (14:36 +0100)]
Merge branch '3.1' into 5.2

3 years agoRelease 3.1.18 3.1.18
Alexander Ebert [Mon, 23 Nov 2020 13:29:11 +0000 (14:29 +0100)]
Release 3.1.18

3 years agoWhitelist `iterator_count` in enterprise mode
Tim Düsterhus [Mon, 23 Nov 2020 08:27:54 +0000 (09:27 +0100)]
Whitelist `iterator_count` in enterprise mode

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Sun, 22 Nov 2020 17:31:49 +0000 (18:31 +0100)]
Merge branch '3.1' into 5.2

3 years agoMerge pull request #3744 from Krymonota/patch-18
Alexander Ebert [Sun, 22 Nov 2020 16:58:44 +0000 (17:58 +0100)]
Merge pull request #3744 from Krymonota/patch-18

Add missing JSDoc to `EmailSmtpTest`

3 years agoMerge pull request #3745 from Krymonota/patch-19
Alexander Ebert [Sun, 22 Nov 2020 16:58:12 +0000 (17:58 +0100)]
Merge pull request #3745 from Krymonota/patch-19

Fix JSDoc module typo in `RewriteGenerator`

3 years agoFix point calculation for removing reactions from an object
joshuaruesweg [Sat, 21 Nov 2020 20:56:27 +0000 (21:56 +0100)]
Fix point calculation for removing reactions from an object

3 years agoFix JSDoc module typo in `RewriteGenerator`
Niklas [Sat, 21 Nov 2020 18:41:47 +0000 (19:41 +0100)]
Fix JSDoc module typo in `RewriteGenerator`

3 years agoAdd missing JSDoc to `EmailSmtpTest`
Niklas [Sat, 21 Nov 2020 18:39:56 +0000 (19:39 +0100)]
Add missing JSDoc to `EmailSmtpTest`

3 years agoUpdating minified JavaScript files
WoltLab [Fri, 20 Nov 2020 19:03:30 +0000 (19:03 +0000)]
Updating minified JavaScript files

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Fri, 20 Nov 2020 18:59:24 +0000 (19:59 +0100)]
Merge branch '3.1' into 5.2

3 years agoUpdating minified JavaScript files
WoltLab [Fri, 20 Nov 2020 18:06:23 +0000 (18:06 +0000)]
Updating minified JavaScript files

3 years agoWorkaround for a Chromium bug on Windows
Alexander Ebert [Fri, 20 Nov 2020 17:39:33 +0000 (18:39 +0100)]
Workaround for a Chromium bug on Windows

3 years agoClean up comments when removing moderation queues (#3740)
Alexander Ebert [Thu, 19 Nov 2020 18:24:52 +0000 (19:24 +0100)]
Clean up comments when removing moderation queues (#3740)

* Delete comments when moderation queues are being removed

See #3707

* Clean-up script for orphaned comments

* Use the `CommentHandler` to remove comments

* Apply suggestions from code review

Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com>
Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com>
3 years agoReplace the selector for the font-family in email_html.tpl
Tim Düsterhus [Thu, 19 Nov 2020 13:06:01 +0000 (14:06 +0100)]
Replace the selector for the font-family in email_html.tpl

The Emogrifier version used in 5.2 does not fully support all features
of the `:not()` selector. Depending on the environment the use of
`:not()` results in slightly different output. Specifically the number
of `:not()`s chained there caused the result to have a very large
specificity, possibly overriding the font-size of the headline tags.

Use `body, body *` instead, it will not put any useless CSS onto heading
tags and still catch all relevant elements. The biggest difference is
that the `<br>` tag will carry a `font-family` and `font-size`.

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Wed, 18 Nov 2020 19:01:46 +0000 (20:01 +0100)]
Merge branch '3.1' into 5.2

3 years agoMutable variable access inside a callback
Alexander Ebert [Wed, 18 Nov 2020 19:00:04 +0000 (20:00 +0100)]
Mutable variable access inside a callback

3 years agoMerge branch '3.1' into 5.2
Matthias Schmidt [Wed, 18 Nov 2020 16:32:41 +0000 (17:32 +0100)]
Merge branch '3.1' into 5.2

3 years agoFix ACL buttons when editing media files successively
Matthias Schmidt [Wed, 18 Nov 2020 16:32:21 +0000 (17:32 +0100)]
Fix ACL buttons when editing media files successively

Replaces 3a7740a3704339c79d08fd2f5094fa1a1973318b by backporting and using parts of 6ee58cd2865980cd7fa16a1f3ebc660131fc7fd6.

3 years agoRevert "Fix ACL buttons when editing media files successively"
Matthias Schmidt [Wed, 18 Nov 2020 16:26:26 +0000 (17:26 +0100)]
Revert "Fix ACL buttons when editing media files successively"

This reverts commit 3a7740a3704339c79d08fd2f5094fa1a1973318b.

3 years agoFix ACL buttons when editing media files successively
Matthias Schmidt [Wed, 18 Nov 2020 16:24:30 +0000 (17:24 +0100)]
Fix ACL buttons when editing media files successively

3 years agoFix file icon update after upload on media list page
Matthias Schmidt [Wed, 18 Nov 2020 15:28:18 +0000 (16:28 +0100)]
Fix file icon update after upload on media list page

3 years agoEncode HTML special chars in form builder's action
Tim Düsterhus [Tue, 17 Nov 2020 11:10:32 +0000 (12:10 +0100)]
Encode HTML special chars in form builder's action

3 years agoWorkaround for nested paragraphs after pasting in Firefox
Alexander Ebert [Thu, 12 Nov 2020 18:04:01 +0000 (19:04 +0100)]
Workaround for nested paragraphs after pasting in Firefox

3 years agoDisallow changing time support after setting value in `DateFormField`
Matthias Schmidt [Thu, 12 Nov 2020 16:30:28 +0000 (17:30 +0100)]
Disallow changing time support after setting value in `DateFormField`

3 years agoDelete FK logs after removing FKs due to column removal
Matthias Schmidt [Thu, 12 Nov 2020 15:07:33 +0000 (16:07 +0100)]
Delete FK logs after removing FKs due to column removal

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Thu, 12 Nov 2020 08:56:12 +0000 (09:56 +0100)]
Merge branch '3.1' into 5.2

3 years agoFix BBCodeHandler::setDisallowedBBCodes(...) PHPDoc (#3722)
Niklas [Thu, 12 Nov 2020 08:16:32 +0000 (09:16 +0100)]
Fix BBCodeHandler::setDisallowedBBCodes(...) PHPDoc (#3722)

3 years agoFix deleting obsolete nodes in form builder dependeny manager
Matthias Schmidt [Mon, 9 Nov 2020 13:08:14 +0000 (14:08 +0100)]
Fix deleting obsolete nodes in form builder dependeny manager

3 years agoMerge branch '3.1' into 5.2
Alexander Ebert [Sun, 8 Nov 2020 18:19:34 +0000 (19:19 +0100)]
Merge branch '3.1' into 5.2

3 years agoObsolete exclusion of the old ACP catpcha
Alexander Ebert [Sun, 8 Nov 2020 18:19:17 +0000 (19:19 +0100)]
Obsolete exclusion of the old ACP catpcha

This route does not exist anymore since WoltLab Suite 3.0.

3 years agoFix deleting obsolete nodes in form builder dependeny manager
Matthias Schmidt [Sat, 7 Nov 2020 09:15:20 +0000 (10:15 +0100)]
Fix deleting obsolete nodes in form builder dependeny manager

3 years agoUse native click event if available
Marcel Werk [Thu, 5 Nov 2020 22:05:15 +0000 (23:05 +0100)]
Use native click event if available

3 years agoMerge branch '3.1' into 5.2
Marcel Werk [Tue, 3 Nov 2020 18:41:50 +0000 (19:41 +0100)]
Merge branch '3.1' into 5.2

3 years agoBlock search keyword list if permissions for the search function are denied
Marcel Werk [Tue, 3 Nov 2020 18:41:31 +0000 (19:41 +0100)]
Block search keyword list if permissions for the search function are denied

Closes #3681

3 years agoFix `Ui/Poll/Editor._reset()`
Matthias Schmidt [Tue, 3 Nov 2020 14:50:45 +0000 (15:50 +0100)]
Fix `Ui/Poll/Editor._reset()`

3 years agoFix de.xml
Tim Düsterhus [Tue, 3 Nov 2020 13:30:18 +0000 (14:30 +0100)]
Fix de.xml

This fixes up commit 70746ece9789d3b2256495a788ae4875d01e95bc.

3 years agoFix typo in de.xml
Tim Düsterhus [Tue, 3 Nov 2020 13:26:13 +0000 (14:26 +0100)]
Fix typo in de.xml

3 years agoFix polls in AJAX form builder forms
Matthias Schmidt [Tue, 3 Nov 2020 10:14:08 +0000 (11:14 +0100)]
Fix polls in AJAX form builder forms

3 years agoAdd data and options getters in poll editor js module
Matthias Schmidt [Tue, 3 Nov 2020 10:13:14 +0000 (11:13 +0100)]
Add data and options getters in poll editor js module

3 years agoFire event if field is registered in form builder manager
Matthias Schmidt [Tue, 3 Nov 2020 10:12:30 +0000 (11:12 +0100)]
Fire event if field is registered in form builder manager

3 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

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

3 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

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

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

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

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 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 #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 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 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 '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 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 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 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 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 agoBackport CsrfTokenFunctionTemplatePlugin
Tim Düsterhus [Mon, 19 Oct 2020 12:58:39 +0000 (14:58 +0200)]
Backport CsrfTokenFunctionTemplatePlugin

see 3f6a261b1e6a3804370eb1e2a046ea6c666dbedd
see #3606

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 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 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 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 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 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 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 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 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 agoFix 'Undefined index: additionalData' in Box
Olaf Braun [Mon, 5 Oct 2020 12:05:24 +0000 (14:05 +0200)]
Fix 'Undefined index: additionalData' in Box

This error can be encountered when calling `new Box(123)` with
`123` not being the ID of a valid box.

Closes #3594