Alexander Ebert [Wed, 19 Jan 2022 13:18:27 +0000 (14:18 +0100)]
Merge branch '5.3' into 5.4
Alexander Ebert [Wed, 19 Jan 2022 13:10:10 +0000 (14:10 +0100)]
Release 5.3.17
Alexander Ebert [Wed, 19 Jan 2022 13:00:57 +0000 (14:00 +0100)]
Merge branch '5.2' into 5.3
Alexander Ebert [Wed, 19 Jan 2022 12:55:01 +0000 (13:55 +0100)]
Release 5.2.17
Alexander Ebert [Wed, 19 Jan 2022 12:50:25 +0000 (13:50 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Wed, 19 Jan 2022 12:46:00 +0000 (13:46 +0100)]
Release 3.1.25
Tim Düsterhus [Wed, 19 Jan 2022 12:38:26 +0000 (13:38 +0100)]
Consistently escape backslashes in StringUtil
This is not a functional change, this is just for consistency within the PHP
code, so that each backslash is properly escaped as `\\`.
Tim Düsterhus [Wed, 19 Jan 2022 12:31:58 +0000 (13:31 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 19 Jan 2022 12:29:21 +0000 (13:29 +0100)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Wed, 19 Jan 2022 12:29:10 +0000 (13:29 +0100)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Wed, 19 Jan 2022 12:27:40 +0000 (13:27 +0100)]
Merge branch 'encode-js-quot' into 3.1
Tim Düsterhus [Wed, 19 Jan 2022 08:50:39 +0000 (09:50 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 19 Jan 2022 08:48:30 +0000 (09:48 +0100)]
Merge pull request #4642 from WoltLab/php-ddl-app-install
Fix the replacing of WCF_N in PHP DDL during app installation
Tim Düsterhus [Tue, 18 Jan 2022 11:36:04 +0000 (12:36 +0100)]
Fix the replacing of WCF_N in PHP DDL during app installation
During app installation the newly installed app might not yet be stored within
the application cache, thus failing to replace the `1` within the table
structure definition.
Fix this by setting the `skipCache` parameter to `true`. This will increase the
number of database queries, because applications will be checked once for each
defined table and for each defined FOREIGN KEY, but I don't see a simple fix
for this issue that avoids this increase in query count. Specifically we cannot
simply reset the application cache after inserting the application into
wcf1_application.
Marcel Werk [Mon, 17 Jan 2022 17:44:51 +0000 (18:44 +0100)]
When replacing media, the thumbnails were not reset
ref https://www.woltlab.com/community/thread/293960-fehlerhafte-thumbnails-nach-medien-ersetzung/
Tim Düsterhus [Mon, 17 Jan 2022 08:42:47 +0000 (09:42 +0100)]
Merge pull request #4638 from Krymonota/patch-20
Add `var_dump` to allowed enterprise functions
Niklas [Sun, 16 Jan 2022 16:23:16 +0000 (17:23 +0100)]
Add `var_dump` to allowed enterprise functions
Marcel Werk [Sun, 16 Jan 2022 14:03:11 +0000 (15:03 +0100)]
Error class wasn't shown in box conditions
Alexander Ebert [Thu, 13 Jan 2022 13:10:20 +0000 (14:10 +0100)]
Release 5.4.11 dev 1
WoltLab [Thu, 13 Jan 2022 12:33:37 +0000 (12:33 +0000)]
Updating minified JavaScript files
Marcel Werk [Tue, 11 Jan 2022 13:11:37 +0000 (14:11 +0100)]
Revert "Strip MariaDB replication version hack in MySQLDatabase::getVersion()"
This reverts commit
bfa8d95d6f016efdedb943c1fe977d89de13406c.
Alexander Ebert [Mon, 10 Jan 2022 13:59:52 +0000 (14:59 +0100)]
Replace legacy HTML tags during paste
See https://www.woltlab.com/community/thread/293870-artikel-beim-ersten-abspeichern-b-statt-strong/
Marcel Werk [Mon, 10 Jan 2022 10:08:36 +0000 (11:08 +0100)]
Merge pull request #4629 from WoltLab/mariadb-version-hack
Strip MariaDB replication version hack in MySQLDatabase::getVersion()
Tim Düsterhus [Mon, 10 Jan 2022 10:04:39 +0000 (11:04 +0100)]
Update npm dependencies
Tim Düsterhus [Mon, 10 Jan 2022 09:47:49 +0000 (10:47 +0100)]
Strip MariaDB replication version hack in MySQLDatabase::getVersion()
Resolves #4626
Alexander Ebert [Sat, 8 Jan 2022 16:41:58 +0000 (17:41 +0100)]
Disallowing access to a CMS page now shows an error 403 instead of 404
Alexander Ebert [Sat, 8 Jan 2022 16:39:30 +0000 (17:39 +0100)]
Treat invalid timestamps as a missing date
Alexander Ebert [Sat, 8 Jan 2022 13:57:41 +0000 (14:57 +0100)]
Merge pull request #4627 from SoftCreatR/patch-3
Add size detection for WebP smileys
Sascha Greuel [Sat, 8 Jan 2022 08:27:38 +0000 (09:27 +0100)]
Added size detection for WebP smileys
Alexander Ebert [Fri, 7 Jan 2022 16:35:25 +0000 (17:35 +0100)]
Missing reset of the WebP flag for cover photos
Uploading a GIF after uploading a cover photo with a WebP variant caused the GIF to not show up.
See https://www.woltlab.com/community/thread/293665-gif-bilder-als-titelbild/
Alexander Ebert [Fri, 7 Jan 2022 16:12:36 +0000 (17:12 +0100)]
Incorrect handling of Shift+Enter inside code blocks
See https://www.woltlab.com/community/thread/293723-eingabetaste-erzeugt-weiteren-quellcode-bbcode/
Tim Düsterhus [Fri, 7 Jan 2022 13:52:02 +0000 (14:52 +0100)]
Merge pull request #4623 from WoltLab/php8.1-i18n-option
Fix PHP 8.1 compatibility when saving I18n options
Tim Düsterhus [Fri, 7 Jan 2022 08:54:19 +0000 (09:54 +0100)]
Default missing values to `''` in OptionHandler::validateOption()
This is required for PHP 8.1 compatibility of i18n options, as these are
handled separately using I18nHandler.
see
b46c272b28ba84892534b31c641a6dd412bb0a1e
see
860e98cff580e299cbbd8cdb7eb50d0113b938cc
Tim Düsterhus [Fri, 7 Jan 2022 08:50:28 +0000 (09:50 +0100)]
Revert "Fix PHP 8.1 compatibility when saving I18n options"
During the discussion within the PR is was decided to opt for a different, less
invasive, fix, because the impact of this change is not really clear.
This reverts commit
b46c272b28ba84892534b31c641a6dd412bb0a1e.
Alexander Ebert [Thu, 6 Jan 2022 19:20:12 +0000 (20:20 +0100)]
Nested tab menus were not preselected on load
See https://www.woltlab.com/community/thread/293819-subtab-direkt-aufrufen-geht-nicht/
Marcel Werk [Thu, 6 Jan 2022 17:11:09 +0000 (18:11 +0100)]
Merge branch '5.4' of https://github.com/WoltLab/WCF into 5.4
Marcel Werk [Thu, 6 Jan 2022 17:11:01 +0000 (18:11 +0100)]
signature_max_image_height caused incorrect size of avatars in quotes within signatures
Closes #4625
Alexander Ebert [Thu, 6 Jan 2022 17:08:45 +0000 (18:08 +0100)]
Filtering the user list by a user group discarded the optional columns
Fix for
9bc86ecf0bd32ed2615023bcf9ae398aafbb23fa
See https://www.woltlab.com/community/thread/293719-detailinfos-innerhalb-benutzergruppen-fehlen-im-acp-seit-update-woltlab-suite-5/
Tim Düsterhus [Thu, 6 Jan 2022 09:50:13 +0000 (10:50 +0100)]
Fix PHP 8.1 compatibility when saving I18n options
As I18n options are special-cased, they will not be provided in `rawValues`,
thus passing `null` to `->getData()`, which the option types are not prepared
to handle. Before PHP 8.1 this was implicitly treated as an empty string, with
the types introduced to native functions, e.g. `explode()` or `preg_replace()`
this will result in an error.
Tim Düsterhus [Tue, 4 Jan 2022 15:10:03 +0000 (16:10 +0100)]
Run prettier on `acp/style/**/*.scss`
Tim Düsterhus [Tue, 4 Jan 2022 10:50:50 +0000 (11:50 +0100)]
Encode the double quote (`"`) in StringUtil::encodeJS()
`encodeJSON()` is currently broken, because while it HTML-encodes the double
quote, it does not actually add the backslash in front of it. Depending on
whether the HTML entity is interpreted by the browser in that specific location
or not, this either results in an incorrect string (with a literal `"`
instead of `"`) or in a syntax error (because the `"` ends the string
prematurely).
The latter might even allow for the injection of JavaScript, if `encodeJSON` is
used in a `<script>` tag that is not just LD-JSON metadata.
Fix this issue by escaping the double quote in `encodeJS` which is used
internally by `encodeJSON`. This should not cause issues, as an escaped double
quote is valid syntax within a JavaScript string.
Tim Düsterhus [Mon, 3 Jan 2022 14:40:24 +0000 (15:40 +0100)]
Merge pull request #4619 from WoltLab/recommend-smtp
Mark the SMTP email transport as recommended
Tim Düsterhus [Mon, 3 Jan 2022 09:21:52 +0000 (10:21 +0100)]
Mark the SMTP email transport as recommended
Marcel Werk [Tue, 28 Dec 2021 16:18:10 +0000 (17:18 +0100)]
Pasting in ItemList did not work
Tim Düsterhus [Thu, 23 Dec 2021 10:24:45 +0000 (11:24 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Thu, 23 Dec 2021 10:19:25 +0000 (11:19 +0100)]
Pass the file's basename to the validation regex in StyleEditor::export()
This fixes
84f62ddac1ba9894a9cbb8791085f7799f3760c8.
Alexander Ebert [Wed, 22 Dec 2021 16:26:57 +0000 (17:26 +0100)]
Release 5.4.10
Alexander Ebert [Wed, 22 Dec 2021 14:49:35 +0000 (15:49 +0100)]
Release 5.4.10 dev 2
Alexander Ebert [Wed, 22 Dec 2021 14:46:57 +0000 (15:46 +0100)]
Release 5.3.16
WoltLab [Wed, 22 Dec 2021 14:23:59 +0000 (14:23 +0000)]
Updating minified JavaScript files
Alexander Ebert [Wed, 22 Dec 2021 14:07:29 +0000 (15:07 +0100)]
Improper restore of navigation menu icons
Alexander Ebert [Mon, 20 Dec 2021 15:43:35 +0000 (16:43 +0100)]
Merge pull request #4610 from WoltLab/54-metacode-parse-attributes
Enforce a consistent return type
Alexander Ebert [Mon, 20 Dec 2021 15:10:27 +0000 (16:10 +0100)]
Enforce a consistent return type
The method was designed to always return an array. If the `\base64_code()` fails, it returned `false` instead, which was both unexpected and could fail in PHP 8.1 (autovivification on false, https://wiki.php.net/rfc/autovivification_false)
Alexander Ebert [Fri, 17 Dec 2021 16:38:41 +0000 (17:38 +0100)]
Release 5.4.10 dev 1
Tim Düsterhus [Fri, 17 Dec 2021 12:34:12 +0000 (13:34 +0100)]
Add `wcf.user.3rdparty.login.error.user_aborted` phrase
Tim Düsterhus [Fri, 17 Dec 2021 09:31:27 +0000 (10:31 +0100)]
Fix the include family of "functions" in stack trace sanitization
`include` et al are not actual functions, but language constructs. For this
reason they cannot be reflected, causing their arguments to show as
`[error_during_sanitization]`. Fix this by special casing them to not run the
sanitization, they do not contain sensitive arguments (apart from the path
which is redacted independently later).
WoltLab [Thu, 16 Dec 2021 18:09:39 +0000 (18:09 +0000)]
Updating minified JavaScript files
Alexander Ebert [Thu, 16 Dec 2021 18:08:23 +0000 (19:08 +0100)]
Selection changes on mobile were recognized as clicks
WoltLab [Thu, 16 Dec 2021 14:47:59 +0000 (14:47 +0000)]
Updating minified JavaScript files
joshuaruesweg [Wed, 15 Dec 2021 08:48:19 +0000 (09:48 +0100)]
Remove dot files from image export
Tim Düsterhus [Tue, 14 Dec 2021 10:24:35 +0000 (11:24 +0100)]
Remove obsolete imports
Tim Düsterhus [Tue, 14 Dec 2021 10:02:18 +0000 (11:02 +0100)]
Properly wrap Guzzle's ConnectException into FontDownloadFailed in FontManager
joshuaruesweg [Tue, 14 Dec 2021 09:50:40 +0000 (10:50 +0100)]
Maintain `hasFavicon` attribute during style import
joshuaruesweg [Tue, 14 Dec 2021 09:49:45 +0000 (10:49 +0100)]
Allow file `favicon.ico` for style imports
Tim Düsterhus [Tue, 14 Dec 2021 09:41:32 +0000 (10:41 +0100)]
Tim Düsterhus [Tue, 14 Dec 2021 09:32:50 +0000 (10:32 +0100)]
Update scssphp/scssphp to the updated fork
Tim Düsterhus [Tue, 14 Dec 2021 09:10:20 +0000 (10:10 +0100)]
Fix database and file system getting out of sync for pageLogo in style
This can happen if the style editor is opened in two tabs and no logo is
configured yet. In Tab (A) an logo is uploaded and then Tab (B) is submitted.
Tab (B) will not provided the `pageLogo` key in the `uploads` parameter,
because nothing in this field was changed. Thus the processing for the logo
does not run. However all style variables are cleared upon an edit, thus
clearing the database reference.
Closes #4606
joshuaruesweg [Mon, 13 Dec 2021 14:32:16 +0000 (15:32 +0100)]
Fix wrong return type of LikeObject::getReactions()
Tim Düsterhus [Mon, 13 Dec 2021 13:53:18 +0000 (14:53 +0100)]
Fix UiToggleInput
Found with `strictPropertyInitialization`.
Tim Düsterhus [Mon, 13 Dec 2021 13:46:59 +0000 (14:46 +0100)]
Make Notification/Handler.ts compatible with useUnknownInCatchVariables
Tim Düsterhus [Mon, 13 Dec 2021 13:08:10 +0000 (14:08 +0100)]
Fix return of any value in RewriteTest.ts
Tim Düsterhus [Mon, 13 Dec 2021 13:05:04 +0000 (14:05 +0100)]
Silence `@typescript-eslint/no-unsafe-argument`
Tim Düsterhus [Mon, 13 Dec 2021 13:04:53 +0000 (14:04 +0100)]
Update eslint
Tim Düsterhus [Mon, 13 Dec 2021 12:30:15 +0000 (13:30 +0100)]
Update `@types` packages
Tim Düsterhus [Mon, 13 Dec 2021 12:29:10 +0000 (13:29 +0100)]
Update to prettier 2.5.1
Tim Düsterhus [Mon, 13 Dec 2021 12:28:07 +0000 (13:28 +0100)]
Update to TypeScript 4.5.3
Alexander Ebert [Sat, 11 Dec 2021 12:40:45 +0000 (13:40 +0100)]
Incorrect check for the active suggestion
Tim Düsterhus [Tue, 7 Dec 2021 14:08:18 +0000 (15:08 +0100)]
Merge branch '5.3' into 5.4
mutec [Sun, 28 Nov 2021 10:49:39 +0000 (11:49 +0100)]
Cast `$length` to an actual `int` in TLengthDatabaseTableColumn::length()
When the object is being initialized from the existing structure in the
database, the length will be passed as a string and was previously stored as-is
within the object.
This violates the existing PHPDoc type declaration and breaks consumers that
use a strict comparison (`===`) to check the length, notably
`YearDatabaseTableColumn`.
Fix this by casting the passed parameter to an actual `int`. This should be
adjusted to a proper parameter type in a future version.
Resolves #4594
[Tim: Adjusted commit message]
Tim Düsterhus [Mon, 6 Dec 2021 11:31:56 +0000 (12:31 +0100)]
Strip ZERO WIDTH SPACE in StringUtil::trim()
Alexander Ebert [Sat, 4 Dec 2021 18:24:58 +0000 (19:24 +0100)]
Removing an ACL entry did not persist the current changes to the permissions
Alexander Ebert [Sat, 4 Dec 2021 16:29:59 +0000 (17:29 +0100)]
Deselecting columns for the user result list was overridden by defaults
See https://community.woltlab.com/thread/292760-acp-benutzersuche/
Alexander Ebert [Sat, 4 Dec 2021 16:10:31 +0000 (17:10 +0100)]
Restrict the width of the login form
See https://community.woltlab.com/thread/293054-xsrf-fehlermeldung-beim-acp-login-sieht-b%C3%A4h-b%C3%A4h-aus/
Alexander Ebert [Sat, 4 Dec 2021 15:48:57 +0000 (16:48 +0100)]
Gracefully handle missing permissions to delete cover photos
Alexander Ebert [Sat, 4 Dec 2021 15:14:49 +0000 (16:14 +0100)]
Do not block the DevTools language switch if viewing a non-CMS page
Alexander Ebert [Sat, 4 Dec 2021 14:24:17 +0000 (15:24 +0100)]
Incorrect cleanup of pasted tables
Alexander Ebert [Wed, 1 Dec 2021 18:53:31 +0000 (19:53 +0100)]
Incorrect detection of the last child of a list element when backspacing empty lines
Alexander Ebert [Wed, 1 Dec 2021 18:09:28 +0000 (19:09 +0100)]
Incorrect backspacing of empty paragraphs in list with adjacent lists
Tim Düsterhus [Wed, 1 Dec 2021 09:51:15 +0000 (10:51 +0100)]
Check the name of the PRIMARY KEY in PHP DDL
Resolves #4592
Alexander Ebert [Tue, 30 Nov 2021 15:10:34 +0000 (16:10 +0100)]
Release 5.4.9
Alexander Ebert [Tue, 30 Nov 2021 15:00:49 +0000 (16:00 +0100)]
Merge branch '5.3' into 5.4
Alexander Ebert [Tue, 30 Nov 2021 14:41:50 +0000 (15:41 +0100)]
Release 5.3.15
WoltLab [Tue, 30 Nov 2021 14:34:02 +0000 (14:34 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 30 Nov 2021 14:31:49 +0000 (15:31 +0100)]
Merge branch '5.2' into 5.3
Alexander Ebert [Tue, 30 Nov 2021 13:33:28 +0000 (14:33 +0100)]
Release 5.2.16
WoltLab [Tue, 30 Nov 2021 13:26:57 +0000 (13:26 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 30 Nov 2021 13:25:15 +0000 (14:25 +0100)]
Merge branch '3.1' into 5.2
WoltLab [Tue, 30 Nov 2021 12:57:10 +0000 (12:57 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Tue, 30 Nov 2021 10:30:44 +0000 (11:30 +0100)]
Merge branch '5.3' into 5.4
Sascha Greuel [Tue, 30 Nov 2021 10:23:56 +0000 (11:23 +0100)]
Fixed suffix declaration in XSD
As of now, a suffix is only allowed for option categories, which is wrong,
because a suffix can only be applied to an option itself.
Resolves #4596