GitHub/WoltLab/WCF.git
3 years agoMerge pull request #4341 from WoltLab/unfurl-download-fail-no-log
Joshua Rüsweg [Fri, 25 Jun 2021 10:54:16 +0000 (12:54 +0200)]
Merge pull request #4341 from WoltLab/unfurl-download-fail-no-log

Prevent unfurling DownloadFailed exceptions from ending up in the error log

3 years agoFix code style issue
Matthias Schmidt [Fri, 25 Jun 2021 08:30:12 +0000 (10:30 +0200)]
Fix code style issue

3 years agoEncode non-UTF-8 parameters as hexadecimal in Benchmark
Tim Düsterhus [Fri, 25 Jun 2021 08:18:21 +0000 (10:18 +0200)]
Encode non-UTF-8 parameters as hexadecimal in Benchmark

Some database queries, such as the new Flood Control framework, contain binary
fields that might break proper rendering or further processing.

Encode all parameters that are not valid UTF-8 as hexadecimal and wrap them
into a call of `UNHEX()` to maintain copyability.

see 048aaf0c318f01d11da4f6b8c01b6fdd1acbcb7a

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Fri, 25 Jun 2021 06:40:13 +0000 (08:40 +0200)]
Merge branch '5.3' into 5.4

3 years agoFix poll insertion after message edit if no poll exists
Matthias Schmidt [Fri, 25 Jun 2021 06:34:51 +0000 (08:34 +0200)]
Fix poll insertion after message edit if no poll exists

Previously, an empty `div.jsInlineEditorHideContent` element was added.

3 years agoPrevent unfurling DownloadFailed exceptions from ending up in the error log
Tim Düsterhus [Thu, 24 Jun 2021 12:27:51 +0000 (14:27 +0200)]
Prevent unfurling DownloadFailed exceptions from ending up in the error log

Resolves #4237

3 years agoMake return types in HttpFactory more readable
Tim Düsterhus [Wed, 23 Jun 2021 11:44:46 +0000 (13:44 +0200)]
Make return types in HttpFactory more readable

see f5b3800800e74296ca1411b25496a6b964c0600e
see #4337

3 years agoImprove return types in HttpFactory
Tim Düsterhus [Wed, 23 Jun 2021 11:38:21 +0000 (13:38 +0200)]
Improve return types in HttpFactory

Resolves #4337

3 years agoForce non-cursive font for code listings inside quotes
Alexander Ebert [Wed, 23 Jun 2021 09:54:23 +0000 (11:54 +0200)]
Force non-cursive font for code listings inside quotes

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 23 Jun 2021 07:44:38 +0000 (09:44 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 23 Jun 2021 07:43:22 +0000 (09:43 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Wed, 23 Jun 2021 07:42:23 +0000 (09:42 +0200)]
Merge branch '3.1' into 5.2

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 23 Jun 2021 07:40:44 +0000 (09:40 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Wed, 23 Jun 2021 07:39:40 +0000 (09:39 +0200)]
Merge branch '5.2' into 5.3

3 years agoFix typo in de.xml
Tim Düsterhus [Wed, 23 Jun 2021 07:39:21 +0000 (09:39 +0200)]
Fix typo in de.xml

3 years agoUse “Moderation” instead of “Moderatoren” in de.xml
Tim Düsterhus [Wed, 23 Jun 2021 07:37:13 +0000 (09:37 +0200)]
Use “Moderation” instead of “Moderatoren” in de.xml

3 years agoUpdate XSD paths in XML files generated by PHP code
Matthias Schmidt [Wed, 23 Jun 2021 07:33:25 +0000 (09:33 +0200)]
Update XSD paths in XML files generated by PHP code

See #4268

3 years agoUpdate XSD paths in XML files
Matthias Schmidt [Wed, 23 Jun 2021 07:31:21 +0000 (09:31 +0200)]
Update XSD paths in XML files

See #4268

3 years agoEmbedded object ids are now explicitly casted to int
Alexander Ebert [Mon, 21 Jun 2021 14:47:42 +0000 (16:47 +0200)]
Embedded object ids are now explicitly casted to int

https://wiki.php.net/rfc/string_to_number_comparison changed the behavior of PHP when comparing strings to numbers.

`123 == "123foo"` is true in PHP <8.0, but false starting with PHP 8.0.

3 years agoRevert "Cast values of simple embedded objects to int"
Alexander Ebert [Mon, 21 Jun 2021 14:39:57 +0000 (16:39 +0200)]
Revert "Cast values of simple embedded objects to int"

This reverts commit 2e3b2fcc855f50238dbe930ea3392cf48894b85f.

3 years agoCast values of simple embedded objects to int
Alexander Ebert [Mon, 21 Jun 2021 14:13:38 +0000 (16:13 +0200)]
Cast values of simple embedded objects to int

These values are not guaranteed to be pure numbers. Any value could be followed by a helper comment, such as `13#Fancy page`. Explicitly calling `intval()` truncates the value to just contain the leading digits as it was intended to be.

3 years agoImproved the regex for simple embedded objects
Alexander Ebert [Mon, 21 Jun 2021 14:08:30 +0000 (16:08 +0200)]
Improved the regex for simple embedded objects

The previous version was borderline erroneous and while it worked so far, it could easily break in future versions of PHP.

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Mon, 21 Jun 2021 06:49:37 +0000 (08:49 +0200)]
Merge branch '5.3' into 5.4

3 years agoReset link-related fields after creating box
Matthias Schmidt [Mon, 21 Jun 2021 06:48:22 +0000 (08:48 +0200)]
Reset link-related fields after creating box

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Fri, 18 Jun 2021 13:57:18 +0000 (15:57 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Fri, 18 Jun 2021 13:47:39 +0000 (15:47 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Fri, 18 Jun 2021 13:47:18 +0000 (15:47 +0200)]
Merge branch '3.1' into 5.2

3 years agoSet 'accept-encoding: identity' by default in HTTPRequest
Tim Düsterhus [Fri, 18 Jun 2021 13:44:21 +0000 (15:44 +0200)]
Set 'accept-encoding: identity' by default in HTTPRequest

RFC 7231#5.3.4 allows a server to use an arbitrary 'content-encoding' when no
'accept-encoding' request header is sent.

Make it clear that no 'content-encoding' is acceptable by only accepting the
'identity' encoding.

3 years agoRevert "Ignore security token for guests" 5.4.0_Beta_2
Tim Düsterhus [Fri, 18 Jun 2021 09:37:24 +0000 (11:37 +0200)]
Revert "Ignore security token for guests"

Due to the age of this commit it's a bit unclear why exactly it was necessary
at that time, but records indicate that it was related to the URL based session
system (`?s=…`) in combination with with virtual sessions effectively changing
the session ID during login, the `SID` constants being constant and the CSRF
token being stored in the session.

As none of this applies any longer, this workaround should no longer be
necessary and thus reverted. It certainly violates the principle of least
astonishment, because it only applies to AbstractSecureAction, but not forms
and it's questionable from a security perspective.

This reverts commit e5c2467f717632b47f935a0e59a310de2e2867f3.

3 years agoMerge pull request #4309 from WoltLab/acp-cannotuse
Tim Düsterhus [Thu, 17 Jun 2021 15:15:56 +0000 (17:15 +0200)]
Merge pull request #4309 from WoltLab/acp-cannotuse

Set __isLogin if a logged-in user lacks `admin.general.canUseAcp`

3 years agoRename the third gender from 'Other' to 'Non-Binary' in en.xml
Tim Düsterhus [Thu, 17 Jun 2021 13:02:14 +0000 (15:02 +0200)]
Rename the third gender from 'Other' to 'Non-Binary' in en.xml

3 years agoImprove name of the 'image_proxy_host_whitelist' option
Tim Düsterhus [Thu, 17 Jun 2021 12:52:15 +0000 (14:52 +0200)]
Improve name of the 'image_proxy_host_whitelist' option

Whitelist implies that only the given domains will be passes through the proxy.
Additionally the German version already uses “Ausnahme” which translates to
“Exception”.

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 17 Jun 2021 12:43:15 +0000 (14:43 +0200)]
Merge branch '5.3' into 5.4

3 years agoMerge branch '5.2' into 5.3
Tim Düsterhus [Thu, 17 Jun 2021 12:42:53 +0000 (14:42 +0200)]
Merge branch '5.2' into 5.3

3 years agoMerge branch '3.1' into 5.2
Tim Düsterhus [Thu, 17 Jun 2021 12:42:42 +0000 (14:42 +0200)]
Merge branch '3.1' into 5.2

3 years agoFix 'to its full extent' in en.xml
Tim Düsterhus [Thu, 17 Jun 2021 12:41:10 +0000 (14:41 +0200)]
Fix 'to its full extent' in en.xml

3 years agoSet __isLogin if a logged-in user lacks `admin.general.canUseAcp`
Tim Düsterhus [Thu, 17 Jun 2021 12:09:34 +0000 (14:09 +0200)]
Set __isLogin if a logged-in user lacks `admin.general.canUseAcp`

Resolves #4307

3 years agoRelease 5.4.0 Beta 2
Alexander Ebert [Wed, 16 Jun 2021 15:27:06 +0000 (17:27 +0200)]
Release 5.4.0 Beta 2

3 years agoUpdating minified JavaScript files
WoltLab [Wed, 16 Jun 2021 13:58:51 +0000 (13:58 +0000)]
Updating minified JavaScript files

3 years agoRevert "Strip the `loading` attribute from smileys for AMP output"
Alexander Ebert [Wed, 16 Jun 2021 12:08:27 +0000 (14:08 +0200)]
Revert "Strip the `loading` attribute from smileys for AMP output"

This reverts commit 4cfc175da480a13704dd6b52e49723c9a84cb62d.

3 years agoIncorrect use of DOM attributes
Alexander Ebert [Wed, 16 Jun 2021 12:01:20 +0000 (14:01 +0200)]
Incorrect use of DOM attributes

See #4290

3 years agoStrip the `loading` attribute from smileys for AMP output
Alexander Ebert [Wed, 16 Jun 2021 12:00:24 +0000 (14:00 +0200)]
Strip the `loading` attribute from smileys for AMP output

See #4290

3 years agoMerge pull request #4292 from WoltLab/verify-webp-support
Alexander Ebert [Wed, 16 Jun 2021 09:31:55 +0000 (11:31 +0200)]
Merge pull request #4292 from WoltLab/verify-webp-support

Verify WebP support in GD/Imagick

3 years agoVerify the support for WebP images during the setup
Alexander Ebert [Tue, 15 Jun 2021 16:53:08 +0000 (18:53 +0200)]
Verify the support for WebP images during the setup

3 years agoVerify WebP support in the test script
Alexander Ebert [Tue, 15 Jun 2021 13:58:49 +0000 (15:58 +0200)]
Verify WebP support in the test script

3 years agoHelper method to check for WebP support
Alexander Ebert [Tue, 15 Jun 2021 13:47:53 +0000 (15:47 +0200)]
Helper method to check for WebP support

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Tue, 15 Jun 2021 13:10:55 +0000 (15:10 +0200)]
Merge branch '5.3' into 5.4

3 years agoMake `WysiwygAttachmentFormField` only available if upload is allowed
Matthias Schmidt [Tue, 15 Jun 2021 12:55:02 +0000 (14:55 +0200)]
Make `WysiwygAttachmentFormField` only available if upload is allowed

The same check exists in the non-form builder template `messageFormTabs.tpl`.

3 years agoMerge branch '5.3' into 5.4
Marcel Werk [Tue, 15 Jun 2021 11:27:22 +0000 (13:27 +0200)]
Merge branch '5.3' into 5.4

3 years agoPages in the Template format were not imported correctly
Marcel Werk [Tue, 15 Jun 2021 11:23:53 +0000 (13:23 +0200)]
Pages in the Template format were not imported correctly

3 years agoEnforce strict camel case for method names
Alexander Ebert [Tue, 15 Jun 2021 09:49:32 +0000 (11:49 +0200)]
Enforce strict camel case for method names

`ImageUtil::browserSupportsWebP()` was renamed to `ImageUtil::browserSupportsWebp()` for consistency with other methods.

3 years agoDisable lazy loading for images in AMP
Alexander Ebert [Tue, 15 Jun 2021 09:36:59 +0000 (11:36 +0200)]
Disable lazy loading for images in AMP

Fixes #4290

3 years agoRevert "Add ES 5 syntax check (#4291)"
Tim Düsterhus [Tue, 15 Jun 2021 07:49:33 +0000 (09:49 +0200)]
Revert "Add ES 5 syntax check (#4291)"

This is only needed in '5.3', thus it is being reverted for 5.4+.

This reverts commit 2d35dbce84fbe97e8dc80629d889b51953e1641e.

3 years agoMerge branch '5.3' into 5.4
Tim Düsterhus [Tue, 15 Jun 2021 07:48:59 +0000 (09:48 +0200)]
Merge branch '5.3' into 5.4

3 years agoAdd ES 5 syntax check (#4291)
Tim Düsterhus [Tue, 15 Jun 2021 07:48:19 +0000 (09:48 +0200)]
Add ES 5 syntax check (#4291)

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Tue, 15 Jun 2021 05:39:49 +0000 (07:39 +0200)]
Merge branch '5.3' into 5.4

3 years agoFix links to developer documentation in phrases
Felix | D1strict [Tue, 15 Jun 2021 05:33:15 +0000 (07:33 +0200)]
Fix links to developer documentation in phrases

3 years agoRelease 5.3.9 5.3.9
Alexander Ebert [Mon, 14 Jun 2021 17:11:24 +0000 (19:11 +0200)]
Release 5.3.9

3 years agoUpdating minified JavaScript files
WoltLab [Mon, 14 Jun 2021 17:06:40 +0000 (17:06 +0000)]
Updating minified JavaScript files

3 years agoES6+ syntax trips the legacy UglifyJS compiler
Alexander Ebert [Mon, 14 Jun 2021 17:05:23 +0000 (19:05 +0200)]
ES6+ syntax trips the legacy UglifyJS compiler

3 years agoRelease 5.3.8 5.3.8
Alexander Ebert [Mon, 14 Jun 2021 14:46:04 +0000 (16:46 +0200)]
Release 5.3.8

3 years agoUpdating minified JavaScript files
WoltLab [Mon, 14 Jun 2021 13:52:54 +0000 (13:52 +0000)]
Updating minified JavaScript files

3 years agoForce `LF` line endings for generated JavaScript (#4285)
MysteryCode [Mon, 14 Jun 2021 08:30:55 +0000 (10:30 +0200)]
Force `LF` line endings for generated JavaScript (#4285)

The `newLine` configuration option in tsconfig is platform specific. Explicitly set it to ensure consistent behavior.

[Tim: Rephrased the commit message]

3 years agoRemove duplicate `getSingleObject()` comment in `DevtoolsMissingLanguageItemList`
Matthias Schmidt [Mon, 14 Jun 2021 07:36:01 +0000 (09:36 +0200)]
Remove duplicate `getSingleObject()` comment in `DevtoolsMissingLanguageItemList`

3 years agoFix deleting non-image attachments from WYSIWYG editor
Matthias Schmidt [Mon, 14 Jun 2021 06:50:07 +0000 (08:50 +0200)]
Fix deleting non-image attachments from WYSIWYG editor

3 years agoFix reading i18n data from form builder forms (#4284)
MysteryCode [Mon, 14 Jun 2021 05:23:27 +0000 (07:23 +0200)]
Fix reading i18n data from form builder forms (#4284)

Previous the code caused the following error: `Uncaught TypeError: Cannot set property '1' of undefined` since it tries to set the language's value in an object which doesn't exist (yet).

3 years agoIncorrect removal of formatting when pasting as plain text
Alexander Ebert [Thu, 10 Jun 2021 16:22:31 +0000 (18:22 +0200)]
Incorrect removal of formatting when pasting as plain text

Fixes #4276

3 years agoDelay the caret positioning on iOS
Alexander Ebert [Thu, 10 Jun 2021 15:50:12 +0000 (17:50 +0200)]
Delay the caret positioning on iOS

3 years agoRely on the dialog's auto focus with proper iOS handling
Alexander Ebert [Thu, 10 Jun 2021 15:49:49 +0000 (17:49 +0200)]
Rely on the dialog's auto focus with proper iOS handling

3 years agoPrevent caching of redirects in shared caches
Tim Düsterhus [Thu, 10 Jun 2021 08:49:15 +0000 (10:49 +0200)]
Prevent caching of redirects in shared caches

see #4273

3 years agoMerge branch '5.3' into 5.4
Matthias Schmidt [Thu, 10 Jun 2021 07:02:27 +0000 (09:02 +0200)]
Merge branch '5.3' into 5.4

3 years agoSync client-side poll validation with server-side validation
Matthias Schmidt [Thu, 10 Jun 2021 07:01:57 +0000 (09:01 +0200)]
Sync client-side poll validation with server-side validation

`PollManager` marks an empty question field as empty if poll options are given, while `WCF.Poll.Management` aborted validation once the question field is empty, no matter whether options are given or not.

3 years agoHandle poll question validation errors for quick replies
Matthias Schmidt [Thu, 10 Jun 2021 06:56:53 +0000 (08:56 +0200)]
Handle poll question validation errors for quick replies

3 years agoUnescape BBCode attributes on editor load
Alexander Ebert [Wed, 9 Jun 2021 14:59:57 +0000 (16:59 +0200)]
Unescape BBCode attributes on editor load

3 years agoFix SearchEngineConvertInnoDbWorker when MySQL is not the active engine
Tim Düsterhus [Wed, 9 Jun 2021 08:40:33 +0000 (10:40 +0200)]
Fix SearchEngineConvertInnoDbWorker when MySQL is not the active engine

Fixes #4192

3 years agoUpdate developer documentation links in PIP info phrases
Matthias Schmidt [Wed, 9 Jun 2021 06:25:56 +0000 (08:25 +0200)]
Update developer documentation links in PIP info phrases

Close #4266

3 years agoMerge branch '5.3' into 5.4
Alexander Ebert [Tue, 8 Jun 2021 13:09:36 +0000 (15:09 +0200)]
Merge branch '5.3' into 5.4

3 years agoFully clickable notification items
Alexander Ebert [Tue, 8 Jun 2021 13:09:10 +0000 (15:09 +0200)]
Fully clickable notification items

3 years agoFix iconContainer identifier
joshuaruesweg [Tue, 8 Jun 2021 07:10:05 +0000 (09:10 +0200)]
Fix iconContainer identifier

3 years agoMerge pull request #4263 from Fabii547/patch-76
Tim Düsterhus [Mon, 7 Jun 2021 07:43:29 +0000 (09:43 +0200)]
Merge pull request #4263 from Fabii547/patch-76

Fix visibility check in `Condition/Page/Dependence`

3 years agoFix visibility check in `Condition/Page/Dependence`
Fabii547 [Mon, 7 Jun 2021 07:37:31 +0000 (09:37 +0200)]
Fix visibility check in `Condition/Page/Dependence`

3 years agoMerge pull request #4259 from WoltLab/session-ip-address
Tim Düsterhus [Fri, 4 Jun 2021 14:31:48 +0000 (16:31 +0200)]
Merge pull request #4259 from WoltLab/session-ip-address

Mask IP address in session list

3 years agoMerge pull request #4258 from WoltLab/userAgent-final
Joshua Rüsweg [Fri, 4 Jun 2021 12:59:44 +0000 (14:59 +0200)]
Merge pull request #4258 from WoltLab/userAgent-final

Mark `\wcf\util\UserAgent` as final

3 years agoMerge branch 'master' of https://github.com/WoltLab/WCF
Alexander Ebert [Fri, 4 Jun 2021 12:05:54 +0000 (14:05 +0200)]
Merge branch 'master' of https://github.com/WoltLab/WCF

3 years agoCode style fix
Alexander Ebert [Fri, 4 Jun 2021 12:05:47 +0000 (14:05 +0200)]
Code style fix

3 years agoUse `->toBulletMasked()` in `accountSecurity.tpl`
Tim Düsterhus [Fri, 4 Jun 2021 11:43:07 +0000 (13:43 +0200)]
Use `->toBulletMasked()` in `accountSecurity.tpl`

3 years agoAdd `IpAddress::toBulletMasked()`
Tim Düsterhus [Fri, 4 Jun 2021 11:40:00 +0000 (13:40 +0200)]
Add `IpAddress::toBulletMasked()`

3 years agoRename `IpAddress::mask()` to `IpAddress::toMasked()`
Tim Düsterhus [Fri, 4 Jun 2021 11:27:57 +0000 (13:27 +0200)]
Rename `IpAddress::mask()` to `IpAddress::toMasked()`

3 years agoShow a masked IP address in accountSecurity.tpl
Tim Düsterhus [Fri, 4 Jun 2021 10:16:13 +0000 (12:16 +0200)]
Show a masked IP address in accountSecurity.tpl

3 years agoReturn an IP address in Session::getIpAddress()
Tim Düsterhus [Fri, 4 Jun 2021 10:08:20 +0000 (12:08 +0200)]
Return an IP address in Session::getIpAddress()

3 years agoAdd `\wcf\util\IpAddress`
Tim Düsterhus [Thu, 15 Nov 2018 12:30:59 +0000 (13:30 +0100)]
Add `\wcf\util\IpAddress`

3 years agoFix SCSS code style
Tim Düsterhus [Fri, 4 Jun 2021 11:52:52 +0000 (13:52 +0200)]
Fix SCSS code style

3 years agoImproved UX and visuals of embedded URLs
Alexander Ebert [Fri, 4 Jun 2021 11:45:09 +0000 (13:45 +0200)]
Improved UX and visuals of embedded URLs

The link now has a proper title and the tab focus will highlight the headline.

3 years agoMerge branch '5.3'
Matthias Schmidt [Fri, 4 Jun 2021 11:10:04 +0000 (13:10 +0200)]
Merge branch '5.3'

3 years agoMerge branch '5.2' into 5.3
Matthias Schmidt [Fri, 4 Jun 2021 11:09:51 +0000 (13:09 +0200)]
Merge branch '5.2' into 5.3

3 years agoAdd missing `wcf.acp.devtools.pip.error.className` phrase
Matthias Schmidt [Fri, 4 Jun 2021 11:09:34 +0000 (13:09 +0200)]
Add missing `wcf.acp.devtools.pip.error.className` phrase

Close #4256

3 years agoMark `\wcf\util\UserAgent` as final
Tim Düsterhus [Fri, 4 Jun 2021 10:22:47 +0000 (12:22 +0200)]
Mark `\wcf\util\UserAgent` as final

3 years agoMerge pull request #4257 from WoltLab/abstract-event-listener-error
Tim Düsterhus [Fri, 4 Jun 2021 08:51:44 +0000 (10:51 +0200)]
Merge pull request #4257 from WoltLab/abstract-event-listener-error

Make error message in AbstractEventListener more useful

3 years agoMake error message in AbstractEventListener more useful
Tim Düsterhus [Fri, 4 Jun 2021 08:16:30 +0000 (10:16 +0200)]
Make error message in AbstractEventListener more useful

3 years agoMerge branch '5.3'
Tim Düsterhus [Fri, 4 Jun 2021 08:30:45 +0000 (10:30 +0200)]
Merge branch '5.3'