GitHub/WoltLab/WCF.git
13 months agoMerge pull request #5674 from WoltLab/license-cache-expiry
Tim Düsterhus [Fri, 29 Sep 2023 14:38:37 +0000 (16:38 +0200)]
Merge pull request #5674 from WoltLab/license-cache-expiry

Expire the cached license data after 60 days

13 months agoExpire the cached license data after 60 days
Tim Düsterhus [Fri, 29 Sep 2023 14:25:09 +0000 (16:25 +0200)]
Expire the cached license data after 60 days

13 months agoCorrectly handle `null` license data in LicensePage
Tim Düsterhus [Fri, 29 Sep 2023 14:10:16 +0000 (16:10 +0200)]
Correctly handle `null` license data in LicensePage

see 9f79c831c9bb9b5da9a718e42a5fc43aed4037a6

13 months agoFix LicenseApi::clearLicenseFile()
Tim Düsterhus [Fri, 29 Sep 2023 14:08:01 +0000 (16:08 +0200)]
Fix LicenseApi::clearLicenseFile()

13 months agoMerge pull request #5673 from WoltLab/license-page-graceful
Tim Düsterhus [Fri, 29 Sep 2023 13:51:45 +0000 (15:51 +0200)]
Merge pull request #5673 from WoltLab/license-page-graceful

Gracefully handle failed license update requests in LicensePage

13 months agoImprove phrasing of wcf.acp.license.error.parsingFailed
Tim Düsterhus [Fri, 29 Sep 2023 13:40:11 +0000 (15:40 +0200)]
Improve phrasing of wcf.acp.license.error.parsingFailed

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
13 months agoMerge pull request #5672 from WoltLab/license-update
Tim Düsterhus [Fri, 29 Sep 2023 13:34:50 +0000 (15:34 +0200)]
Merge pull request #5672 from WoltLab/license-update

Improve license file update

13 months agoGracefully handle failed license update requests in LicensePage
Tim Düsterhus [Fri, 29 Sep 2023 13:19:37 +0000 (15:19 +0200)]
Gracefully handle failed license update requests in LicensePage

13 months agoAllow InvalidSource in ParsingFailed's constructor
Tim Düsterhus [Fri, 29 Sep 2023 13:04:37 +0000 (15:04 +0200)]
Allow InvalidSource in ParsingFailed's constructor

see e326e68386437737777b2753953099035f22e0d8

13 months agoUpdate the license data using the PackageUpdateListChanged event
Tim Düsterhus [Fri, 29 Sep 2023 12:55:18 +0000 (14:55 +0200)]
Update the license data using the PackageUpdateListChanged event

13 months agoInvoke PackageUpdateDispatcher::refreshPackageData() directly in LicensePage
Tim Düsterhus [Fri, 29 Sep 2023 12:42:31 +0000 (14:42 +0200)]
Invoke PackageUpdateDispatcher::refreshPackageData() directly in LicensePage

13 months agoUnified phrases
Marcel Werk [Fri, 29 Sep 2023 12:26:54 +0000 (14:26 +0200)]
Unified phrases

13 months agoMerge pull request #5671 from WoltLab/license-file-header
Tim Düsterhus [Fri, 29 Sep 2023 10:00:29 +0000 (12:00 +0200)]
Merge pull request #5671 from WoltLab/license-file-header

Adjust format of the license file

13 months agoAdjust format of the license file
Tim Düsterhus [Fri, 29 Sep 2023 09:25:37 +0000 (11:25 +0200)]
Adjust format of the license file

- Use a format that is consistent with `lib/bootstrap.php`.
- Ensure a trailing newline.
- Use the `creationDate` from the LicenseData object as the more accurate date.

13 months agoUse AtomicWriter to write the updated license file
Tim Düsterhus [Fri, 29 Sep 2023 09:21:03 +0000 (11:21 +0200)]
Use AtomicWriter to write the updated license file

The license file is rewritten automatically when refreshing the package list.
Depending on the timing it might only be partially written in case of
concurrent requests.

13 months agoReset OPcache after writing an updated bootstrap loader
Tim Düsterhus [Fri, 29 Sep 2023 09:18:10 +0000 (11:18 +0200)]
Reset OPcache after writing an updated bootstrap loader

13 months agoUpdate composer dependencies
Tim Düsterhus [Thu, 28 Sep 2023 17:17:29 +0000 (19:17 +0200)]
Update composer dependencies

13 months agoForce button labels to be centered when wrapping
Alexander Ebert [Thu, 28 Sep 2023 16:44:07 +0000 (18:44 +0200)]
Force button labels to be centered when wrapping

See https://www.woltlab.com/community/thread/301793-new-conversation-wrong-button-display/

13 months agoIncrease the width of date picker inputs
Alexander Ebert [Thu, 28 Sep 2023 16:37:29 +0000 (18:37 +0200)]
Increase the width of date picker inputs

See https://www.woltlab.com/community/thread/301777-date-inputs-need-more-space/

13 months agoRelease 6.0.0 RC 2 6.0.0_RC_2
Alexander Ebert [Thu, 28 Sep 2023 15:19:15 +0000 (17:19 +0200)]
Release 6.0.0 RC 2

13 months agoRevert "Refresh the internal data of cached reactions"
Alexander Ebert [Thu, 28 Sep 2023 15:17:39 +0000 (17:17 +0200)]
Revert "Refresh the internal data of cached reactions"

This reverts commit 701cba1bd001f09e6b2935523e37fa04820338bc.

13 months agoUpdating minified JavaScript files
WoltLab [Thu, 28 Sep 2023 14:35:00 +0000 (14:35 +0000)]
Updating minified JavaScript files

13 months agoMerge pull request #5666 from WoltLab/persistent-license-data
Alexander Ebert [Wed, 27 Sep 2023 14:43:16 +0000 (16:43 +0200)]
Merge pull request #5666 from WoltLab/persistent-license-data

Persist the license data

13 months agoFix storing the Geocoding results (#5664)
Olaf Braun [Wed, 27 Sep 2023 14:13:37 +0000 (16:13 +0200)]
Fix storing the Geocoding results (#5664)

This was broken due to a typo in the name of the data-* attribute (`googleMapsGeocdingStore`).

Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com>
13 months agoHandle malformed JSON in LicenseApi::parseLicenseData()
Tim Düsterhus [Wed, 27 Sep 2023 14:11:17 +0000 (16:11 +0200)]
Handle malformed JSON in LicenseApi::parseLicenseData()

13 months agoReset OPcache after updating the license data
Tim Düsterhus [Wed, 27 Sep 2023 14:03:18 +0000 (16:03 +0200)]
Reset OPcache after updating the license data

13 months agoWrite an empty license file when failing to read the license data
Tim Düsterhus [Wed, 27 Sep 2023 13:34:00 +0000 (15:34 +0200)]
Write an empty license file when failing to read the license data

13 months agoClear the license data by writing `null` to the license file
Tim Düsterhus [Wed, 27 Sep 2023 13:32:14 +0000 (15:32 +0200)]
Clear the license data by writing `null` to the license file

This will allow to save the readability check in a follow-up commit.

13 months agoStore the creationDate in LicenseData
Tim Düsterhus [Wed, 27 Sep 2023 13:23:42 +0000 (15:23 +0200)]
Store the creationDate in LicenseData

13 months agoCleanly separate the LicenseApi service and the LicenseData value object
Tim Düsterhus [Wed, 27 Sep 2023 13:22:33 +0000 (15:22 +0200)]
Cleanly separate the LicenseApi service and the LicenseData value object

13 months agoAdd helper methods to LicenseData
Tim Düsterhus [Wed, 27 Sep 2023 13:16:08 +0000 (15:16 +0200)]
Add helper methods to LicenseData

13 months agoStore the license data in serialized form
Tim Düsterhus [Wed, 27 Sep 2023 13:09:06 +0000 (15:09 +0200)]
Store the license data in serialized form

This avoids expensive remapping on every request.

13 months agoMap the license data into an object
Tim Düsterhus [Wed, 27 Sep 2023 13:03:21 +0000 (15:03 +0200)]
Map the license data into an object

13 months agoRefresh the license file when searching for updates
Alexander Ebert [Wed, 27 Sep 2023 12:05:09 +0000 (14:05 +0200)]
Refresh the license file when searching for updates

13 months agoReformat the code to use an early return
Alexander Ebert [Wed, 27 Sep 2023 12:00:28 +0000 (14:00 +0200)]
Reformat the code to use an early return

13 months agoRemove the side effect of fetching the license data from the remote
Alexander Ebert [Wed, 27 Sep 2023 11:58:52 +0000 (13:58 +0200)]
Remove the side effect of fetching the license data from the remote

13 months agoAdd the update script to write the license file and sync credentials
Alexander Ebert [Tue, 26 Sep 2023 15:40:52 +0000 (17:40 +0200)]
Add the update script to write the license file and sync credentials

13 months agoDynamically apply the branding free license
Alexander Ebert [Tue, 26 Sep 2023 15:28:20 +0000 (17:28 +0200)]
Dynamically apply the branding free license

13 months agoMake use of the license API in the first time setup
Alexander Ebert [Tue, 26 Sep 2023 15:05:55 +0000 (17:05 +0200)]
Make use of the license API in the first time setup

13 months agoAdd support for the CKEditor license key
Alexander Ebert [Tue, 26 Sep 2023 15:03:50 +0000 (17:03 +0200)]
Add support for the CKEditor license key

13 months agoMake use of the `LicenseApi` to validate the license
Alexander Ebert [Tue, 26 Sep 2023 14:54:58 +0000 (16:54 +0200)]
Make use of the `LicenseApi` to validate the license

13 months agoMerge pull request #5665 from WoltLab/composer
Tim Düsterhus [Tue, 26 Sep 2023 13:08:58 +0000 (15:08 +0200)]
Merge pull request #5665 from WoltLab/composer

Update composer dependencies

13 months agoUpdate composer dependencies
Tim Düsterhus [Tue, 26 Sep 2023 13:06:09 +0000 (15:06 +0200)]
Update composer dependencies

13 months agoUpdating minified JavaScript files
WoltLab [Tue, 26 Sep 2023 09:45:16 +0000 (09:45 +0000)]
Updating minified JavaScript files

13 months agoAdd support for the persistent storage of the license data
Alexander Ebert [Mon, 25 Sep 2023 14:03:26 +0000 (16:03 +0200)]
Add support for the persistent storage of the license data

13 months agoMake use of the save value in WysiwygFormField
Tim Düsterhus [Mon, 25 Sep 2023 12:01:19 +0000 (14:01 +0200)]
Make use of the save value in WysiwygFormField

see 122d9d4ab574a8025fac3c556d40906a7e44ce54

13 months agoSimplify usage of WysiwygFormField
Marcel Werk [Sat, 23 Sep 2023 16:47:11 +0000 (18:47 +0200)]
Simplify usage of WysiwygFormField

See #5624

14 months agoMove the handling of the license data into a separate API
Alexander Ebert [Fri, 22 Sep 2023 15:31:03 +0000 (17:31 +0200)]
Move the handling of the license data into a separate API

14 months agoMerge branch '5.5' into 6.0
Alexander Ebert [Fri, 22 Sep 2023 14:37:23 +0000 (16:37 +0200)]
Merge branch '5.5' into 6.0

14 months agoRelease 5.5.17 5.5.17
Alexander Ebert [Fri, 22 Sep 2023 14:31:43 +0000 (16:31 +0200)]
Release 5.5.17

14 months agoRevert "Prevent attempts to generate thumbnails for underflowing images"
Alexander Ebert [Fri, 22 Sep 2023 13:29:59 +0000 (15:29 +0200)]
Revert "Prevent attempts to generate thumbnails for underflowing images"

This reverts commit 9bac11e57439a075007abe4776eee5c7703da9c1.

14 months agoAdd support for click callbacks for menu buttons
Alexander Ebert [Fri, 22 Sep 2023 13:01:22 +0000 (15:01 +0200)]
Add support for click callbacks for menu buttons

14 months agoUnify the registering of update-related phrases for use in JS
Tim Düsterhus [Thu, 21 Sep 2023 12:00:23 +0000 (14:00 +0200)]
Unify the registering of update-related phrases for use in JS

14 months agoUnify indentation in license.tpl
Tim Düsterhus [Thu, 21 Sep 2023 11:59:43 +0000 (13:59 +0200)]
Unify indentation in license.tpl

14 months agoFix the permission of the LicensePage acpMenu item
Tim Düsterhus [Thu, 21 Sep 2023 10:42:12 +0000 (12:42 +0200)]
Fix the permission of the LicensePage acpMenu item

14 months agoFix the response mapping for the license API
Tim Düsterhus [Thu, 21 Sep 2023 10:39:53 +0000 (12:39 +0200)]
Fix the response mapping for the license API

The authCode is an optional value.

14 months agoClear the `package_server_auth_code` when clearing license data
Tim Düsterhus [Thu, 21 Sep 2023 10:39:26 +0000 (12:39 +0200)]
Clear the `package_server_auth_code` when clearing license data

14 months agoMake LicensePage::$licenseNumber a string
Tim Düsterhus [Thu, 21 Sep 2023 10:23:06 +0000 (12:23 +0200)]
Make LicensePage::$licenseNumber a string

While the licenseNumber is numeric, it is not used as an integer: No
mathematical operations are to be performed on it. Change the type to a string
to make the purpose clear.

14 months agoUpdate composer dependencies
Tim Düsterhus [Thu, 21 Sep 2023 07:44:10 +0000 (09:44 +0200)]
Update composer dependencies

14 months agoRequire an icon to be returned for the user menu item
Alexander Ebert [Wed, 20 Sep 2023 13:26:23 +0000 (15:26 +0200)]
Require an icon to be returned for the user menu item

All code paths already guarantee an icon and the template unconditionally accesses the icon anyway.

14 months agoMove the icon property initialization into the constructor
Alexander Ebert [Wed, 20 Sep 2023 13:17:51 +0000 (15:17 +0200)]
Move the icon property initialization into the constructor

14 months agoSimplify the logic to determine the icon of a user menu item
Alexander Ebert [Wed, 20 Sep 2023 13:13:27 +0000 (15:13 +0200)]
Simplify the logic to determine the icon of a user menu item

14 months agoAdd a dynamic override for user menu item icons
Alexander Ebert [Wed, 20 Sep 2023 13:10:50 +0000 (15:10 +0200)]
Add a dynamic override for user menu item icons

See https://www.woltlab.com/community/thread/301652-brand-icons-in-usermenu-xml-verwenden/

14 months agoFix the support for Font Awesome icons in `userMenu.xml`
Alexander Ebert [Wed, 20 Sep 2023 11:50:19 +0000 (13:50 +0200)]
Fix the support for Font Awesome icons in `userMenu.xml`

14 months agoRevert "Add support for brand icons for `userMenu.xml`"
Alexander Ebert [Wed, 20 Sep 2023 11:45:04 +0000 (13:45 +0200)]
Revert "Add support for brand icons for `userMenu.xml`"

This reverts commit c5391e07cf9f5cc24245b79d7f0c660b13e7a2f2.

14 months agoFix the visuals of the color picker
Alexander Ebert [Wed, 20 Sep 2023 10:32:59 +0000 (12:32 +0200)]
Fix the visuals of the color picker

See https://www.woltlab.com/community/thread/301686-stileditor-farben-mit-seltsamen-hovereffekt/

14 months agoRemove the accidental assignment of `$trophies`
Alexander Ebert [Tue, 19 Sep 2023 15:26:45 +0000 (17:26 +0200)]
Remove the accidental assignment of `$trophies`

14 months agoRedirect back to the license page after installing a package
Alexander Ebert [Tue, 19 Sep 2023 15:23:04 +0000 (17:23 +0200)]
Redirect back to the license page after installing a package

See https://www.woltlab.com/community/thread/301678-acp-lizenzierte-produkte-plugins-installieren/

14 months agoFix the background color of marked media items
Alexander Ebert [Tue, 19 Sep 2023 14:56:48 +0000 (16:56 +0200)]
Fix the background color of marked media items

See https://www.woltlab.com/community/thread/301680-overlayfarbe-medienauswahl/

14 months agoFix the “Insert Media” button for HTML and template content
Alexander Ebert [Tue, 19 Sep 2023 14:53:05 +0000 (16:53 +0200)]
Fix the “Insert Media” button for HTML and template content

See https://www.woltlab.com/community/thread/301681-medien-einf%C3%BCgen-im-acp-funktioniert-nicht/

14 months agoFilter out special trophies that no longer exist
Alexander Ebert [Tue, 19 Sep 2023 13:35:43 +0000 (15:35 +0200)]
Filter out special trophies that no longer exist

See https://www.woltlab.com/community/thread/301663-attempt-to-read-property-showorder-on-null/

14 months agoAdd support for `<button>` inside `.dropdownMenu`
Alexander Ebert [Sat, 16 Sep 2023 13:34:02 +0000 (15:34 +0200)]
Add support for `<button>` inside `.dropdownMenu`

14 months agoFix the appearance of the search reset button
Alexander Ebert [Tue, 19 Sep 2023 12:22:39 +0000 (14:22 +0200)]
Fix the appearance of the search reset button

See https://www.woltlab.com/community/thread/301671-bildauswahl-boxen/

14 months agoImprove the visuals and accessibility of the media image widget
Alexander Ebert [Tue, 19 Sep 2023 12:21:32 +0000 (14:21 +0200)]
Improve the visuals and accessibility of the media image widget

See https://www.woltlab.com/community/thread/301671-bildauswahl-boxen/

14 months agoRename `WebComponents.js` to `.min.js`
Alexander Ebert [Tue, 19 Sep 2023 11:59:59 +0000 (13:59 +0200)]
Rename `WebComponents.js` to `.min.js`

This change prevents CDNs from attempting to minify a file that is already minified.

See https://www.woltlab.com/community/thread/301662-icons-are-not-displayed/

14 months agoMerge branch '5.5' into 6.0
Tim Düsterhus [Tue, 19 Sep 2023 10:04:39 +0000 (12:04 +0200)]
Merge branch '5.5' into 6.0

14 months agoMerge pull request #5660 from WoltLab/mailbox-for-mailto
Tim Düsterhus [Tue, 19 Sep 2023 09:57:01 +0000 (11:57 +0200)]
Merge pull request #5660 from WoltLab/mailbox-for-mailto

Add Mailbox::getAddressForMailto()

14 months agoMerge pull request #5659 from WoltLab/preload-json-graceful
Tim Düsterhus [Tue, 19 Sep 2023 09:50:06 +0000 (11:50 +0200)]
Merge pull request #5659 from WoltLab/preload-json-graceful

Gracefully handle broken preload JSON

14 months agoUse `UserProfile::getEncodedEmail()` in `UserListPage` in ACP
Tim Düsterhus [Tue, 19 Sep 2023 09:06:23 +0000 (11:06 +0200)]
Use `UserProfile::getEncodedEmail()` in `UserListPage` in ACP

14 months agoLeverage `Mailbox::getAddressForMailto()` in `UserProfile::getEncodedEmail()`
Tim Düsterhus [Tue, 19 Sep 2023 09:05:34 +0000 (11:05 +0200)]
Leverage `Mailbox::getAddressForMailto()` in `UserProfile::getEncodedEmail()`

14 months agoAdd Mailbox::getAddressForMailto()
Tim Düsterhus [Tue, 19 Sep 2023 08:57:33 +0000 (10:57 +0200)]
Add Mailbox::getAddressForMailto()

14 months agoAdd Mailbox::splitLocalpartAndDomain()
Tim Düsterhus [Tue, 19 Sep 2023 08:57:18 +0000 (10:57 +0200)]
Add Mailbox::splitLocalpartAndDomain()

14 months agoGracefully handle broken preload JSON
Tim Düsterhus [Tue, 19 Sep 2023 07:58:44 +0000 (09:58 +0200)]
Gracefully handle broken preload JSON

see https://www.woltlab.com/community/thread/301669-was-will-mir-diese-fehlermeldung-sagen/

14 months agoFix the support for Font Awesome icons in `acpMenu.xml`
Alexander Ebert [Mon, 18 Sep 2023 18:09:57 +0000 (20:09 +0200)]
Fix the support for Font Awesome icons in `acpMenu.xml`

See https://www.woltlab.com/community/thread/301641-entwickler-werkzeuge-acpmenu-icons-machen-acp-kaputt/

14 months agoAdd support for brand icons for `userMenu.xml`
Alexander Ebert [Mon, 18 Sep 2023 17:24:06 +0000 (19:24 +0200)]
Add support for brand icons for `userMenu.xml`

See https://www.woltlab.com/community/thread/301652-brand-icons-in-usemenu-xml-verwenden/

14 months agoRelease 5.5.16 5.5.16
Alexander Ebert [Mon, 18 Sep 2023 13:11:08 +0000 (15:11 +0200)]
Release 5.5.16

14 months agoUpdating minified JavaScript files
WoltLab [Mon, 18 Sep 2023 13:08:56 +0000 (13:08 +0000)]
Updating minified JavaScript files

14 months agoMerge branch '5.4' into 5.5
Alexander Ebert [Mon, 18 Sep 2023 13:07:28 +0000 (15:07 +0200)]
Merge branch '5.4' into 5.5

14 months agoRelease 5.4.32 5.4.32
Alexander Ebert [Mon, 18 Sep 2023 12:22:14 +0000 (14:22 +0200)]
Release 5.4.32

14 months agoImprove the visuals of outstanding updates
Alexander Ebert [Mon, 18 Sep 2023 12:15:08 +0000 (14:15 +0200)]
Improve the visuals of outstanding updates

14 months agoMerge pull request #5658 from WoltLab/html-output-href-validation
Tim Düsterhus [Mon, 18 Sep 2023 10:48:54 +0000 (12:48 +0200)]
Merge pull request #5658 from WoltLab/html-output-href-validation

Properly handle malformed URIs in HtmlOutputNodeA

14 months agoRemove useless emptyness checks in HtmlOutputNodeA
Tim Düsterhus [Mon, 18 Sep 2023 09:54:18 +0000 (11:54 +0200)]
Remove useless emptyness checks in HtmlOutputNodeA

`$value` is guaranteed to be non-empty at this point.

14 months agoDisallow empty link values in HtmlOutputNodeA
Tim Düsterhus [Mon, 18 Sep 2023 09:53:40 +0000 (11:53 +0200)]
Disallow empty link values in HtmlOutputNodeA

14 months agoProperly handle malformed URIs in HtmlOutputNodeA
Tim Düsterhus [Mon, 18 Sep 2023 09:50:55 +0000 (11:50 +0200)]
Properly handle malformed URIs in HtmlOutputNodeA

14 months agoFix the return type of `getParentNode()`
Alexander Ebert [Sat, 16 Sep 2023 16:46:20 +0000 (18:46 +0200)]
Fix the return type of `getParentNode()`

See https://www.woltlab.com/community/thread/301636-pagenode-getparentnode-wirft-fehler-wenn-parentnode-null/

14 months agoSkip the filter initialization if there are no projects
Alexander Ebert [Sat, 16 Sep 2023 16:45:07 +0000 (18:45 +0200)]
Skip the filter initialization if there are no projects

See https://www.woltlab.com/community/thread/301637-js-fehler-in-entwickler-werkzeuge-wenn-kein-projekt-vorhanden-ist/

14 months agoTrim the description of a style package to 255 characters
Alexander Ebert [Sat, 16 Sep 2023 12:29:07 +0000 (14:29 +0200)]
Trim the description of a style package to 255 characters

See https://www.woltlab.com/community/thread/301562-fehler-bei-zu-langem-text-in-der-stilbeschreibung/

14 months agoUse `wheneverSeen()` to allow elements being reinitialized
Alexander Ebert [Sat, 16 Sep 2023 12:24:46 +0000 (14:24 +0200)]
Use `wheneverSeen()` to allow elements being reinitialized

14 months agoUse distinct variables for the time only mode
Alexander Ebert [Sat, 16 Sep 2023 10:32:40 +0000 (12:32 +0200)]
Use distinct variables for the time only mode

See https://www.woltlab.com/community/thread/301628-the-time-selector-tooltip-message-needs-to-be-fixed/

14 months agoRefresh the internal data of cached reactions
Alexander Ebert [Sat, 16 Sep 2023 10:22:42 +0000 (12:22 +0200)]
Refresh the internal data of cached reactions

See https://www.woltlab.com/community/thread/301627-when-changing-the-reaction-image-the-file-is-not-updated-in-the-dashboard/