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 [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
Alexander Ebert [Tue, 30 Nov 2021 10:01:51 +0000 (11:01 +0100)]
Release 3.1.24
Alexander Ebert [Mon, 22 Nov 2021 16:28:56 +0000 (17:28 +0100)]
Release 5.4.9 dev 2
WoltLab [Mon, 22 Nov 2021 16:21:26 +0000 (16:21 +0000)]
Updating minified JavaScript files
Alexander Ebert [Mon, 22 Nov 2021 16:19:55 +0000 (17:19 +0100)]
Unable to insert new links into the editor
Fixes
3222504e625d0760d82edc4856cda903be8d7497
Tim Düsterhus [Mon, 22 Nov 2021 11:39:41 +0000 (12:39 +0100)]
Merge pull request #4589 from WoltLab/5.4-vb5crypt
Add `Vb5Bcrypt` password algorithm
joshuaruesweg [Mon, 22 Nov 2021 11:24:54 +0000 (12:24 +0100)]
Add `Vb5Bcrypt` password algorithm
Alexander Ebert [Sun, 21 Nov 2021 22:48:12 +0000 (23:48 +0100)]
Release 5.4.9 dev 1
WoltLab [Sat, 20 Nov 2021 13:46:26 +0000 (13:46 +0000)]
Updating minified JavaScript files
Alexander Ebert [Sat, 20 Nov 2021 12:40:17 +0000 (13:40 +0100)]
Incorrect `width` of images for embedded links
Replaces #4587
Alexander Ebert [Fri, 19 Nov 2021 16:59:04 +0000 (17:59 +0100)]
Workaround to recover tmpHashes for attachments for the `wcf\form\MessageForm`
Fixes WoltLab/com.woltlab.wbb#504
Alexander Ebert [Thu, 11 Nov 2021 10:22:08 +0000 (11:22 +0100)]
Incorrect version number in the installer
Alexander Ebert [Wed, 10 Nov 2021 18:23:39 +0000 (19:23 +0100)]
Merge branch '5.3' into 5.4
Alexander Ebert [Wed, 10 Nov 2021 18:22:29 +0000 (19:22 +0100)]
Merge branch '5.2' into 5.3
Alexander Ebert [Wed, 10 Nov 2021 18:22:18 +0000 (19:22 +0100)]
Merge branch '3.1' into 5.2
Alexander Ebert [Wed, 10 Nov 2021 18:21:40 +0000 (19:21 +0100)]
Incorrect reset of the timer to show the loading indicator
The missing reset caused repeated calls to `show()` being effectively ignored, because the check `_timeoutShow === null` would be always true if the callback was cancelled before.
See https://community.woltlab.com/thread/293232-ajaxstatus-wird-nach-einem-fehlerhaften-request-nicht-wieder-angezeigt/
Alexander Ebert [Wed, 10 Nov 2021 17:35:43 +0000 (18:35 +0100)]
Enforce the aspect ratio when capping the image height
Alexander Ebert [Sun, 7 Nov 2021 15:11:48 +0000 (16:11 +0100)]
Fix for code boxes inside quotes
Alexander Ebert [Sat, 6 Nov 2021 14:03:09 +0000 (15:03 +0100)]
Removed the (hidden) links in the article lists
The links in the footer are inaccessible due to the title link which spans the entire element. They serve no real purpose anyway and can simply be left out, also improving keyboard navigation by skipping pointless links.
See https://community.woltlab.com/thread/292905-artikelauflistung-link-zu-benutzer-geht-nicht/
Alexander Ebert [Sat, 6 Nov 2021 13:51:41 +0000 (14:51 +0100)]
Incorrect position of the edit options for messages on mobile
See https://community.woltlab.com/thread/293126-beitrag-bearbeiten-mobil-nur-schwer-oder-nicht-immer-m%C3%B6glich/
Alexander Ebert [Sat, 6 Nov 2021 13:05:58 +0000 (14:05 +0100)]
Preserve the link that is being edited when the focus is lost
See https://community.woltlab.com/thread/292962-link-bearbeiten-funktioniert-auf-einigen-mobilen-ger%C3%A4ten-nicht/
Alexander Ebert [Sat, 6 Nov 2021 12:22:44 +0000 (13:22 +0100)]
Improved the position of the link tooltip on small screens
Alexander Ebert [Sat, 6 Nov 2021 11:31:31 +0000 (12:31 +0100)]
Workaround for a gap with fullscreen dialogs on iOS
See https://community.woltlab.com/thread/292818-fehler-bei-der-anzeige-von-reaktionen-in-der-mobilen-ansicht/
Alexander Ebert [Fri, 5 Nov 2021 17:05:49 +0000 (18:05 +0100)]
Expose the article bbcode template to the admin panel
See https://community.woltlab.com/thread/292627-artikelvorschau-funktioniert-nicht-bei-nutzung-von-wsa-bb-code/
Tim Düsterhus [Fri, 5 Nov 2021 11:33:05 +0000 (12:33 +0100)]
Tim Düsterhus [Fri, 5 Nov 2021 11:16:27 +0000 (12:16 +0100)]
Tim Düsterhus [Fri, 5 Nov 2021 10:56:08 +0000 (11:56 +0100)]
Update to WoltLab/zxcvbn@
ade1e45a9a744600124f760243535b366ce76483
Resolves #4578
mutec [Thu, 4 Nov 2021 18:03:19 +0000 (19:03 +0100)]
Fix typo in TS comment
see #4577
Tim Düsterhus [Thu, 4 Nov 2021 14:54:19 +0000 (15:54 +0100)]
Clean up attachment tmpHash handling in WYSIWYG autosave (#4576)
The previous `.splice()` call was erroneous because it might remove more
entries in case the to-be-removed entry is not the last within the array for
whatever reason.
Replace the whole logic with a modern `.filter()`, cleanly filtering out all
existing entries for the current `tmpHash` and then readding it, if it still is
required.
Co-authored-by: Alexander Ebert <ebert@woltlab.com>
Tim Düsterhus [Thu, 4 Nov 2021 14:38:16 +0000 (15:38 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Thu, 4 Nov 2021 14:35:33 +0000 (15:35 +0100)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Thu, 4 Nov 2021 14:34:47 +0000 (15:34 +0100)]
Fix error message for `foreignColumnChange` in PHP DDL API
Tim Düsterhus [Tue, 2 Nov 2021 12:38:13 +0000 (13:38 +0100)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Tue, 2 Nov 2021 12:36:47 +0000 (13:36 +0100)]
Merge branch '5.2' into 5.3
Tim Düsterhus [Tue, 2 Nov 2021 12:34:12 +0000 (13:34 +0100)]
Merge branch '3.1' into 5.2
Tim Düsterhus [Tue, 2 Nov 2021 12:31:07 +0000 (13:31 +0100)]
Merge pull request #4574 from WoltLab/supportexpiry-31
Notify users of the expiring support
Tim Düsterhus [Tue, 2 Nov 2021 11:11:50 +0000 (12:11 +0100)]
Tim Düsterhus [Tue, 2 Nov 2021 09:24:50 +0000 (10:24 +0100)]
Fix code style in UserFormField
Tim Düsterhus [Tue, 2 Nov 2021 09:10:20 +0000 (10:10 +0100)]
Ignore values referring to non-existent users in UserFormField::value()
This is required when reloading database values for a UserFormField that is not
required. The column either contains a `0` or `null` which previously failed to
reload.
Fix this by filtering out `null` values from `$this->users` and gracefully
handling an empty `$this->users` array.
Tim Düsterhus [Tue, 2 Nov 2021 08:39:23 +0000 (09:39 +0100)]
Fix UserProfile::getUserProfilesByUsername() if `null` is cached