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.
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
Tim Düsterhus [Fri, 21 Apr 2023 09:20:04 +0000 (11:20 +0200)]
Update to FontAwesome 6.4.0
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
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
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
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
Tim Düsterhus [Thu, 20 Apr 2023 15:25:55 +0000 (17:25 +0200)]
Add UsernameValidating event
Tim Düsterhus [Thu, 20 Apr 2023 13:07:17 +0000 (15:07 +0200)]
Improve Ckeditor/Types.ts
Alexander Ebert [Thu, 20 Apr 2023 12:15:38 +0000 (14:15 +0200)]
Unify the general styling of CKEditor
Fixes #5428
Tim Düsterhus [Thu, 20 Apr 2023 09:14:19 +0000 (11:14 +0200)]
Fix incorrect phrase reference in styleAdd.tpl
Tim Düsterhus [Thu, 20 Apr 2023 08:40:02 +0000 (10:40 +0200)]
Merge branch '5.5'
Tim Düsterhus [Thu, 20 Apr 2023 08:38:09 +0000 (10:38 +0200)]
Add parameter types from psr/http-message to LegacyPlaceholderResponse
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
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
Marcel Werk [Wed, 19 Apr 2023 14:51:11 +0000 (16:51 +0200)]
Use new position in article template
Marcel Werk [Wed, 19 Apr 2023 14:43:37 +0000 (16:43 +0200)]
Add generic position for share button in the content interaction section
Marcel Werk [Wed, 19 Apr 2023 14:37:49 +0000 (16:37 +0200)]
Add support for button-type share buttons
Tim Düsterhus [Wed, 19 Apr 2023 11:41:06 +0000 (13:41 +0200)]
Extend REGISTER_USERNAME_FORCE_ASCII to support ICU spoofchecking
Alexander Ebert [Wed, 19 Apr 2023 13:32:44 +0000 (15:32 +0200)]
Release 5.5.11
Alexander Ebert [Wed, 19 Apr 2023 12:57:09 +0000 (14:57 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Wed, 19 Apr 2023 12:56:08 +0000 (14:56 +0200)]
Release 5.4.27
Tim Düsterhus [Wed, 19 Apr 2023 12:54:33 +0000 (14:54 +0200)]
Require usernames to be valid UTF-8
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.
Alexander Ebert [Wed, 19 Apr 2023 12:50:28 +0000 (14:50 +0200)]
Merge branch '5.3' into 5.4
Alexander Ebert [Wed, 19 Apr 2023 12:48:51 +0000 (14:48 +0200)]
Release 5.3.28
Tim Düsterhus [Wed, 19 Apr 2023 12:00:13 +0000 (14:00 +0200)]
Merge branch '5.5'
WoltLab [Wed, 19 Apr 2023 11:59:20 +0000 (11:59 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Wed, 19 Apr 2023 11:58:03 +0000 (13:58 +0200)]
Merge branch '5.4' into 5.5
WoltLab [Wed, 19 Apr 2023 11:57:15 +0000 (11:57 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Wed, 19 Apr 2023 11:55:57 +0000 (13:55 +0200)]
Merge branch '5.3' into 5.4
WoltLab [Wed, 19 Apr 2023 11:55:07 +0000 (11:55 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Wed, 19 Apr 2023 11:52:42 +0000 (13:52 +0200)]
Merge branch '5.5'
Tim Düsterhus [Wed, 19 Apr 2023 11:51:47 +0000 (13:51 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Wed, 19 Apr 2023 11:51:31 +0000 (13:51 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Wed, 19 Apr 2023 11:45:04 +0000 (13:45 +0200)]
Merge branch 'article-clipboard' 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
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
Tim Düsterhus [Tue, 18 Apr 2023 09:12:14 +0000 (11:12 +0200)]
Fix StyleEditor::update() for absent variables
see
d7fad3385012cd86b33b9262c47040b1c7267826
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
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.
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('&quot;')
Tim Düsterhus [Tue, 28 Mar 2023 12:42:51 +0000 (14:42 +0200)]
Do not allow setting an inaccessible category in ArticleAction::validateSetCategory()
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
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
Tim Düsterhus [Mon, 17 Apr 2023 20:04:42 +0000 (22:04 +0200)]
Merge remote-tracking branch 'origin/master'
Tim Düsterhus [Mon, 17 Apr 2023 20:04:29 +0000 (22:04 +0200)]
Update composer dependencies
Tim Düsterhus [Mon, 17 Apr 2023 20:03:47 +0000 (22:03 +0200)]
Merge branch '5.5'
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()
Tim Düsterhus [Mon, 17 Apr 2023 17:22:50 +0000 (19:22 +0200)]
Update laminas/laminas-diactoros
see laminas/laminas-diactoros@
2bc0d0bc2d15a3182d7853f761b6b7d2754821fe
Tim Düsterhus [Mon, 17 Apr 2023 17:20:13 +0000 (19:20 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Mon, 17 Apr 2023 16:59:35 +0000 (18:59 +0200)]
Merge pull request #5336 from WoltLab/first-time-setup
Improve FirstTimeSetup
Tim Düsterhus [Fri, 14 Apr 2023 15:02:45 +0000 (17:02 +0200)]
Fix PHPDoc comments for first time setup
Tim Düsterhus [Fri, 14 Apr 2023 14:57:38 +0000 (16:57 +0200)]
Remove incorrect `.externalURL` in firstTimeSetupCompleted
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
Alexander Ebert [Fri, 14 Apr 2023 14:36:00 +0000 (16:36 +0200)]
Add the final step of the first time setup
Alexander Ebert [Sat, 8 Apr 2023 15:26:13 +0000 (17:26 +0200)]
Improve the UI/UX of the license form
Tim Düsterhus [Tue, 7 Mar 2023 10:29:51 +0000 (11:29 +0100)]
Add description to first time setup option forms
Tim Düsterhus [Tue, 7 Mar 2023 10:15:15 +0000 (11:15 +0100)]
Add `page_description` to 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
Tim Düsterhus [Mon, 6 Mar 2023 14:16:33 +0000 (15:16 +0100)]
Add FirstTimeSetupLicenseForm
Tim Düsterhus [Mon, 6 Mar 2023 13:54:47 +0000 (14:54 +0100)]
Drop active menu item in FirstTimeSetupOptionsForm
Tim Düsterhus [Mon, 6 Mar 2023 13:52:56 +0000 (14:52 +0100)]
Disallow accessing FirstTimeSetupOptionsForm once first time setup is completed
Tim Düsterhus [Mon, 6 Mar 2023 13:51:14 +0000 (14:51 +0100)]
Remove “Index” button in first time setup options template
Tim Düsterhus [Mon, 6 Mar 2023 13:47:15 +0000 (14:47 +0100)]
Split first time setup into multiple pages
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.
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.
Tim Düsterhus [Mon, 6 Mar 2023 13:21:54 +0000 (14:21 +0100)]
Redirect ACP IndexPage to FirstTimeSetup until submitted
Tim Düsterhus [Mon, 6 Mar 2023 13:11:46 +0000 (14:11 +0100)]
Add `first_time_setup_state` option
Tim Düsterhus [Mon, 6 Mar 2023 13:14:49 +0000 (14:14 +0100)]
Disable offline mode when completing FirstTimeSetup
Tim Düsterhus [Mon, 6 Mar 2023 13:14:33 +0000 (14:14 +0100)]
Automatically disable offline mode in developer mode setup
Tim Düsterhus [Mon, 6 Mar 2023 13:14:14 +0000 (14:14 +0100)]
Enable offline mode by default
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
Alexander Ebert [Mon, 17 Apr 2023 16:37:45 +0000 (18:37 +0200)]
Mark the style description as optional
Fixes #5379
Alexander Ebert [Mon, 17 Apr 2023 16:36:47 +0000 (18:36 +0200)]
Fix the import of updated styles
Fixes #5363
Tim Düsterhus [Mon, 17 Apr 2023 16:23:38 +0000 (18:23 +0200)]
Merge branch '5.3' into 5.4
Tim Düsterhus [Mon, 17 Apr 2023 16:21:29 +0000 (18:21 +0200)]
Marcel Werk [Mon, 17 Apr 2023 16:05:43 +0000 (18:05 +0200)]
Merge branch 'master' of https://github.com/WoltLab/WCF
Marcel Werk [Mon, 17 Apr 2023 16:05:35 +0000 (18:05 +0200)]
Fix indentation
Marcel Werk [Mon, 17 Apr 2023 16:04:39 +0000 (18:04 +0200)]
Add additional template event in comment list
Alexander Ebert [Mon, 17 Apr 2023 16:01:23 +0000 (18:01 +0200)]
Update the CSS for the mobile unread indicator
The HTML was overhauled but the CSS itself was still targeting the previous markup.
Fixes #5390
Alexander Ebert [Mon, 17 Apr 2023 15:46:27 +0000 (17:46 +0200)]
Fix the comparison and storing of style variables
Fixes #5377
Alexander Ebert [Mon, 17 Apr 2023 15:45:51 +0000 (17:45 +0200)]
Move the helper method for dark mode sensitive variables
Alexander Ebert [Mon, 17 Apr 2023 15:06:42 +0000 (17:06 +0200)]
Improve the filter for variables with a dark mode variant
Alexander Ebert [Mon, 17 Apr 2023 14:57:12 +0000 (16:57 +0200)]
Discard intermediate values for the dark mode values
Fixes #5398
Tim Düsterhus [Thu, 6 Apr 2023 09:32:52 +0000 (11:32 +0200)]
Remove incorrect modification of `$pendingPackages` in PackageInstallationNodeBuilder::buildRequirementNodes()
Previously the `$pendingPackages` were only used to resolve dependencies, thus
the exact position for registering the new version does not really matter.
However with
5df3e65185d4d3f1be7464b1999b949946a5c765 the version is also used
to select the correct update instructions.
Thus the new package version must only be registered after the nodes for the
package in question have actually been built, similarly to the change in
2406351b19c5fac66b8413ba1f6660a376b7e18f.
In fact the registration in `buildRequirementNodes()` is completely redundant
since commit
7ddf2af9528be4c114d4ad83b804c3529769f24c, as the new version will
be registered in `->buildNodes()` a few lines afterwards. The
`$pendingPackages` variable is not read in-between. Thus this will be our fix:
The incorrect line is simply removed without replacement.
Tim Düsterhus [Mon, 17 Apr 2023 13:48:13 +0000 (15:48 +0200)]
Fix package uninstallation
see #5426
Alexander Ebert [Mon, 17 Apr 2023 13:57:15 +0000 (15:57 +0200)]
Drop the intermediate field for custom SCSS code
Fixes #5398
Marcel Werk [Mon, 17 Apr 2023 13:38:52 +0000 (15:38 +0200)]
Merge branch 'master' of https://github.com/WoltLab/WCF
Marcel Werk [Mon, 17 Apr 2023 13:38:50 +0000 (15:38 +0200)]
Remove obsolete code
The primary entity is already set by the statement `itemprop="mainEntity"`.
Tim Düsterhus [Mon, 17 Apr 2023 13:35:22 +0000 (15:35 +0200)]
Merge pull request #5426 from WoltLab/update-safety-check
Add package update safety check with regard to version numbers
Alexander Ebert [Mon, 17 Apr 2023 13:30:24 +0000 (15:30 +0200)]
Fix the recognition of non namespaced variable values when editing a style
See #5376
Alexander Ebert [Mon, 17 Apr 2023 12:09:26 +0000 (14:09 +0200)]
Fixed the compilation of styles when editing them
Fixes #5376
Tim Düsterhus [Mon, 17 Apr 2023 12:07:02 +0000 (14:07 +0200)]
Add package update safety check with regard to version numbers
During a multi-package update, e.g. when upgrading to a new major release, the
entire installation plan is built upfront. Do to so the package system needs to
keep track of the to-be-installed packages and package versions to properly
resolve update instructions and dependencies.
This is done using the `PackageInstallationNodeBuilder::$pendingPackages`
variable which needs to be updated at exactly the right locations. Historically
there were a few issues with incorrect versions being stored in that variable
which in turn might cause the installation to use the wrong instructions based
on the wrong assumed version number.
To ensure that such a broken installation plan does not cause havoc, the
assumed version is now stored within the start marker node. When it's time to
actually install the package this assumed version is compared to the actual
version. If there's a mismatch, the update is aborted at a safe point: The
previous package is fully installed. For the current package with the wrongly
selected instructions no actual installation logic was performed yet. The admin
can retry the update and now the installation process will (hopefully) select
correct instructions when starting from a clean state.
see #5409
Tim Düsterhus [Mon, 17 Apr 2023 11:35:33 +0000 (13:35 +0200)]
Update composer dependencies
Alexander Ebert [Sun, 16 Apr 2023 18:33:25 +0000 (20:33 +0200)]
Slightly increase the spacing between a category and its first item
Alexander Ebert [Fri, 14 Apr 2023 13:47:34 +0000 (15:47 +0200)]
Use CSS classes for text alignment
Fixes WoltLab/editor#31
Tim Düsterhus [Fri, 14 Apr 2023 13:39:53 +0000 (15:39 +0200)]
Update fileDelete.xml
Alexander Ebert [Fri, 14 Apr 2023 13:39:59 +0000 (15:39 +0200)]
Align the generated HTML of quotes with the editor’s expectations
Fixes WoltLab/editor#32
Alexander Ebert [Fri, 14 Apr 2023 13:29:54 +0000 (15:29 +0200)]
Fix the update instructions