Marcel Werk [Wed, 16 Mar 2022 10:25:20 +0000 (11:25 +0100)]
Merge branch '5.4'
Marcel Werk [Wed, 16 Mar 2022 10:20:11 +0000 (11:20 +0100)]
An array as query string resulted in an error
Tim Düsterhus [Wed, 16 Mar 2022 08:43:54 +0000 (09:43 +0100)]
Merge branch '5.4'
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:33:21 +0000 (16:33 +0100)]
Merge branch '5.4'
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.
WoltLab [Mon, 14 Mar 2022 10:31:50 +0000 (10:31 +0000)]
Updating minified JavaScript files
Marcel Werk [Mon, 14 Mar 2022 09:31:25 +0000 (10:31 +0100)]
Merge branch '5.4'
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:33:24 +0000 (15:33 +0100)]
Merge branch '5.4'
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:51:56 +0000 (14:51 +0100)]
Delete compiled JS files where the TS source no longer exists
Tim Düsterhus [Wed, 9 Mar 2022 13:50:59 +0000 (14:50 +0100)]
Merge branch '5.4'
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:47:07 +0000 (10:47 +0100)]
Merge branch '5.4'
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/
Alexander Ebert [Tue, 8 Mar 2022 13:37:45 +0000 (14:37 +0100)]
Apply the “user online” formatting to mentions
See https://www.woltlab.com/community/thread/294551-fehlende-benutzer-online-markierung-in-erw%C3%A4hnungen/
Tim Düsterhus [Tue, 8 Mar 2022 12:27:01 +0000 (13:27 +0100)]
Merge pull request #4696 from WoltLab/BREACH
Protect the XSRF token against BREACH attacks
Tim Düsterhus [Tue, 8 Mar 2022 12:23:49 +0000 (13:23 +0100)]
Prefill the xsrfTokenInput with a static `NOT_MODIFIED`
Tim Düsterhus [Tue, 8 Mar 2022 11:06:08 +0000 (12:06 +0100)]
Add the `xsrfTokenInput` class to the XSRF token form fields
This allows the JavaScript to detect the fields an fill in the token. The value
remains the actual token for now until we're confident that the XsrfToken.ts
logic works reliably in all cases.
Tim Düsterhus [Tue, 8 Mar 2022 11:04:58 +0000 (12:04 +0100)]
Add WoltLabSuite/Core/Form/XsrfToken.ts to automatically insert the XSRF-TOKEN into matching inputs
This is in preparation of removing the XSRF-TOKEN value from the HTML source
code to prevent BREACH.
Tim Düsterhus [Tue, 8 Mar 2022 10:35:37 +0000 (11:35 +0100)]
Implement WoltLabSuite/Core/Core#getXsrfToken without relying on SECURITY_TOKEN
Tim Düsterhus [Tue, 8 Mar 2022 10:29:16 +0000 (11:29 +0100)]
Read the `SECURITY_TOKEN` from the cookie to protect it against BREACH
The property is defined in `wcf.globalHelper.js` to make it available as early
as possible for backwards compatibility, without needing to put a non-trivial
amount of JavaScript into the template.
Tim Düsterhus [Tue, 8 Mar 2022 10:44:25 +0000 (11:44 +0100)]
Fix typo in BootstrapOptions TS interface name
No need for a compatibility alias, as this interface is not exported.
Marcel Werk [Tue, 8 Mar 2022 10:29:46 +0000 (11:29 +0100)]
Cookie banner turned off by default
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 09:01:08 +0000 (10:01 +0100)]
Merge branch '5.4'
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:13 +0000 (18:51 +0100)]
Merge branch '5.4'
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:58 +0000 (18:45 +0100)]
Merge branch '5.4'
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 15:53:09 +0000 (16:53 +0100)]
Merge branch '5.4'
Joshua Rüsweg [Mon, 7 Mar 2022 15:39:10 +0000 (16:39 +0100)]
Merge pull request #4693 from WoltLab/5.5-upload-form-field-image-preview
Add preview image for image upload component
joshuaruesweg [Mon, 7 Mar 2022 14:35:35 +0000 (15:35 +0100)]
Use `width` and `height` attributes for image previews
joshuaruesweg [Mon, 7 Mar 2022 10:47:01 +0000 (11:47 +0100)]
Add preview image for image upload component
Previously, no thumbnails were displayed during the upload process if it was possible to upload multiple images. This change adds this functionality and displays the images together with the ImageViewer.
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
Tim Düsterhus [Mon, 7 Mar 2022 08:38:52 +0000 (09:38 +0100)]
Update composer dependencies
Tim Düsterhus [Fri, 4 Mar 2022 13:26:33 +0000 (14:26 +0100)]
Merge branch '5.4'
Tim Düsterhus [Fri, 4 Mar 2022 13:25:31 +0000 (14:25 +0100)]
Add proper return types to SessionHandler::(get|check)SecurityToken()
Marcel Werk [Fri, 4 Mar 2022 13:25:31 +0000 (14:25 +0100)]
Merge pull request #4691 from WoltLab/search-xsrf
Remove `{csrfToken}` from pageHeaderSearch
Alexander Ebert [Fri, 4 Mar 2022 13:21:52 +0000 (14:21 +0100)]
Fixed a small typo
Alexander Ebert [Fri, 4 Mar 2022 13:11:05 +0000 (14:11 +0100)]
Set the jQuery UI version to `1.99.99`
Tim Düsterhus [Fri, 4 Mar 2022 12:54:22 +0000 (13:54 +0100)]
Merge pull request #4692 from WoltLab/import-mapping-reset
Move the reset of the import mapping into a dedicated JavaScript module
Tim Düsterhus [Fri, 4 Mar 2022 11:18:52 +0000 (12:18 +0100)]
Move the reset of the import mapping into a dedicated JavaScript module
This removes a non-trivial amount of JavaScript and specifically:
- Fixes the use of the legacy `index.php/AJAXInvoke` syntax.
- Avoids the use of the deprecated SECURITY_TOKEN pseudo-constant.
Tim Düsterhus [Fri, 4 Mar 2022 10:49:50 +0000 (11:49 +0100)]
Remove `{csrfToken}` from pageHeaderSearch
The submission of the form is intercepted by WoltLabSuite/Core/Ui/Search/Page
and then converted into a GET redirect that does not contain the `t` parameter,
making it useless.
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/
mutec [Mon, 8 Nov 2021 16:12:29 +0000 (17:12 +0100)]
Add support for `IStorableObject::getUploadFiles()` in `UploadFormField`
Add support for `IStorableObject::get{$propertyName}UploadFiles()` which is supposed to return an array of `UploadFile`s.
Using explicitly set `UploadFile` objects makes it possible to define a filename and an image link differing from the real path the uploaded file is stored at.
Closes #4582
Tim Düsterhus [Thu, 3 Mar 2022 13:35:31 +0000 (14:35 +0100)]
Fix formatting in Email
Unfortunately the heredoc syntax is a bit wonky, thus requiring that lone
comma.
Tim Düsterhus [Thu, 3 Mar 2022 13:32:42 +0000 (14:32 +0100)]
Dump the headers of all body parts in Email::debugDump()
Tim Düsterhus [Thu, 3 Mar 2022 13:20:54 +0000 (14:20 +0100)]
Dump the email once for each recipient in Email::debugDump()
Tim Düsterhus [Thu, 3 Mar 2022 13:10:29 +0000 (14:10 +0100)]
Fix HTML encoding in Email::debugDump()
Tim Düsterhus [Thu, 3 Mar 2022 13:09:28 +0000 (14:09 +0100)]
Fix detection of HTML mime parts in Email::debugDump()
joshuaruesweg [Thu, 3 Mar 2022 13:00:12 +0000 (14:00 +0100)]
Merge branch '5.4'
joshuaruesweg [Thu, 3 Mar 2022 12:59:02 +0000 (13:59 +0100)]
Merge branch '5.3'
Alexander Ebert [Thu, 3 Mar 2022 12:56:48 +0000 (13:56 +0100)]
Force-bump the jQuery Ui version
joshuaruesweg [Thu, 3 Mar 2022 12:56:27 +0000 (13:56 +0100)]
Fix detection of ipv4 adresses for stopforumspam integration
Tim Düsterhus [Thu, 3 Mar 2022 11:42:01 +0000 (12:42 +0100)]
Merge branch '5.4'
joshuaruesweg [Thu, 3 Mar 2022 08:05:44 +0000 (09:05 +0100)]
Surpress output of empty labeled url user option fields
Tim Düsterhus [Wed, 2 Mar 2022 16:20:27 +0000 (17:20 +0100)]
Merge pull request #4687 from WoltLab/cache-name
Make CacheHandler::getCacheName() less expensive