GitHub/WoltLab/WCF.git
13 months agoUse the proper format for the instance number label-picker
Alexander Ebert [Fri, 13 Oct 2023 13:40:33 +0000 (15:40 +0200)]
Use the proper format for the instance number

13 months agoUse `\http_build_query()` and the proper name to build the query string
Alexander Ebert [Fri, 13 Oct 2023 13:39:49 +0000 (15:39 +0200)]
Use `\http_build_query()` and the proper name to build the query string

13 months agoImplement `IteratorAggregate` to delegate iteration of the available label pickers
Alexander Ebert [Mon, 9 Oct 2023 16:10:27 +0000 (18:10 +0200)]
Implement `IteratorAggregate` to delegate iteration of the available label pickers

13 months agoImprove the code logic
Alexander Ebert [Mon, 9 Oct 2023 16:05:53 +0000 (18:05 +0200)]
Improve the code logic

13 months agoDeprecate the legacy label chooser
Alexander Ebert [Sun, 8 Oct 2023 15:58:56 +0000 (17:58 +0200)]
Deprecate the legacy label chooser

13 months agoUpgrade the `LabelFormField` to use the new picker
Alexander Ebert [Sat, 7 Oct 2023 16:17:09 +0000 (18:17 +0200)]
Upgrade the `LabelFormField` to use the new picker

13 months agoAdd support for custom field names and ids
Alexander Ebert [Sat, 7 Oct 2023 16:16:26 +0000 (18:16 +0200)]
Add support for custom field names and ids

13 months agoAdd `LabelPickerGroup` to ease the integration
Alexander Ebert [Fri, 6 Oct 2023 16:13:14 +0000 (18:13 +0200)]
Add `LabelPickerGroup` to ease the integration

The previous implementation required a lot of boilerplate code that was copied a lot of times.

13 months agoRename `getId()` to `getElementID()`
Alexander Ebert [Thu, 5 Oct 2023 16:09:02 +0000 (18:09 +0200)]
Rename `getId()` to `getElementID()`

The naming is more in line with the PHP API and makes it clear that this is not the label group’s id.

13 months agoFix the sizing of buttons in menus
Alexander Ebert [Thu, 5 Oct 2023 15:45:13 +0000 (17:45 +0200)]
Fix the sizing of buttons in menus

13 months agoClean up the label picker
Alexander Ebert [Wed, 4 Oct 2023 15:48:49 +0000 (17:48 +0200)]
Clean up the label picker

13 months agoAdd the typing for `<woltlab-core-label-picker>`
Alexander Ebert [Thu, 28 Sep 2023 22:16:20 +0000 (00:16 +0200)]
Add the typing for `<woltlab-core-label-picker>`

13 months agoPreserve the label selection on validation errors
Alexander Ebert [Thu, 28 Sep 2023 22:11:18 +0000 (00:11 +0200)]
Preserve the label selection on validation errors

13 months agoReplace the legacy category binding of label groups
Alexander Ebert [Sat, 23 Sep 2023 17:49:35 +0000 (19:49 +0200)]
Replace the legacy category binding of label groups

13 months agoAssign the selected label to the picker
Alexander Ebert [Sat, 23 Sep 2023 17:28:31 +0000 (19:28 +0200)]
Assign the selected label to the picker

13 months agoAdd support for form elements and disabling the picker
Alexander Ebert [Fri, 22 Sep 2023 12:58:27 +0000 (14:58 +0200)]
Add support for form elements and disabling the picker

13 months agoPrototype of a new label picker
Alexander Ebert [Thu, 21 Sep 2023 15:49:02 +0000 (17:49 +0200)]
Prototype of a new label picker

13 months agoInclude the label id in `Label::render()`
Alexander Ebert [Wed, 20 Sep 2023 16:54:33 +0000 (18:54 +0200)]
Include the label id in `Label::render()`

13 months agoMerge branch '6.0'
Tim Düsterhus [Thu, 5 Oct 2023 15:37:08 +0000 (17:37 +0200)]
Merge branch '6.0'

13 months agoShow the data if the timestamp is more than 6 days ago
Alexander Ebert [Thu, 5 Oct 2023 15:28:16 +0000 (17:28 +0200)]
Show the data if the timestamp is more than 6 days ago

This prevents dates reading the “current” day but are actually referring to the same day of the week before.

The behavior is now in sync with the relative timestamp in <= 5.5 which also used 6 days as the maximum to use day names.

See https://www.woltlab.com/community/thread/301903-datum-wochentagsanzeige/

13 months agoMerge pull request #5681 from WoltLab/content-disposition-filename
Tim Düsterhus [Thu, 5 Oct 2023 13:59:35 +0000 (15:59 +0200)]
Merge pull request #5681 from WoltLab/content-disposition-filename

Make the content-disposition logic usable outside of FileReader

13 months agoUse ContentDisposition in FileReader
Tim Düsterhus [Thu, 5 Oct 2023 12:47:19 +0000 (14:47 +0200)]
Use ContentDisposition in FileReader

see #5680

13 months agoAdd `wcf\http\ContentDisposition`
Tim Düsterhus [Thu, 5 Oct 2023 12:46:58 +0000 (14:46 +0200)]
Add `wcf\http\ContentDisposition`

Resolves #5680

13 months agoMerge pull request #5679 from WoltLab/email-cfws
Tim Düsterhus [Thu, 5 Oct 2023 10:13:23 +0000 (12:13 +0200)]
Merge pull request #5679 from WoltLab/email-cfws

Reject email addresses containing CFWS

13 months agoReject email addresses containing CFWS
Tim Düsterhus [Thu, 5 Oct 2023 09:44:51 +0000 (11:44 +0200)]
Reject email addresses containing CFWS

see https://www.woltlab.com/community/thread/296849-mailbox-e-mail-validierung-fehlerhaft/

14 months agoMerge branch '6.0'
Tim Düsterhus [Wed, 4 Oct 2023 15:51:28 +0000 (17:51 +0200)]
Merge branch '6.0'

14 months agoUse the unified card box shadow for `.contentItem`
Alexander Ebert [Tue, 3 Oct 2023 13:46:07 +0000 (15:46 +0200)]
Use the unified card box shadow for `.contentItem`

Fixes #5678

14 months agoHelp the LSP to narrow down the type
Alexander Ebert [Tue, 3 Oct 2023 13:17:27 +0000 (15:17 +0200)]
Help the LSP to narrow down the type

14 months agoDo not discard the element value if there are children
Alexander Ebert [Tue, 3 Oct 2023 13:15:03 +0000 (15:15 +0200)]
Do not discard the element value if there are children

See https://www.woltlab.com/community/thread/301825-bild-wird-nicht-angezeigt/

14 months agoMerge branch '5.5' into 6.0
Alexander Ebert [Tue, 3 Oct 2023 13:04:31 +0000 (15:04 +0200)]
Merge branch '5.5' into 6.0

14 months agoSkip comment that no longer exist
Alexander Ebert [Tue, 3 Oct 2023 13:02:47 +0000 (15:02 +0200)]
Skip comment that no longer exist

See https://www.woltlab.com/community/thread/301877-fehler-attempt-to-read-property-objectid-on-null-durch-gel%C3%B6schten-pinnwandkommen/

14 months agoImprove the visuals of embedded polls
Alexander Ebert [Tue, 3 Oct 2023 12:59:11 +0000 (14:59 +0200)]
Improve the visuals of embedded polls

See https://www.woltlab.com/community/thread/301874-bbcode-spoiler-hat-mit-umfragen-probleme/

14 months agoReduce the `z-index` of the CKEditor logo
Alexander Ebert [Mon, 2 Oct 2023 15:04:49 +0000 (17:04 +0200)]
Reduce the `z-index` of the CKEditor logo

See https://www.woltlab.com/community/thread/301804-ckeditor-copyright-%C3%BCberlagert-den-button-zur-verwaltung-gespeicherter-zitate/

14 months agoFix the searching for phrases with escaped values
Alexander Ebert [Mon, 2 Oct 2023 14:44:47 +0000 (16:44 +0200)]
Fix the searching for phrases with escaped values

See https://www.woltlab.com/community/thread/301714-problems-with-language-phrase-search/

14 months agoUpdate the JS artifacts
Alexander Ebert [Mon, 2 Oct 2023 14:11:04 +0000 (16:11 +0200)]
Update the JS artifacts

14 months agoFix the handling of replaced polls
Alexander Ebert [Mon, 2 Oct 2023 14:08:21 +0000 (16:08 +0200)]
Fix the handling of replaced polls

Editing a message with a poll could replace the poll, requiring a new initialization.

The previous map was replaced with a `WeakSet` because it is never read from and the map leaked memory when the poll was discarded.

See https://www.woltlab.com/community/thread/301810-unable-to-click-on-polls-after-editing-post/

14 months agoFix the color of active CKEditor panel buttons
Alexander Ebert [Mon, 2 Oct 2023 13:40:02 +0000 (15:40 +0200)]
Fix the color of active CKEditor panel buttons

See https://www.woltlab.com/community/thread/301766-ckeditor-unpassende-farbwerte-im-tabellen-widget/

14 months agoFix the creation of test paid subscriptions
Alexander Ebert [Mon, 2 Oct 2023 13:30:35 +0000 (15:30 +0200)]
Fix the creation of test paid subscriptions

See https://www.woltlab.com/community/thread/301865-test-notify-me-before-my-subscription-expires/

14 months agoAdd a failsafe for the creation of test trophies
Alexander Ebert [Mon, 2 Oct 2023 13:12:03 +0000 (15:12 +0200)]
Add a failsafe for the creation of test trophies

14 months agoFix the icon name of the test trophy
Alexander Ebert [Mon, 2 Oct 2023 12:28:11 +0000 (14:28 +0200)]
Fix the icon name of the test trophy

See https://www.woltlab.com/community/thread/301854-an-error-has-occurred-expected-a-string-containing-an-icon-name-and-a-boolean-st/

14 months agoFix the size calculation of comment buttons
Alexander Ebert [Mon, 2 Oct 2023 11:51:18 +0000 (13:51 +0200)]
Fix the size calculation of comment buttons

See https://www.woltlab.com/community/thread/301857-wall-button-add-a-reply-to-a-comment/

14 months agoMerge pull request #5676 from SoftCreatR/feature/googlebots
Alexander Ebert [Mon, 2 Oct 2023 09:31:01 +0000 (11:31 +0200)]
Merge pull request #5676 from SoftCreatR/feature/googlebots

Added several Google Crawlers & Fetchers

14 months agoMerge pull request #5677 from WoltLab/migrate-fa-v4
Tim Düsterhus [Mon, 2 Oct 2023 09:30:03 +0000 (11:30 +0200)]
Merge pull request #5677 from WoltLab/migrate-fa-v4

Remove FA 4 compatibility layer

14 months agoRemove FA 4 compatibility layer
Tim Düsterhus [Mon, 2 Oct 2023 08:36:31 +0000 (10:36 +0200)]
Remove FA 4 compatibility layer

These are intended for the migration from 5.5 to 6.0 and thus no longer
required with 6.1. We can't easily make sure, and we should not need to make
sure that these scripts remain compatible with future versions of FA 6 that
might be included in 6.1+.

14 months agoAdded several Google Crawlers & Fetchers
Sascha Greuel [Mon, 2 Oct 2023 05:54:47 +0000 (07:54 +0200)]
Added several Google Crawlers & Fetchers

Added

- Google Read Aloud
- Google Site Verifier
- Google-Extended (Bard & Vertex AI)
- APIs-Google
- Google Favicon
- Google StoreBot
- Google-InspectionTool
- AdsBot-Google-Mobile

to the spider list.

14 months agoRemove the fixed positioning
Alexander Ebert [Sat, 30 Sep 2023 10:28:51 +0000 (12:28 +0200)]
Remove the fixed positioning

This is not required and prevents the absolute positioning of elements.

14 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

14 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

14 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

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

14 months agoMerge branch '6.0'
Tim Düsterhus [Fri, 29 Sep 2023 13:52:09 +0000 (15:52 +0200)]
Merge branch '6.0'

14 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

14 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>
14 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

14 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

14 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

14 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

14 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

14 months agoMerge branch '6.0'
Tim Düsterhus [Fri, 29 Sep 2023 12:38:45 +0000 (14:38 +0200)]
Merge branch '6.0'

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

14 months agoMerge pull request #5670 from WoltLab/intl-collator-sort
Marcel Werk [Fri, 29 Sep 2023 12:03:07 +0000 (14:03 +0200)]
Merge pull request #5670 from WoltLab/intl-collator-sort

Use intl Collator to sort strings

14 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

14 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.

14 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.

14 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

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

14 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/

14 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/

14 months agoUse intl Collator to sort strings
Marcel Werk [Thu, 28 Sep 2023 15:30:35 +0000 (17:30 +0200)]
Use intl Collator to sort strings

See #4672

14 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

14 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.

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

14 months agoMerge branch '6.0'
Tim Düsterhus [Thu, 28 Sep 2023 13:36:41 +0000 (15:36 +0200)]
Merge branch '6.0'

14 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

14 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>
14 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()

14 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

14 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

14 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.

14 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

14 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

14 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

14 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.

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

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

14 months agoMerge branch '6.0'
Tim Düsterhus [Tue, 26 Sep 2023 09:52:55 +0000 (11:52 +0200)]
Merge branch '6.0'

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

14 months agoMerge branch '6.0'
Tim Düsterhus [Mon, 25 Sep 2023 14:06:13 +0000 (16:06 +0200)]
Merge branch '6.0'

14 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

14 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

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

See #5624