Tim Düsterhus [Wed, 16 Mar 2022 16:56:10 +0000 (17:56 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 16 Mar 2022 16:55:20 +0000 (17:55 +0100)]
Escape HTML in the filename of the progress indicator during attachment upload
Marcel Werk [Wed, 16 Mar 2022 10:20:11 +0000 (11:20 +0100)]
An array as query string resulted in an error
joshuaruesweg [Wed, 16 Mar 2022 08:28:37 +0000 (09:28 +0100)]
Remove `Template.grammar.jison`
joshuaruesweg [Wed, 16 Mar 2022 08:24:48 +0000 (09:24 +0100)]
Delete old JS dir, before recompile TS
This ensures, that there are no superfluous files commited in the JS dir.
Tim Düsterhus [Wed, 16 Mar 2022 08:02:41 +0000 (09:02 +0100)]
Merge pull request #4702 from WoltLab/5.4-unfurl-charset
Catch `ValueError` while convert encoding
joshuaruesweg [Tue, 15 Mar 2022 18:00:53 +0000 (19:00 +0100)]
Catch `ValueError` while convert encoding
Since PHP 8.0 the function `mb_convert_encoding` throws an `ValueError` if the given charset is unknown. Prior to this, a PHP notice is thrown.
Fixes #4697
Alexander Ebert [Tue, 15 Mar 2022 17:12:54 +0000 (18:12 +0100)]
Release 5.4.15 dev 2
Tim Düsterhus [Tue, 15 Mar 2022 15:31:19 +0000 (16:31 +0100)]
Merge pull request #4701 from WoltLab/mysql-search-plus-min-token
Do not add the `+` prefix to search terms shorter than InnoDB's ft_min_token_size
Tim Düsterhus [Tue, 15 Mar 2022 14:40:39 +0000 (15:40 +0100)]
Do not add the `+` prefix to search terms shorter than InnoDB's ft_min_token_size
see https://www.woltlab.com/community/thread/294842-suchindex-richtig-vorbereiten/
Tim Düsterhus [Tue, 15 Mar 2022 14:39:53 +0000 (15:39 +0100)]
Add MysqlSearchEngine::getMinTokenSize() as a replacement for getFulltextMinimumWordLength()
This new method is private, because it is considered an implementation detail.
Marcel Werk [Mon, 14 Mar 2022 09:30:12 +0000 (10:30 +0100)]
Merge branch '5.3' into 5.4
Marcel Werk [Mon, 14 Mar 2022 09:27:14 +0000 (10:27 +0100)]
Only revert points when revoking a reaction
Tim Düsterhus [Fri, 11 Mar 2022 09:08:41 +0000 (10:08 +0100)]
Use explicit `return null` in DatabaseObjectList::search()
Tim Düsterhus [Thu, 10 Mar 2022 16:30:13 +0000 (17:30 +0100)]
Merge pull request #4699 from WoltLab/ds-store
Rerun the .DS_Store deletion script
Alexander Ebert [Thu, 10 Mar 2022 16:08:07 +0000 (17:08 +0100)]
Gracefully handle integers exceeding 32bit
See https://www.woltlab.com/community/thread/294731-profilfeld-wert-integer/
Tim Düsterhus [Thu, 10 Mar 2022 14:47:57 +0000 (15:47 +0100)]
Rerun the .DS_Store deletion script
Apparently some installations still contain .DS_Store files assigned to
official packages. These might come from 5.3 installations that were
immediately upgraded to 5.4.4 or higher, without going through 5.4.3.
see
2bd8c2dba79878269981aac94c1ad51e94b2308e
Alexander Ebert [Thu, 10 Mar 2022 11:48:11 +0000 (12:48 +0100)]
Release 5.4.15 dev 1
WoltLab [Thu, 10 Mar 2022 10:45:53 +0000 (10:45 +0000)]
Updating minified JavaScript files
Alexander Ebert [Wed, 9 Mar 2022 18:28:07 +0000 (19:28 +0100)]
Set `toFloat()` to `protected` for compatibility
Alexander Ebert [Wed, 9 Mar 2022 18:06:45 +0000 (19:06 +0100)]
Missing conversion of localized search values
Fixes https://www.woltlab.com/community/thread/294505-eingabefeld-profilfeld-dezimalzeichen-problem/
Alexander Ebert [Wed, 9 Mar 2022 18:05:41 +0000 (19:05 +0100)]
Moved the conversion of localized values to floats
Alexander Ebert [Wed, 9 Mar 2022 16:50:23 +0000 (17:50 +0100)]
Show the erroneous tab on submit
Fixes https://www.woltlab.com/community/thread/294204-meldung-bei-nicht-erfolgreichem-box-speichern-wegen-quellcode-modus/
Alexander Ebert [Wed, 9 Mar 2022 16:19:40 +0000 (17:19 +0100)]
Workaround for the selection of the quote tooltip
Fixes https://www.woltlab.com/community/thread/294684-sprung-zum-seitenanfang-beim-markieren-auf-mobilen-ger%C3%A4ten/
Alexander Ebert [Wed, 9 Mar 2022 15:14:14 +0000 (16:14 +0100)]
Improved the UX for page object id suggestions
See https://www.woltlab.com/community/thread/294550-men%C3%BCpunkt-mit-artikelbezug-artikel-id-heraussuchen-klick-%C3%B6ffnet-artikel/
Tim Düsterhus [Wed, 9 Mar 2022 14:23:47 +0000 (15:23 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 9 Mar 2022 14:16:41 +0000 (15:16 +0100)]
Upgrade to `actions/checkout@v3`
Tim Düsterhus [Wed, 9 Mar 2022 14:14:53 +0000 (15:14 +0100)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Wed, 9 Mar 2022 14:14:35 +0000 (15:14 +0100)]
Upgrade to `actions/checkout@v3`
Tim Düsterhus [Wed, 9 Mar 2022 13:44:09 +0000 (14:44 +0100)]
Update npm dependencies
Tim Düsterhus [Wed, 9 Mar 2022 13:08:53 +0000 (14:08 +0100)]
Add missing space in indentation in LikeAction
Tim Düsterhus [Wed, 9 Mar 2022 12:55:24 +0000 (13:55 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 9 Mar 2022 12:49:18 +0000 (13:49 +0100)]
Validate the `pageNo` in UserTrophyAction::validateGetGroupedUserTrophyList()
Tim Düsterhus [Wed, 9 Mar 2022 12:48:52 +0000 (13:48 +0100)]
Validate that the userID matches a user in UserFollowingAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 12:48:19 +0000 (13:48 +0100)]
Validate the `pageNo` in UserFollowingAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 12:47:42 +0000 (13:47 +0100)]
Validate that the userID matches a user in UserFollowAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 12:47:01 +0000 (13:47 +0100)]
Validate the `pageNo` in UserFollowAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 12:46:29 +0000 (13:46 +0100)]
Validate the `pageNo` in MediaAction::validateGetSearchResultList()
Tim Düsterhus [Wed, 9 Mar 2022 12:45:45 +0000 (13:45 +0100)]
Validate the `pageNo` in LikeAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 12:45:05 +0000 (13:45 +0100)]
Validate the `pageNo` in UserProfileVisitorAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 11:19:20 +0000 (12:19 +0100)]
Validate the limit and offset in Database::handleLimitParameter()
Tim Düsterhus [Wed, 9 Mar 2022 09:46:52 +0000 (10:46 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 9 Mar 2022 09:40:02 +0000 (10:40 +0100)]
Simplify condition in UserTrophyAction::validateGetGroupedUserTrophyList()
Tim Düsterhus [Wed, 9 Mar 2022 09:39:36 +0000 (10:39 +0100)]
Validate that the userID matches a user in UserTrophyAction::validateGetGroupedUserTrophyList()
Tim Düsterhus [Wed, 9 Mar 2022 09:38:04 +0000 (10:38 +0100)]
Validate that the userID matches a user in UserProfileVisitorAction::validateGetGroupedUserList()
Tim Düsterhus [Wed, 9 Mar 2022 09:33:51 +0000 (10:33 +0100)]
Fix typing of RuntimeCache's getObject() method
Alexander Ebert [Tue, 8 Mar 2022 18:12:26 +0000 (19:12 +0100)]
Disabled `input[type="date"]` were not initialized
See https://www.woltlab.com/community/thread/294503-ansicht-bei-einem-datumsfeld-fehlerhaft-plus-konsolenfehler-disabled/
Alexander Ebert [Tue, 8 Mar 2022 13:43:23 +0000 (14:43 +0100)]
`Escape` key now triggers `onBeforeClose`
See https://www.woltlab.com/community/thread/294772-closeconfirmmessage-onbeforeclose-bei-esc-taste/
Tim Düsterhus [Tue, 8 Mar 2022 09:07:32 +0000 (10:07 +0100)]
Fix PHP 8.1 compatibility when editing groups with NULL description
This can happen for the groups that are created during initial installation.
see #4694
Tim Düsterhus [Tue, 8 Mar 2022 09:05:27 +0000 (10:05 +0100)]
Create the initial user groups with explicit descriptions
Tim Düsterhus [Tue, 8 Mar 2022 08:59:46 +0000 (09:59 +0100)]
Correctly handle missing requirements without minversion in dev tools
Marcel Werk [Mon, 7 Mar 2022 17:51:02 +0000 (18:51 +0100)]
Indentation in label group availability was too large
Marcel Werk [Mon, 7 Mar 2022 17:45:39 +0000 (18:45 +0100)]
Label group availability could not be configured for deeper categories
Tim Düsterhus [Mon, 7 Mar 2022 09:37:35 +0000 (10:37 +0100)]
Fix PHP 8.1 compatibility in SignatureCache
> Message: preg_replace_callback(): Passing null to parameter #3 ($subject) of
> type array|string is deprecated
Alexander Ebert [Thu, 3 Mar 2022 18:38:04 +0000 (19:38 +0100)]
Restoring the selection immediately discarded it
See https://www.woltlab.com/community/thread/294654-links-werden-vom-editor-aus-dem-text-direkt-nach-ganz-oben-verschoben/
joshuaruesweg [Thu, 3 Mar 2022 12:59:02 +0000 (13:59 +0100)]
Merge branch '5.3'
joshuaruesweg [Thu, 3 Mar 2022 12:56:27 +0000 (13:56 +0100)]
Fix detection of ipv4 adresses for stopforumspam integration
joshuaruesweg [Thu, 3 Mar 2022 08:05:44 +0000 (09:05 +0100)]
Surpress output of empty labeled url user option fields
Tim Düsterhus [Mon, 28 Feb 2022 12:12:10 +0000 (13:12 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Mon, 28 Feb 2022 12:10:16 +0000 (13:10 +0100)]
Validate the messageObjectType in MessagePreviewAction::validateGetMessagePreview()
Tim Düsterhus [Mon, 28 Feb 2022 12:03:52 +0000 (13:03 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Mon, 28 Feb 2022 12:02:17 +0000 (13:02 +0100)]
Validate the object type definition in CommentAction::validateObjectType()
Tim Düsterhus [Mon, 28 Feb 2022 10:20:35 +0000 (11:20 +0100)]
Fix success message in ApplicationManagementForm
Fixes #4679
Tim Düsterhus [Thu, 24 Feb 2022 10:35:41 +0000 (11:35 +0100)]
Ignore non-HTTP schemes for URL unfurling
Tim Düsterhus [Mon, 21 Feb 2022 14:14:17 +0000 (15:14 +0100)]
Merge branch 'mysql-search-query-parser' into 5.4
Tim Düsterhus [Mon, 21 Feb 2022 14:12:38 +0000 (15:12 +0100)]
Fix handling of queries ending in a lone quote in MysqlSearchEngine::splitIntoTerms()
Tim Düsterhus [Mon, 21 Feb 2022 14:08:02 +0000 (15:08 +0100)]
Fix handling of quoted parentheses in MysqlSearchEngine::splitIntoTerms()
Tim Düsterhus [Mon, 21 Feb 2022 13:51:55 +0000 (14:51 +0100)]
Fix typo in comment in MysqlSearchEngine::splitIntoTerms()
Tim Düsterhus [Mon, 21 Feb 2022 09:05:12 +0000 (10:05 +0100)]
Alexander Ebert [Fri, 18 Feb 2022 15:17:28 +0000 (16:17 +0100)]
Reverted the implicit expansion of blocked content
This reverts
936edda0bd3537095d1bd01e96682c40796b1b2f which implicitly expanded a message when it is being accessed through an URL anchor.
However, these URLs are also generated when accessing the last post of a thread which is merely a jump to the end.
Tim Düsterhus [Fri, 18 Feb 2022 13:32:34 +0000 (14:32 +0100)]
Throw UserInputException for invalid className in AJAXInvokeAction/AJAXProxyAction
As the `className` is a user-provided value, we must throw a UserInputException
for proper error handling.
Tim Düsterhus [Wed, 16 Feb 2022 15:25:06 +0000 (16:25 +0100)]
Add trailing comma to maxItems in __userFormField
Alexander Ebert [Tue, 15 Feb 2022 20:16:40 +0000 (21:16 +0100)]
Superfluous whitespace
Alexander Ebert [Tue, 15 Feb 2022 20:15:53 +0000 (21:15 +0100)]
Improper comparison of user groups containing non-ASCII characters
Alexander Ebert [Tue, 15 Feb 2022 13:58:30 +0000 (14:58 +0100)]
Merge branch '5.3' into 5.4
Alexander Ebert [Tue, 15 Feb 2022 13:54:23 +0000 (14:54 +0100)]
Release 5.3.20
Alexander Ebert [Tue, 15 Feb 2022 13:28:07 +0000 (14:28 +0100)]
Release 5.4.14
Tim Düsterhus [Tue, 15 Feb 2022 12:05:10 +0000 (13:05 +0100)]
Add `trophyPoints` to User's `@property-read`
Resolves #4669
Alexander Ebert [Mon, 14 Feb 2022 16:29:12 +0000 (17:29 +0100)]
Release 5.4.14 dev 2
WoltLab [Mon, 14 Feb 2022 16:28:21 +0000 (16:28 +0000)]
Updating minified JavaScript files
Alexander Ebert [Mon, 14 Feb 2022 16:14:00 +0000 (17:14 +0100)]
Work-around for the inconsistent selection handling in iOS 15
See https://www.woltlab.com/community/thread/294136-ios-text-markieren-link-einf%C3%BCgen-geht-nicht/
Alexander Ebert [Mon, 14 Feb 2022 14:50:30 +0000 (15:50 +0100)]
Clamp the date value if it exceeds the `maxDate`
See https://www.woltlab.com/community/thread/294169-min-max-datepicker-falscher-monat/
Tim Düsterhus [Mon, 14 Feb 2022 13:39:57 +0000 (14:39 +0100)]
Fix PHP 8.0/8.1 compatibility of phpline.phar
Alexander Ebert [Sun, 13 Feb 2022 15:57:31 +0000 (16:57 +0100)]
Implicitly expand messages from blocked users when following a permalink
See https://www.woltlab.com/community/thread/294218-verlinkung-zu-beitr%C3%A4gen-von-blockierten-nutzern/
Marcel Werk [Sun, 13 Feb 2022 15:39:12 +0000 (16:39 +0100)]
Individual settings for boxes were unintentionally overwritten during update
Alexander Ebert [Thu, 10 Feb 2022 17:00:41 +0000 (18:00 +0100)]
Release 5.4.14 dev 1
WoltLab [Thu, 10 Feb 2022 16:58:27 +0000 (16:58 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Tue, 8 Feb 2022 15:45:26 +0000 (16:45 +0100)]
Merge pull request #4664 from WoltLab/formbuilder-checkbox-ajax
Add `CheckedVoid` form builder data handler for CheckboxFormField
Tim Düsterhus [Tue, 8 Feb 2022 14:54:22 +0000 (15:54 +0100)]
Add `CheckedVoid` form builder data handler for CheckboxFormField
The `Checked` data handler is not usable for the CheckboxFormField, because its
behavior differs from the non-AJAX behavior by always sending a value whereas
checkboxes that are not checked will not send anything within a regular form.
It was considered to simply reuse the `readValue()` implementation in
BooleanFormField, because it appears to do the right thing at a glance. However
this would effectively revert
7d36c55726af2b5b9d9ab1706a05ccf5e52e84b8 which is
a fix to allow unchecking checkboxes that are checked by default.
Also matching the behavior of AJAX and non-AJAX forms 100% is considered a good
thing, so a new JavaScript module to handle this, is the best solution.
Tim Düsterhus [Tue, 8 Feb 2022 09:12:31 +0000 (10:12 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Tue, 8 Feb 2022 09:07:00 +0000 (10:07 +0100)]
Ignore `length` when diffing YearDatabaseTableColumn
Similarly to INT columns MySQL 8 ignores the length of YEAR columns:
https://dev.mysql.com/doc/refman/8.0/en/year.html
> As of MySQL 8.0.19, the YEAR(4) data type with an explicit display width is
> deprecated and you should expect support for it to be removed in a future
> version of MySQL. Instead, use YEAR without a display width, which has the
> same meaning.
Tim Düsterhus [Mon, 7 Feb 2022 13:00:48 +0000 (14:00 +0100)]
Fix template syntax error in wcf.user.notification.articleComment.response(Owner)?.mail.html
see
cc5632977059ae88aa5cfe1c27407f0e00fa68c1
Tim Düsterhus [Mon, 7 Feb 2022 08:16:08 +0000 (09:16 +0100)]
Whitelist `array_key_exists` in enterprise mode
Marcel Werk [Sat, 5 Feb 2022 12:59:32 +0000 (13:59 +0100)]
Permission 'canOnlyAccessOwnMedia' did not work as expected
It was still possible to find files from other users through the search function.
Marcel Werk [Sat, 5 Feb 2022 12:56:59 +0000 (13:56 +0100)]
File size was displayed twice when uploading media
Marcel Werk [Thu, 3 Feb 2022 13:44:19 +0000 (14:44 +0100)]
Email column in notification settings was too small
Alexander Ebert [Wed, 2 Feb 2022 18:29:42 +0000 (19:29 +0100)]
`saveInstant()` yields an incorrect selection after formatting
Consider the example `Hello World` where the word `World` is selected. Marking the selection as bold did not mark the button as active.
This was caused by the way the selection is created, causing it to be `Hello |<strong>World|</strong>` when using `saveInstant()` (the pipe denotes the selection boundary).
Tim Düsterhus [Wed, 2 Feb 2022 11:05:19 +0000 (12:05 +0100)]
Merge pull request #4656 from WoltLab/dialog-alert
Fix rendering of alert boxes at the top of a dialog
Tim Düsterhus [Wed, 2 Feb 2022 11:01:43 +0000 (12:01 +0100)]
Remove obsolete inline CSS in removeUserContentDialog.tpl
see
0d0aecf7b629619de450304945989074522dbca2
Tim Düsterhus [Wed, 2 Feb 2022 10:50:13 +0000 (11:50 +0100)]
Fix rendering of alert boxes at the top of a dialog