GitHub/WoltLab/WCF.git
19 months agoUse `intdiv()` in `ExifUtil::simplifyRational()`
Tim Düsterhus [Mon, 24 Apr 2023 12:19:24 +0000 (14:19 +0200)]
Use `intdiv()` in `ExifUtil::simplifyRational()`

19 months agoMerge pull request #5449 from WoltLab/exifutil-simplify-exposure
Tim Düsterhus [Mon, 24 Apr 2023 12:00:14 +0000 (14:00 +0200)]
Merge pull request #5449 from WoltLab/exifutil-simplify-exposure

Simplify the ExposureTime fraction in ExifUtil::getFormattedExifData()

19 months agoSimplify the ExposureTime fraction in ExifUtil::getFormattedExifData()
Tim Düsterhus [Mon, 24 Apr 2023 11:25:19 +0000 (13:25 +0200)]
Simplify the ExposureTime fraction in ExifUtil::getFormattedExifData()

see https://www.woltlab.com/community/thread/298320-fehlerhafte-exif-daten/

19 months agoMerge pull request #5437 from WoltLab/random-cronjob
Tim Düsterhus [Mon, 24 Apr 2023 08:55:26 +0000 (10:55 +0200)]
Merge pull request #5437 from WoltLab/random-cronjob

Support randomized cronjobs in cronjob PIP

19 months agoRemove obsolete manual cronjob randomization.
Tim Düsterhus [Fri, 21 Apr 2023 11:03:00 +0000 (13:03 +0200)]
Remove obsolete manual cronjob randomization.

19 months agoUse `<expression type="random">` for randomized cronjobs
Tim Düsterhus [Fri, 21 Apr 2023 11:01:36 +0000 (13:01 +0200)]
Use `<expression type="random">` for randomized cronjobs

see #5202

19 months agoGenerate WCF_UUID earlier during installation
Tim Düsterhus [Fri, 21 Apr 2023 11:07:24 +0000 (13:07 +0200)]
Generate WCF_UUID earlier during installation

This is required for cronjob randomization. Some additional changes needed to
be performed to not break WCFSetup. As the options.inc.php is rewritten, the
cookie prefix update needs to be moved into the install script from
PackageInstallationDispatcher.

19 months agoFix the styling of the overflow toolbar
Alexander Ebert [Sun, 23 Apr 2023 09:05:10 +0000 (11:05 +0200)]
Fix the styling of the overflow toolbar

19 months agoFix the overflow behavior of the grouped toolbar
Alexander Ebert [Sun, 23 Apr 2023 09:02:13 +0000 (11:02 +0200)]
Fix the overflow behavior of the grouped toolbar

See #18

19 months agoEnable the automatic grouping of items in the toolbar
Alexander Ebert [Sat, 22 Apr 2023 10:30:16 +0000 (12:30 +0200)]
Enable the automatic grouping of items in the toolbar

Fixes WoltLab/editor#18

19 months agoUse a darker shade to separate split buttons
Alexander Ebert [Fri, 21 Apr 2023 14:05:17 +0000 (16:05 +0200)]
Use a darker shade to separate split buttons

19 months agoFix version variable in INVALID_REQUIRED_PACKAGE_VERSION_NUMBER error message
Tim Düsterhus [Fri, 21 Apr 2023 14:04:05 +0000 (16:04 +0200)]
Fix version variable in INVALID_REQUIRED_PACKAGE_VERSION_NUMBER error message

Fixes #5443

19 months agoMerge pull request #5438 from WoltLab/quit-more-often
Tim Düsterhus [Fri, 21 Apr 2023 13:35:22 +0000 (15:35 +0200)]
Merge pull request #5438 from WoltLab/quit-more-often

Run the userQuit cronjob every 4 hours

19 months agoMerge pull request #5440 from WoltLab/ckeditor5-styling
Alexander Ebert [Fri, 21 Apr 2023 13:27:17 +0000 (15:27 +0200)]
Merge pull request #5440 from WoltLab/ckeditor5-styling

Align the styling of CKEditor 5 with the regular style

19 months agoRemove the border radius from the table creation widget
Alexander Ebert [Fri, 21 Apr 2023 13:18:19 +0000 (15:18 +0200)]
Remove the border radius from the table creation widget

19 months agoApply `cursor: pointer` to all non-disabled buttons
Alexander Ebert [Fri, 21 Apr 2023 13:18:07 +0000 (15:18 +0200)]
Apply `cursor: pointer` to all non-disabled buttons

19 months agoImprove the color scheme of focus indicators
Alexander Ebert [Fri, 21 Apr 2023 12:57:53 +0000 (14:57 +0200)]
Improve the color scheme of focus indicators

19 months agoAdd the missing border to the pseudo dialog for draft restores
Alexander Ebert [Fri, 21 Apr 2023 11:27:34 +0000 (13:27 +0200)]
Add the missing border to the pseudo dialog for draft restores

19 months agoApply the framework’s style to CKEditor
Alexander Ebert [Thu, 20 Apr 2023 17:19:10 +0000 (19:19 +0200)]
Apply the framework’s style to CKEditor

19 months agoApply the style variables for the editor toolbar
Alexander Ebert [Thu, 20 Apr 2023 13:53:00 +0000 (15:53 +0200)]
Apply the style variables for the editor toolbar

19 months agoDelete some remaining `@package` tags in *.php
Tim Düsterhus [Fri, 21 Apr 2023 12:39:38 +0000 (14:39 +0200)]
Delete some remaining `@package` tags in *.php

These were likely sitting in PRs when the tags were removed originally in
bb349f5cfb64ec93ad08f1485a938f851e891cee.

19 months agoRun the userQuit cronjob every 4 hours
Tim Düsterhus [Fri, 21 Apr 2023 12:10:32 +0000 (14:10 +0200)]
Run the userQuit cronjob every 4 hours

Users that initiated their quit reported more than once that their user account
was not yet deleted, even though their quit time already expired. This is
especially pronounced if the planned quit time was in the morning, as the
cronjob previously only ran during night.

Run the cronjob every 4 hours, reducing the time window where the quit time
already expired, but the account is not actually deleted yet. A delay of a few
hours is likely reasonable even for layman users.

19 months agoMerge pull request #5436 from WoltLab/mfa-code-visuals
Tim Düsterhus [Fri, 21 Apr 2023 11:42:29 +0000 (13:42 +0200)]
Merge pull request #5436 from WoltLab/mfa-code-visuals

Improve visuals for MFA code inputs

19 months agoSupport randomized cronjobs in cronjob PIP
Tim Düsterhus [Fri, 21 Apr 2023 10:59:09 +0000 (12:59 +0200)]
Support randomized cronjobs in cronjob PIP

This uses an additional attribute on the `<expression>` for a clear migration
path forward, if the cron expression library gains native support.

With PHP 8.2+ a seedable engine is used, ensuring the values stay the same
after a reimport of the same cronjob.

Resolves #5202

19 months agoImprove visuals for MFA code inputs
Tim Düsterhus [Fri, 21 Apr 2023 09:36:05 +0000 (11:36 +0200)]
Improve visuals for MFA code inputs

The `size=""` attribute does not really match the required size for the input,
even with monospace fonts. Use explicit a `width:` attribute with the `ch` unit
for the few field sizes we actually use, because using an attribute value in
calculations is not possible.

This commit also updates the use of the `monospace` font to
`--wcfFontFamilyMonospace` for consistency.

19 months agoUpdate to FontAwesome 6.4.0
Tim Düsterhus [Fri, 21 Apr 2023 09:20:04 +0000 (11:20 +0200)]
Update to FontAwesome 6.4.0

19 months agoMerge pull request #5434 from WoltLab/username-validating-event
Tim Düsterhus [Fri, 21 Apr 2023 09:15:58 +0000 (11:15 +0200)]
Merge pull request #5434 from WoltLab/username-validating-event

Add UsernameValidating event

19 months agoMerge pull request #5435 from WoltLab/fix-google-font
Tim Düsterhus [Fri, 21 Apr 2023 09:14:42 +0000 (11:14 +0200)]
Merge pull request #5435 from WoltLab/fix-google-font

Fix the use of Google Fonts

19 months agoFix the use of Google Fonts
Tim Düsterhus [Fri, 21 Apr 2023 08:24:46 +0000 (10:24 +0200)]
Fix the use of Google Fonts

Due to the move to proper CSS variables, instead of just SCSS variables, the
variables need to be available during `->bootstrap()` and thus they are
prepared early in the compilation process. This preparation included quoting
the Google Font. Later in the bootstrap, when loading the CSS for the Google
Font, the corresponding CSS file could not be found due to this quoting.

It appears that the quoting of the variable itself is no longer be necessary.
The previous comment stated that font names with 'and' or 'or' in their name
cause issues. While the current list of fonts does not include any font with
'or' in its name, I successfully tested the `Black And White Picture` font.

The SCSS compiled just fine, possibly due to an upgrade of the SCSS compiler
that fixed a limitation. So this is going to be the bugfix.

Fixes #5400

19 months agoMove the REGISTER_USERNAME_FORCE_ASCII check into an event listener
Tim Düsterhus [Thu, 20 Apr 2023 15:33:16 +0000 (17:33 +0200)]
Move the REGISTER_USERNAME_FORCE_ASCII check into an event listener

19 months agoAdd UsernameValidating event
Tim Düsterhus [Thu, 20 Apr 2023 15:25:55 +0000 (17:25 +0200)]
Add UsernameValidating event

19 months agoImprove Ckeditor/Types.ts
Tim Düsterhus [Thu, 20 Apr 2023 13:07:17 +0000 (15:07 +0200)]
Improve Ckeditor/Types.ts

19 months agoUnify the general styling of CKEditor
Alexander Ebert [Thu, 20 Apr 2023 12:15:38 +0000 (14:15 +0200)]
Unify the general styling of CKEditor

Fixes #5428

19 months agoFix incorrect phrase reference in styleAdd.tpl
Tim Düsterhus [Thu, 20 Apr 2023 09:14:19 +0000 (11:14 +0200)]
Fix incorrect phrase reference in styleAdd.tpl

19 months agoMerge branch '5.5'
Tim Düsterhus [Thu, 20 Apr 2023 08:40:02 +0000 (10:40 +0200)]
Merge branch '5.5'

19 months agoAdd parameter types from psr/http-message to LegacyPlaceholderResponse
Tim Düsterhus [Thu, 20 Apr 2023 08:38:09 +0000 (10:38 +0200)]
Add parameter types from psr/http-message to LegacyPlaceholderResponse

19 months agoMerge pull request #5429 from WoltLab/username-spoof
Tim Düsterhus [Thu, 20 Apr 2023 07:02:30 +0000 (09:02 +0200)]
Merge pull request #5429 from WoltLab/username-spoof

Extend REGISTER_USERNAME_FORCE_ASCII to support ICU spoofchecking

19 months agoMerge pull request #5430 from WoltLab/generic-share-button
Marcel Werk [Wed, 19 Apr 2023 16:44:24 +0000 (18:44 +0200)]
Merge pull request #5430 from WoltLab/generic-share-button

Add generic position for share button in the content interaction section

19 months agoUse new position in article template
Marcel Werk [Wed, 19 Apr 2023 14:51:11 +0000 (16:51 +0200)]
Use new position in article template

19 months agoAdd generic position for share button in the content interaction section
Marcel Werk [Wed, 19 Apr 2023 14:43:37 +0000 (16:43 +0200)]
Add generic position for share button in the content interaction section

19 months agoAdd support for button-type share buttons
Marcel Werk [Wed, 19 Apr 2023 14:37:49 +0000 (16:37 +0200)]
Add support for button-type share buttons

19 months agoExtend REGISTER_USERNAME_FORCE_ASCII to support ICU spoofchecking
Tim Düsterhus [Wed, 19 Apr 2023 11:41:06 +0000 (13:41 +0200)]
Extend REGISTER_USERNAME_FORCE_ASCII to support ICU spoofchecking

19 months agoRelease 5.5.11 5.5.11
Alexander Ebert [Wed, 19 Apr 2023 13:32:44 +0000 (15:32 +0200)]
Release 5.5.11

19 months agoMerge branch '5.4' into 5.5
Alexander Ebert [Wed, 19 Apr 2023 12:57:09 +0000 (14:57 +0200)]
Merge branch '5.4' into 5.5

19 months agoRelease 5.4.27 5.4.27
Alexander Ebert [Wed, 19 Apr 2023 12:56:08 +0000 (14:56 +0200)]
Release 5.4.27

19 months agoRequire usernames to be valid UTF-8
Tim Düsterhus [Wed, 19 Apr 2023 12:54:33 +0000 (14:54 +0200)]
Require usernames to be valid UTF-8

19 months agoGenerally consider usernames with bytes less than 0x20 as invalid
Tim Düsterhus [Wed, 19 Apr 2023 12:51:15 +0000 (14:51 +0200)]
Generally consider usernames with bytes less than 0x20 as invalid

NUL bytes, newlines (LF was already restricted) and other ASCII control
characters have no business of existing within an username.

19 months agoMerge branch '5.3' into 5.4
Alexander Ebert [Wed, 19 Apr 2023 12:50:28 +0000 (14:50 +0200)]
Merge branch '5.3' into 5.4

19 months agoRelease 5.3.28 5.3.28 5.3.final
Alexander Ebert [Wed, 19 Apr 2023 12:48:51 +0000 (14:48 +0200)]
Release 5.3.28

19 months agoMerge branch '5.5'
Tim Düsterhus [Wed, 19 Apr 2023 12:00:13 +0000 (14:00 +0200)]
Merge branch '5.5'

19 months agoUpdating minified JavaScript files
WoltLab [Wed, 19 Apr 2023 11:59:20 +0000 (11:59 +0000)]
Updating minified JavaScript files

19 months agoMerge branch '5.4' into 5.5
Tim Düsterhus [Wed, 19 Apr 2023 11:58:03 +0000 (13:58 +0200)]
Merge branch '5.4' into 5.5

19 months agoUpdating minified JavaScript files
WoltLab [Wed, 19 Apr 2023 11:57:15 +0000 (11:57 +0000)]
Updating minified JavaScript files

19 months agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 19 Apr 2023 11:55:57 +0000 (13:55 +0200)]
Merge branch '5.3' into 5.4

19 months agoUpdating minified JavaScript files
WoltLab [Wed, 19 Apr 2023 11:55:07 +0000 (11:55 +0000)]
Updating minified JavaScript files

19 months agoMerge branch '5.5'
Tim Düsterhus [Wed, 19 Apr 2023 11:52:42 +0000 (13:52 +0200)]
Merge branch '5.5'

19 months agoMerge branch '5.4' into 5.5
Tim Düsterhus [Wed, 19 Apr 2023 11:51:47 +0000 (13:51 +0200)]
Merge branch '5.4' into 5.5

19 months agoMerge branch '5.3' into 5.4
Tim Düsterhus [Wed, 19 Apr 2023 11:51:31 +0000 (13:51 +0200)]
Merge branch '5.3' into 5.4

19 months agoMerge branch 'article-clipboard' into 5.3
Tim Düsterhus [Wed, 19 Apr 2023 11:45:04 +0000 (13:45 +0200)]
Merge branch 'article-clipboard' into 5.3

19 months agoMerge branch 'js-unescape-html' into 5.3
Tim Düsterhus [Wed, 19 Apr 2023 11:44:42 +0000 (13:44 +0200)]
Merge branch 'js-unescape-html' into 5.3

19 months agoMerge pull request #5427 from SoftCreatR/patch-1
Alexander Ebert [Tue, 18 Apr 2023 12:46:28 +0000 (14:46 +0200)]
Merge pull request #5427 from SoftCreatR/patch-1

Apply small style optimization

19 months agoFix StyleEditor::update() for absent variables
Tim Düsterhus [Tue, 18 Apr 2023 09:12:14 +0000 (11:12 +0200)]
Fix StyleEditor::update() for absent variables

see d7fad3385012cd86b33b9262c47040b1c7267826

19 months agoFix style variable update in StyleEditor::update()
Tim Düsterhus [Tue, 18 Apr 2023 08:59:27 +0000 (10:59 +0200)]
Fix style variable update in StyleEditor::update()

The previous version overwrote the input variables before processing them. It
also did not support missing a `variables` key, whereas 5.5 did.

see f573c802cc70e929641b7145c1e28ff557ec61ff

19 months agoApplied small stylig optimization
Sascha Greuel [Tue, 18 Apr 2023 07:51:26 +0000 (09:51 +0200)]
Applied small stylig optimization

Adding the `userExceptionMessage` makes it look better. However, I was also thinking about moving from inline CSS. But I wasn't sure, whether this is not intentional. So I left that.

19 months agoFix `StringUtil.unescapeHTML()`
Tim Düsterhus [Tue, 18 Apr 2023 07:42:25 +0000 (09:42 +0200)]
Fix `StringUtil.unescapeHTML()`

The HTML was unescaped in an incorrect order, causing incorrect results for
inputs like:

    StringUtil.unescapeHTML('&amp;quot;')

19 months agoDo not allow setting an inaccessible category in ArticleAction::validateSetCategory()
Tim Düsterhus [Tue, 28 Mar 2023 12:42:51 +0000 (14:42 +0200)]
Do not allow setting an inaccessible category in ArticleAction::validateSetCategory()

19 months agoValidate if an article may be edited in `setCategory` clipboard action
Tim Düsterhus [Tue, 28 Mar 2023 12:41:54 +0000 (14:41 +0200)]
Validate if an article may be edited in `setCategory` clipboard action

19 months agoMerge pull request #5272 from WoltLab/formbuilder-immutable
Tim Düsterhus [Tue, 18 Apr 2023 07:35:12 +0000 (09:35 +0200)]
Merge pull request #5272 from WoltLab/formbuilder-immutable

Always load object data for immutable form fields

19 months agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Mon, 17 Apr 2023 20:04:42 +0000 (22:04 +0200)]
Merge remote-tracking branch 'origin/master'

19 months agoUpdate composer dependencies
Tim Düsterhus [Mon, 17 Apr 2023 20:04:29 +0000 (22:04 +0200)]
Update composer dependencies

19 months agoMerge branch '5.5'
Tim Düsterhus [Mon, 17 Apr 2023 20:03:47 +0000 (22:03 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5409 from WoltLab/pending-packages
Tim Düsterhus [Mon, 17 Apr 2023 17:27:24 +0000 (19:27 +0200)]
Merge pull request #5409 from WoltLab/pending-packages

 Remove incorrect modification of `$pendingPackages` in PackageInstallationNodeBuilder::buildRequirementNodes()

19 months agoUpdate laminas/laminas-diactoros
Tim Düsterhus [Mon, 17 Apr 2023 17:22:50 +0000 (19:22 +0200)]
Update laminas/laminas-diactoros

see laminas/laminas-diactoros@2bc0d0bc2d15a3182d7853f761b6b7d2754821fe

19 months agoMerge branch '5.4' into 5.5
Tim Düsterhus [Mon, 17 Apr 2023 17:20:13 +0000 (19:20 +0200)]
Merge branch '5.4' into 5.5

19 months agoMerge pull request #5336 from WoltLab/first-time-setup
Alexander Ebert [Mon, 17 Apr 2023 16:59:35 +0000 (18:59 +0200)]
Merge pull request #5336 from WoltLab/first-time-setup

Improve FirstTimeSetup

19 months agoFix PHPDoc comments for first time setup
Tim Düsterhus [Fri, 14 Apr 2023 15:02:45 +0000 (17:02 +0200)]
Fix PHPDoc comments for first time setup

19 months agoRemove incorrect `.externalURL` in firstTimeSetupCompleted
Tim Düsterhus [Fri, 14 Apr 2023 14:57:38 +0000 (16:57 +0200)]
Remove incorrect `.externalURL` in firstTimeSetupCompleted

19 months agoHide the container for the license credentials when a skip is requested
Alexander Ebert [Fri, 14 Apr 2023 14:36:47 +0000 (16:36 +0200)]
Hide the container for the license credentials when a skip is requested

19 months agoAdd the final step of the first time setup
Alexander Ebert [Fri, 14 Apr 2023 14:36:00 +0000 (16:36 +0200)]
Add the final step of the first time setup

19 months agoImprove the UI/UX of the license form
Alexander Ebert [Sat, 8 Apr 2023 15:26:13 +0000 (17:26 +0200)]
Improve the UI/UX of the license form

19 months agoAdd description to first time setup option forms
Tim Düsterhus [Tue, 7 Mar 2023 10:29:51 +0000 (11:29 +0100)]
Add description to first time setup option forms

19 months agoAdd `page_description` to first time setup
Tim Düsterhus [Tue, 7 Mar 2023 10:15:15 +0000 (11:15 +0100)]
Add `page_description` to first time setup

19 months agoSplit email options into a separate page during first time setup
Tim Düsterhus [Tue, 7 Mar 2023 10:13:01 +0000 (11:13 +0100)]
Split email options into a separate page during first time setup

19 months agoAdd FirstTimeSetupLicenseForm
Tim Düsterhus [Mon, 6 Mar 2023 14:16:33 +0000 (15:16 +0100)]
Add FirstTimeSetupLicenseForm

19 months agoDrop active menu item in FirstTimeSetupOptionsForm
Tim Düsterhus [Mon, 6 Mar 2023 13:54:47 +0000 (14:54 +0100)]
Drop active menu item in FirstTimeSetupOptionsForm

19 months agoDisallow accessing FirstTimeSetupOptionsForm once first time setup is completed
Tim Düsterhus [Mon, 6 Mar 2023 13:52:56 +0000 (14:52 +0100)]
Disallow accessing FirstTimeSetupOptionsForm once first time setup is completed

19 months agoRemove “Index” button in first time setup options template
Tim Düsterhus [Mon, 6 Mar 2023 13:51:14 +0000 (14:51 +0100)]
Remove “Index” button in first time setup options template

19 months agoSplit first time setup into multiple pages
Tim Düsterhus [Mon, 6 Mar 2023 13:47:15 +0000 (14:47 +0100)]
Split first time setup into multiple pages

19 months agoRemove privacy options from first time setup
Tim Düsterhus [Mon, 6 Mar 2023 13:24:27 +0000 (14:24 +0100)]
Remove privacy options from first time setup

The defaults are fine.

19 months agoRemove reCAPTCHA options from first time setup
Tim Düsterhus [Mon, 6 Mar 2023 13:23:08 +0000 (14:23 +0100)]
Remove reCAPTCHA options from first time setup

The administrator likely does not have them at hand. Showing these fields thus
is likely not actionable to them and easily overwhelming when starting with a
completely new software.

19 months agoRedirect ACP IndexPage to FirstTimeSetup until submitted
Tim Düsterhus [Mon, 6 Mar 2023 13:21:54 +0000 (14:21 +0100)]
Redirect ACP IndexPage to FirstTimeSetup until submitted

19 months agoAdd `first_time_setup_state` option
Tim Düsterhus [Mon, 6 Mar 2023 13:11:46 +0000 (14:11 +0100)]
Add `first_time_setup_state` option

19 months agoDisable offline mode when completing FirstTimeSetup
Tim Düsterhus [Mon, 6 Mar 2023 13:14:49 +0000 (14:14 +0100)]
Disable offline mode when completing FirstTimeSetup

19 months agoAutomatically disable offline mode in developer mode setup
Tim Düsterhus [Mon, 6 Mar 2023 13:14:33 +0000 (14:14 +0100)]
Automatically disable offline mode in developer mode setup

19 months agoEnable offline mode by default
Tim Düsterhus [Mon, 6 Mar 2023 13:14:14 +0000 (14:14 +0100)]
Enable offline mode by default

19 months agoAdd a hint for possible errors in the custom CSS for the dark mode
Alexander Ebert [Mon, 17 Apr 2023 16:43:21 +0000 (18:43 +0200)]
Add a hint for possible errors in the custom CSS for the dark mode

Fixes #5378

19 months agoMark the style description as optional
Alexander Ebert [Mon, 17 Apr 2023 16:37:45 +0000 (18:37 +0200)]
Mark the style description as optional

Fixes #5379

19 months agoFix the import of updated styles
Alexander Ebert [Mon, 17 Apr 2023 16:36:47 +0000 (18:36 +0200)]
Fix the import of updated styles

Fixes #5363

19 months agoMerge branch '5.3' into 5.4
Tim Düsterhus [Mon, 17 Apr 2023 16:23:38 +0000 (18:23 +0200)]
Merge branch '5.3' into 5.4

19 months agoUpdate guzzlehttp/psr7
Tim Düsterhus [Mon, 17 Apr 2023 16:21:29 +0000 (18:21 +0200)]
Update guzzlehttp/psr7

see guzzle/psr7@18fd8915823bd9ca4156e84849e18970057dc7e4