Tim Düsterhus [Tue, 3 Aug 2021 10:00:26 +0000 (12:00 +0200)]
Do not store optional information from update servers within the database
These do not appear to be used anywhere and the official package servers do not
expose them either, making them effectively empty even in current versions.
see
fd3511448663b86f4428e848bbefa07b93bf4bad
see #4371
see #4385
Tim Düsterhus [Fri, 30 Jul 2021 12:52:38 +0000 (14:52 +0200)]
Merge branch '5.4'
Tim Düsterhus [Fri, 30 Jul 2021 12:51:19 +0000 (14:51 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Fri, 30 Jul 2021 12:45:20 +0000 (14:45 +0200)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Fri, 30 Jul 2021 12:44:55 +0000 (14:44 +0200)]
Merge pull request #4427 from WoltLab/label-form-field-dependency
Add missing check for dependencies in LabelFormField processor
Tim Düsterhus [Fri, 30 Jul 2021 12:43:01 +0000 (14:43 +0200)]
Merge pull request #4426 from WoltLab/label-form-field-selection
Properly show the label form field's selection if it has a value upon load
Marcel Werk [Fri, 30 Jul 2021 12:38:05 +0000 (14:38 +0200)]
ACL values were not deleted when deleting categories
Tim Düsterhus [Fri, 30 Jul 2021 08:27:05 +0000 (10:27 +0200)]
Properly show the label form field's selection if it has a value upon load
This got broken during the TypeScript migration, because the constructor's
`labelId` parameter is typed as string, but in reality it was passed an
integer. This broke a `===` comparison with the `data-label-id` property of the
list items, thus failing to properly select the label.
Tim Düsterhus [Fri, 30 Jul 2021 09:03:55 +0000 (11:03 +0200)]
Add missing check for dependencies in LabelFormField processor
Marcel Werk [Thu, 29 Jul 2021 15:34:19 +0000 (17:34 +0200)]
Merge pull request #4425 from WoltLab/template-engine-foreach-variable-unset-fix
Foreach tag unset variables that have the value NULL
Marcel Werk [Wed, 28 Jul 2021 16:00:48 +0000 (18:00 +0200)]
Re-added previous share button selector to keep compatibility
Missing js file
Marcel Werk [Wed, 28 Jul 2021 15:48:49 +0000 (17:48 +0200)]
Re-added previous share button selector to keep compatibility
Marcel Werk [Wed, 28 Jul 2021 14:07:48 +0000 (16:07 +0200)]
share button class name changed to prevent blocking by ad blockers
Marcel Werk [Wed, 28 Jul 2021 12:24:50 +0000 (14:24 +0200)]
Foreach tag unset variables that have the value NULL
Tim Düsterhus [Wed, 28 Jul 2021 07:58:23 +0000 (09:58 +0200)]
Merge branch '5.4'
Tim Düsterhus [Wed, 28 Jul 2021 07:58:10 +0000 (09:58 +0200)]
Use correct English quote marks in en.xml (5.4)
Tim Düsterhus [Wed, 28 Jul 2021 07:57:35 +0000 (09:57 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 28 Jul 2021 07:56:09 +0000 (09:56 +0200)]
Use correct English quote marks in en.xml
Tim Düsterhus [Tue, 27 Jul 2021 15:25:21 +0000 (17:25 +0200)]
Merge branch '5.4'
Tim Düsterhus [Tue, 27 Jul 2021 15:21:22 +0000 (17:21 +0200)]
Merge pull request #4423 from WoltLab/oauth-pkce
Add PKCE support to AbstractOauth2Action
Tim Düsterhus [Tue, 27 Jul 2021 14:37:05 +0000 (16:37 +0200)]
Name “Notfallcodes“ consistently
Drop the hyphen from “Notfall-Code”.
Tim Düsterhus [Tue, 27 Jul 2021 14:32:27 +0000 (16:32 +0200)]
Add PKCE support to AbstractOauth2Action
Tim Düsterhus [Tue, 27 Jul 2021 14:22:01 +0000 (16:22 +0200)]
Merge branch '5.4'
Tim Düsterhus [Tue, 27 Jul 2021 14:15:24 +0000 (16:15 +0200)]
Merge pull request #4421 from WoltLab/5.4-deleteDsStore
Add files/acp/update_com.woltlab.wcf_5.4.3_deleteDsStore.php
Marcel Werk [Tue, 27 Jul 2021 13:27:51 +0000 (15:27 +0200)]
Merge pull request #4422 from WoltLab/5.4-check-search-rebuild
Refer to RebuildDataPage in the system check for search engine tables
Tim Düsterhus [Tue, 27 Jul 2021 12:53:47 +0000 (14:53 +0200)]
Refer to RebuildDataPage in the system check for search engine tables
Tim Düsterhus [Tue, 27 Jul 2021 12:44:15 +0000 (14:44 +0200)]
Generate preload manifest when testing style
Tim Düsterhus [Tue, 27 Jul 2021 12:36:12 +0000 (14:36 +0200)]
Fix system font stack when combined with a Google Font
Perform the replacement of the system font name, before prepending the Google
font to properly match the font name without the Google font prefix.
Tim Düsterhus [Tue, 27 Jul 2021 12:18:15 +0000 (14:18 +0200)]
Add files/acp/update_com.woltlab.wcf_5.4.3_deleteDsStore.php
Tim Düsterhus [Tue, 27 Jul 2021 12:31:26 +0000 (14:31 +0200)]
Drop obsolete update_com.woltlab.wcf_5.4.2_deleteInvalidSessions.php
This was only required to fix a bug in 5.4.0.
Tim Düsterhus [Mon, 26 Jul 2021 16:04:36 +0000 (18:04 +0200)]
Merge pull request #4420 from WoltLab/userQuit
Add notice letting the user know quitting their account is active
Alexander Ebert [Mon, 26 Jul 2021 16:04:32 +0000 (18:04 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
Alexander Ebert [Mon, 26 Jul 2021 16:04:20 +0000 (18:04 +0200)]
Release 5.4.2
Marcel Werk [Mon, 26 Jul 2021 16:03:10 +0000 (18:03 +0200)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
Marcel Werk [Mon, 26 Jul 2021 15:59:17 +0000 (17:59 +0200)]
Fix code style
WoltLab [Mon, 26 Jul 2021 15:54:45 +0000 (15:54 +0000)]
Updating minified JavaScript files
Alexander Ebert [Mon, 26 Jul 2021 15:53:29 +0000 (17:53 +0200)]
Merge pull request #4417 from WoltLab/captcha-delete-after-use
Delete the captcha registration after retrieving data in Comment/Add and Message/Reply
WoltLab [Mon, 26 Jul 2021 15:51:34 +0000 (15:51 +0000)]
Updating minified JavaScript files
Marcel Werk [Mon, 26 Jul 2021 15:50:31 +0000 (17:50 +0200)]
TOC code was visible in search results of articles
Alexander Ebert [Mon, 26 Jul 2021 15:23:41 +0000 (17:23 +0200)]
Ignore click events that were triggered outside of the editor
This appears to haben if the click event was partially intercepted because of an open overlay that was implicitly closed.
Tim Düsterhus [Mon, 26 Jul 2021 14:44:59 +0000 (16:44 +0200)]
Add notice letting the user know quitting their account is active
Tim Düsterhus [Mon, 26 Jul 2021 14:38:04 +0000 (16:38 +0200)]
Allow canceling the quit after losing the permission to quit
Alexander Ebert [Mon, 26 Jul 2021 13:36:35 +0000 (15:36 +0200)]
Caret misplacement due to U+200B in Safari after pasting
Tim Düsterhus [Mon, 26 Jul 2021 12:42:44 +0000 (14:42 +0200)]
Delete the captcha registration after retrieving data in Comment/Add and Message/Reply
When a validation error is encountered, a new template with a new captcha will
be sent. However the logic within the captcha controller prevents a callback
from being added for a specific captcha ID if one is already registered. This
leads to the previous captcha callback being reused for another attempt.
This does not work, because a single instance of reCAPTCHA may only be used
once, thus erroring out if the callback is invoked a second time.
Fix this issue by deleting the captcha callback once we used it once. Upon
another failure another template will be sent, re-registering a new and valid
captcha.
It was also considered caching the return value, however this will cause issues
if the user mistypes a captcha as they will be unable to correct the error, due
to the same value being returned on the next attempt.
Ideally the `getData()` function would automatically delete the callback,
making it a single-use callback by design. This might break API users relying
on this current (broken) behavior, though.
The whole (AJAX) CAPTCHA API looks broken beyond repair. It also relies on the
jQuery parts being available. It should be cleanly refactored in a future
version.
Alexander Ebert [Mon, 26 Jul 2021 12:26:14 +0000 (14:26 +0200)]
Incorrect text alignment on mobile
joshuaruesweg [Fri, 23 Jul 2021 17:46:28 +0000 (19:46 +0200)]
Merge branch '5.4'
joshuaruesweg [Fri, 23 Jul 2021 17:45:26 +0000 (19:45 +0200)]
Decrease sitemap size to 25,000 objects
Google allows up to 50,000 items in a single sitemap. This makes these sitemaps potentially very large. Even though Google allows up to 50 MB, too large sitemaps are still problematic, especially when it comes to troubleshooting in Google Webmaster Tools. Therefore, we minimise the limit of objects in a sitemap to 25,000 objects. This does not have any negative effects for Google as long as no more than 50,000 sitemaps are linked in the index sitemap.
joshuaruesweg [Fri, 23 Jul 2021 17:22:20 +0000 (19:22 +0200)]
Fix sitemap name of duplicate sitemaps
The issue was introduced with the commit
98dcdefc38574de9a249b19e378958a5cbdcb5d4
Marcel Werk [Fri, 23 Jul 2021 16:12:04 +0000 (18:12 +0200)]
Some external links in the admin panel did not open in a new window
Tim Düsterhus [Fri, 23 Jul 2021 10:48:24 +0000 (12:48 +0200)]
Trim trailing whitespace
Tim Düsterhus [Fri, 23 Jul 2021 10:33:23 +0000 (12:33 +0200)]
Fix IpAddress::toBulletMasked() for IP addresses with unmasked quadruplets with value zero
Rebuild the IPv6 masking algorithm to a proper parser handling the quadruplets
one-by-one, instead of attempting to process the IP address using regular
expressions.
This patch fixes masking of IP addresses such as:
2001:db8:1234:0:abcd::1234
Applying a /64 mask will transform the IP address into:
2001:db8:1234::
Note how the explicit 0 block is elided as well.
Previously the bullet masking algorithm would transform this into:
2001:db8:1234:••••:••••:••••:••••
Resulting in an IP address with just 7 quadruplets. Now it correctly returns:
2001:db8:1234:0:••••:••••:••••:••••
Tim Düsterhus [Fri, 23 Jul 2021 07:15:58 +0000 (09:15 +0200)]
Merge branch '5.4'
Tim Düsterhus [Fri, 23 Jul 2021 07:15:48 +0000 (09:15 +0200)]
Merge remote-tracking branch 'origin/5.4' into 5.4
Tim Düsterhus [Fri, 23 Jul 2021 07:14:08 +0000 (09:14 +0200)]
Merge branch '5.4'
Tim Düsterhus [Fri, 23 Jul 2021 07:12:08 +0000 (09:12 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Fri, 23 Jul 2021 07:10:50 +0000 (09:10 +0200)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Fri, 23 Jul 2021 07:10:26 +0000 (09:10 +0200)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Fri, 23 Jul 2021 07:09:56 +0000 (09:09 +0200)]
Encode HTML in smileyTitle in Smiley::getHtml()
Tim Düsterhus [Thu, 22 Jul 2021 15:04:51 +0000 (17:04 +0200)]
Merge pull request #4415 from WoltLab/focus-not-on-never
Help TSC understand the data flow in Dropdown/Simple#toggle
Tim Düsterhus [Thu, 22 Jul 2021 14:32:11 +0000 (16:32 +0200)]
Help TSC understand the data flow in Dropdown/Simple#toggle
Newer TSC versions determine that `firstListItem` must always be `null`, thus
resulting in `firstListItem` being of type `never` within the `if
(firstListItem !== null)` condition, ultimately complaining about calling
`.focus()` on a `never` type:
> Property 'focus' does not exist on type 'never'.
The issue lies in the TypeScript compiler not properly understanding the
semantics of the `.forEach()`, assuming it might not synchronously call the
callback function.
Rewrite this logic to support TSC in understanding the code and to also make
the intent clearer to the human reader by adding additional helper variables.
Marcel Werk [Thu, 22 Jul 2021 14:08:14 +0000 (16:08 +0200)]
Wrong background color for hero boxes in mobile version
Tim Düsterhus [Thu, 22 Jul 2021 13:16:44 +0000 (15:16 +0200)]
Merge branch '5.4'
Tim Düsterhus [Thu, 22 Jul 2021 13:15:58 +0000 (15:15 +0200)]
Tim Düsterhus [Thu, 22 Jul 2021 13:03:19 +0000 (15:03 +0200)]
Correctly pass COMPILER_TARGET_DEFAULT when building WoltLabSuite.Core*.min.js
Tim Düsterhus [Thu, 22 Jul 2021 12:56:37 +0000 (14:56 +0200)]
Reference `COMPILER_TARGET_DEFAULT` without going via `globalThis`
This is required, because the minifier will not detect it otherwise.
Marcel Werk [Thu, 22 Jul 2021 11:43:45 +0000 (13:43 +0200)]
Text links in the mobile menu of the admin panel did not work
Marcel Werk [Thu, 22 Jul 2021 09:19:30 +0000 (11:19 +0200)]
Merge pull request #4414 from Bantor/langfixes
some langfixes
Bantor [Thu, 22 Jul 2021 00:25:00 +0000 (02:25 +0200)]
proofreading
Tim Düsterhus [Wed, 21 Jul 2021 13:18:37 +0000 (15:18 +0200)]
Fix mistake in informal version of de.xml
Tim Düsterhus [Tue, 20 Jul 2021 15:18:05 +0000 (17:18 +0200)]
Merge pull request #4412 from WoltLab/coverPhoto-upgrade
Improve resiliency of the style cover photo upgrade script
Tim Düsterhus [Tue, 20 Jul 2021 14:27:31 +0000 (16:27 +0200)]
Check whether the style's cover photo exists during upgrade to 5.4
Alexander Ebert [Tue, 20 Jul 2021 13:59:03 +0000 (15:59 +0200)]
Merge pull request #4411 from WoltLab/test-for-webp-support
Fall-back to GD if ImageMagick does not satisfy the requirements
Alexander Ebert [Tue, 20 Jul 2021 13:50:29 +0000 (15:50 +0200)]
Partially reverted the logic for the image library check
Alexander Ebert [Tue, 20 Jul 2021 12:42:39 +0000 (14:42 +0200)]
Fall-back to GD if ImageMagick does not satisfy the requirements
Tim Düsterhus [Tue, 20 Jul 2021 12:38:26 +0000 (14:38 +0200)]
Merge pull request #4406 from WoltLab/quoted-printable-header
Stop using mb_encode_mimeheader()
Tim Düsterhus [Tue, 20 Jul 2021 11:25:37 +0000 (13:25 +0200)]
Merge branch '5.4'
Tim Düsterhus [Tue, 20 Jul 2021 10:52:24 +0000 (12:52 +0200)]
Add update_com.woltlab.wcf_5.4.2_deleteInvalidSessions.php
Tim Düsterhus [Tue, 20 Jul 2021 10:43:38 +0000 (12:43 +0200)]
Default IP address to `::` if `$_SERVER['REMOTE_ADDR']` is unavailable
The session list within the AccountSecurityPage relies on all sessions storing
valid IP addresses. When using `cli.php` no `REMOTE_ADDR` will be available and
an empty string was being stored. As the empty string is not a valid IP address
the `\wcf\util\IpAddress` class errored out.
Fix this issue by always returning a syntactically valid IP address from
`UserUtil::getIpAddress()`. `::` is being used which is commonly used to
indicate unknown IP addresses and must never appear within valid IP packets.
joshuaruesweg [Tue, 20 Jul 2021 10:12:15 +0000 (12:12 +0200)]
Disable unfurled links in AMP pages
joshuaruesweg [Tue, 20 Jul 2021 09:36:13 +0000 (11:36 +0200)]
Prevent inverting permissions, if the object is visible for everyone
If the permission is inverted and the object is allowed for everyone, the object cannot seen by anyone. Furthermore the admin can only uncheck the inverted permissions button, if the object is not allowed for everyone anymore.
joshuaruesweg [Tue, 20 Jul 2021 08:50:29 +0000 (10:50 +0200)]
Fix faulty invertPermission label logic
Tim Düsterhus [Tue, 20 Jul 2021 07:10:20 +0000 (09:10 +0200)]
Add missing `@since` to ISafeFormatAvatar
Alexander Ebert [Mon, 19 Jul 2021 15:35:42 +0000 (17:35 +0200)]
Missing implicit function scope
Alexander Ebert [Mon, 19 Jul 2021 15:32:25 +0000 (17:32 +0200)]
Cast empty values for the file size to int
PHP 8 is much more sensitive to type mismatches, before PHP 8 the value `''` was implicitly converted to `0`.
Marcel Werk [Mon, 19 Jul 2021 14:24:38 +0000 (16:24 +0200)]
WebP was not recognised as image format when uploading images
Tim Düsterhus [Mon, 19 Jul 2021 10:03:23 +0000 (12:03 +0200)]
Remove IPv6 localhost "fix" from UserUtil::getIpAddress()
This "fix" dates from a time where users did not know what IPv6 was and thus were confused. It is no longer required.
Tim Düsterhus [Mon, 19 Jul 2021 09:42:53 +0000 (11:42 +0200)]
Merge branch '5.4'
Matthias Schmidt [Mon, 5 Jul 2021 09:15:20 +0000 (11:15 +0200)]
Make renaming columns with PHP DB API idempotent (#4367)
An error message should only be shown if the neither a column with the old name, nor with the name name exists so that after the rename, a second rename is a no-op.
Close #4362
See #3765
(cherry picked from commit
1a029332791f3e3cdca054d8f139857b5ef78791)
Tim Düsterhus [Fri, 16 Jul 2021 13:32:44 +0000 (15:32 +0200)]
Merge branch '5.4'
Tim Düsterhus [Fri, 16 Jul 2021 12:08:16 +0000 (14:08 +0200)]
Set `$isAtom` to `false` when encoding the email's subject
Tim Düsterhus [Fri, 16 Jul 2021 12:07:11 +0000 (14:07 +0200)]
Stop using `mb_encode_mimeheader`
Replace the implementation in EmailGrammar::encodeQuotedPrintableHeader() with
a hand-rolled encoder.
Resolves #4395
Joshua Rüsweg [Fri, 16 Jul 2021 08:43:12 +0000 (10:43 +0200)]
Merge pull request #4405 from WoltLab/migrateMultifactor-deleted-user
Skip authenticators of deleted users in update_com.woltlab.wcf_5.4_migrate_multifactor.php
Tim Düsterhus [Thu, 15 Jul 2021 14:50:59 +0000 (16:50 +0200)]
Skip authenticators of deleted users in update_com.woltlab.wcf_5.4_migrate_multifactor.php
Alexander Ebert [Thu, 15 Jul 2021 12:07:03 +0000 (14:07 +0200)]
Merge branch '5.3' into 5.4
Alexander Ebert [Thu, 15 Jul 2021 12:04:15 +0000 (14:04 +0200)]
Release 5.3.12
Alexander Ebert [Thu, 15 Jul 2021 11:58:44 +0000 (13:58 +0200)]
Release 5.4.1
Tim Düsterhus [Thu, 15 Jul 2021 11:57:09 +0000 (13:57 +0200)]
Merge branch '5.4'
Dropped `update_com.woltlab.wcf_5.4_fixSqlLog.php`, because it is required for
5.3 to 5.4 only.
Tim Düsterhus [Thu, 15 Jul 2021 11:56:01 +0000 (13:56 +0200)]
Merge branch '5.3' into 5.4
Alexander Ebert [Thu, 15 Jul 2021 11:05:26 +0000 (13:05 +0200)]
Merge pull request #4404 from WoltLab/imagick-webp-optional
Permit the upgrade if only GD with WebP support is present
Alexander Ebert [Thu, 15 Jul 2021 11:00:55 +0000 (13:00 +0200)]
Rebuild the pre-update file archive