GitHub/WoltLab/WCF.git
19 months agoAdd support for floating images
Alexander Ebert [Wed, 10 May 2023 13:34:39 +0000 (15:34 +0200)]
Add support for floating images

See WoltLab/editor#51

19 months agoAdd support for floated images again
Alexander Ebert [Wed, 10 May 2023 12:13:20 +0000 (14:13 +0200)]
Add support for floated images again

This was unintentionally removed when purging the files for Redactor.

19 months agoMerge branch '5.5'
Tim Düsterhus [Wed, 10 May 2023 11:56:04 +0000 (13:56 +0200)]
Merge branch '5.5'

19 months agoUpdate @types/google.maps
Tim Düsterhus [Wed, 10 May 2023 11:54:05 +0000 (13:54 +0200)]
Update @types/google.maps

19 months agoUpdate tabbable
Tim Düsterhus [Wed, 10 May 2023 11:51:05 +0000 (13:51 +0200)]
Update tabbable

19 months agoUpdate esbuild
Tim Düsterhus [Wed, 10 May 2023 11:50:13 +0000 (13:50 +0200)]
Update esbuild

19 months agoMerge branch '5.5'
Tim Düsterhus [Wed, 10 May 2023 11:35:34 +0000 (13:35 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5501 from WoltLab/contentInteraction-print
Tim Düsterhus [Wed, 10 May 2023 11:32:58 +0000 (13:32 +0200)]
Merge pull request #5501 from WoltLab/contentInteraction-print

Hide `.contentInteraction` in print CSS

19 months agoHide `.contentInteraction` in print CSS
Tim Düsterhus [Wed, 10 May 2023 10:21:22 +0000 (12:21 +0200)]
Hide `.contentInteraction` in print CSS

19 months agoRemove the reference to WCF.Poll.js in template
Tim Düsterhus [Wed, 10 May 2023 08:25:01 +0000 (10:25 +0200)]
Remove the reference to WCF.Poll.js in template

see 12e1aa4fe4b01fd1b77598d6eef6ceba8cb095c3

19 months agoMark the first time setup as completed on upgrade
Tim Düsterhus [Wed, 10 May 2023 08:13:00 +0000 (10:13 +0200)]
Mark the first time setup as completed on upgrade

Resolves #5500

19 months agoDiscard the autosave draft when resetting the editor
Alexander Ebert [Tue, 9 May 2023 15:49:27 +0000 (17:49 +0200)]
Discard the autosave draft when resetting the editor

Fixes #5462

19 months agoFix the retrieval of the contents of a CKEditor form field
Alexander Ebert [Tue, 9 May 2023 14:19:41 +0000 (16:19 +0200)]
Fix the retrieval of the contents of a CKEditor form field

Fixes #5480

19 months agoReset the poll editor on editor reset
Alexander Ebert [Tue, 9 May 2023 13:44:07 +0000 (15:44 +0200)]
Reset the poll editor on editor reset

Fixes #5492

19 months agoAllow the `No` field variants of the poll editor to be absent
Alexander Ebert [Tue, 9 May 2023 13:43:47 +0000 (15:43 +0200)]
Allow the `No` field variants of the poll editor to be absent

19 months agoReplace the negative margin hack of share buttons with `gap`
Alexander Ebert [Tue, 9 May 2023 13:16:14 +0000 (15:16 +0200)]
Replace the negative margin hack of share buttons with `gap`

Fixes #5489

19 months agoExplicitly provide a value for `$float` for the media BBCode
Alexander Ebert [Tue, 9 May 2023 13:13:27 +0000 (15:13 +0200)]
Explicitly provide a value for `$float` for the media BBCode

Fixes #5486

19 months agoStrip the `margin-top` of the first section in dialogs
Alexander Ebert [Tue, 9 May 2023 13:11:56 +0000 (15:11 +0200)]
Strip the `margin-top` of the first section in dialogs

Fixes #5484

19 months agoMerge branch '5.5'
Marcel Werk [Tue, 9 May 2023 10:19:10 +0000 (12:19 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5496 from WoltLab/avatar-validation
Marcel Werk [Tue, 9 May 2023 10:18:34 +0000 (12:18 +0200)]
Merge pull request #5496 from WoltLab/avatar-validation

Fix multiple validation issues during the avatar upload

19 months agoFix search submit button in pageHeaderSearch
Tim Düsterhus [Tue, 9 May 2023 09:04:09 +0000 (11:04 +0200)]
Fix search submit button in pageHeaderSearch

Fixes #5488

19 months agoImprove the visuals for the search bar on tablets
Alexander Ebert [Mon, 8 May 2023 18:52:02 +0000 (20:52 +0200)]
Improve the visuals for the search bar on tablets

Fixes #5490

19 months agoUpcast `[wsm]` BBCode
Alexander Ebert [Mon, 8 May 2023 17:10:37 +0000 (19:10 +0200)]
Upcast `[wsm]` BBCode

See WoltLab/editor#47

19 months agoMerge pull request #5474 from WoltLab/ckeditor-true-paragraph
Alexander Ebert [Mon, 8 May 2023 16:37:02 +0000 (18:37 +0200)]
Merge pull request #5474 from WoltLab/ckeditor-true-paragraph

Enforce true paragraphs in CKEditor

19 months agoFix the detection of `<p><br></p>`
Alexander Ebert [Mon, 8 May 2023 16:20:44 +0000 (18:20 +0200)]
Fix the detection of `<p><br></p>`

19 months agoReplace `<p>…</p>` with `<p>`
Alexander Ebert [Mon, 8 May 2023 16:11:35 +0000 (18:11 +0200)]
Replace `<p>…</p>` with `<p>`

19 months agoSync the implementation of the number of paragraphs marked for removal
Alexander Ebert [Mon, 8 May 2023 14:33:26 +0000 (16:33 +0200)]
Sync the implementation of the number of paragraphs marked for removal

19 months agoUnify the clean up of trailing `<br>` in `<p>` and `<td>`
Alexander Ebert [Mon, 8 May 2023 10:09:07 +0000 (12:09 +0200)]
Unify the clean up of trailing `<br>` in `<p>` and `<td>`

19 months agoReplace the recursive call in `unwrapBr` with a loop
Alexander Ebert [Mon, 8 May 2023 10:05:44 +0000 (12:05 +0200)]
Replace the recursive call in `unwrapBr` with a loop

19 months agoMake the normalizer reusable by passing in the `\DOMXPath` for `normalize()`
Alexander Ebert [Mon, 8 May 2023 10:00:04 +0000 (12:00 +0200)]
Make the normalizer reusable by passing in the `\DOMXPath` for `normalize()`

19 months agoSimplify the code to calculate the number of paragraphs to retain
Alexander Ebert [Mon, 8 May 2023 09:58:09 +0000 (11:58 +0200)]
Simplify the code to calculate the number of paragraphs to retain

19 months agoPort the improve HTML normalization form PHP to TS
Alexander Ebert [Sat, 6 May 2023 19:35:48 +0000 (21:35 +0200)]
Port the improve HTML normalization form PHP to TS

19 months agoImprove the normalization of legacy messages
Alexander Ebert [Sat, 6 May 2023 19:18:36 +0000 (21:18 +0200)]
Improve the normalization of legacy messages

19 months agoSuppress margins for the first/last child of a table cell
Alexander Ebert [Fri, 5 May 2023 10:04:50 +0000 (12:04 +0200)]
Suppress margins for the first/last child of a table cell

19 months agoUnwrap `<br>` contained in `<del>`
Alexander Ebert [Fri, 5 May 2023 09:58:26 +0000 (11:58 +0200)]
Unwrap `<br>` contained in `<del>`

19 months agoStrip trailing `<br>` in `<td>`
Alexander Ebert [Fri, 5 May 2023 09:56:34 +0000 (11:56 +0200)]
Strip trailing `<br>` in `<td>`

19 months agoUnwrap and strip trailing `<br>`
Alexander Ebert [Thu, 4 May 2023 19:10:27 +0000 (21:10 +0200)]
Unwrap and strip trailing `<br>`

19 months agoClean up the markup passed to CKEditor
Alexander Ebert [Thu, 4 May 2023 17:44:35 +0000 (19:44 +0200)]
Clean up the markup passed to CKEditor

19 months agoMove the clean up of legacy messages into a separate module
Alexander Ebert [Thu, 4 May 2023 17:06:40 +0000 (19:06 +0200)]
Move the clean up of legacy messages into a separate module

19 months agoStrip the `data-cke-fillter` attribute in the HTML output
Alexander Ebert [Thu, 4 May 2023 15:57:25 +0000 (17:57 +0200)]
Strip the `data-cke-fillter` attribute in the HTML output

19 months agoStrip legacy spacer paragraphs when editing messages
Alexander Ebert [Thu, 4 May 2023 14:32:05 +0000 (16:32 +0200)]
Strip legacy spacer paragraphs when editing messages

19 months agoStrip extra paragraph elements that were created in earlier versions
Alexander Ebert [Thu, 4 May 2023 14:06:55 +0000 (16:06 +0200)]
Strip extra paragraph elements that were created in earlier versions

19 months agoAdd a proper margin to paragraphs
Alexander Ebert [Thu, 4 May 2023 14:00:28 +0000 (16:00 +0200)]
Add a proper margin to paragraphs

19 months agoFlag empty paragraphs as editor generated
Alexander Ebert [Thu, 4 May 2023 13:57:40 +0000 (15:57 +0200)]
Flag empty paragraphs as editor generated

19 months agoFix validation of the image file type
Marcel Werk [Mon, 8 May 2023 15:18:26 +0000 (17:18 +0200)]
Fix validation of the image file type

Previously it was possible to upload any image (e.g. bmp) as avatars using a faked file extension.

19 months agoProper handling of the case that no image was uploaded
Marcel Werk [Mon, 8 May 2023 15:15:40 +0000 (17:15 +0200)]
Proper handling of the case that no image was uploaded

19 months agoMerge pull request #5495 from WoltLab/application-management-wcf-force-landing-page
Tim Düsterhus [Mon, 8 May 2023 14:30:05 +0000 (16:30 +0200)]
Merge pull request #5495 from WoltLab/application-management-wcf-force-landing-page

Enforce the selection of a landing page for WoltLab Suite Core in applicationManagement

19 months agoImprove readability of conditions in applicationManagement.tpl
Tim Düsterhus [Mon, 8 May 2023 14:26:53 +0000 (16:26 +0200)]
Improve readability of conditions in applicationManagement.tpl

Co-authored-by: Alexander Ebert <ebert@woltlab.com>
19 months agoEnforce the selection of a landing page for WoltLab Suite Core in applicationManagement
Tim Düsterhus [Mon, 8 May 2023 14:13:52 +0000 (16:13 +0200)]
Enforce the selection of a landing page for WoltLab Suite Core in applicationManagement

This is enforced in the template only, because the PHP logic already needs to
handle a NULL landing page, as the global landing page could be deleted or
uninstalled. It will implicitly fall back to the ArticleList then.

Resolves #4843

19 months agoUpdate composer dependencies
Tim Düsterhus [Mon, 8 May 2023 12:48:34 +0000 (14:48 +0200)]
Update composer dependencies

19 months agoMerge pull request #5494 from WoltLab/domutil-types
Tim Düsterhus [Mon, 8 May 2023 12:29:21 +0000 (14:29 +0200)]
Merge pull request #5494 from WoltLab/domutil-types

Add proper types to DOMUtil

19 months agoMerge pull request #5493 from WoltLab/poll-isPublic
Tim Düsterhus [Mon, 8 May 2023 12:18:18 +0000 (14:18 +0200)]
Merge pull request #5493 from WoltLab/poll-isPublic

Show the “pollIsPublic” setting when editing polls

19 months agoShow the “pollIsPublic” setting when editing polls
Tim Düsterhus [Mon, 8 May 2023 11:59:30 +0000 (13:59 +0200)]
Show the “pollIsPublic” setting when editing polls

The checkbox is marked as disabled, as the setting may not be changed after the
fact.

19 months agoAdd proper types to DOMUtil
Tim Düsterhus [Mon, 8 May 2023 11:09:29 +0000 (13:09 +0200)]
Add proper types to DOMUtil

19 months agoMerge pull request #5481 from WoltLab/tagged-page
Marcel Werk [Mon, 8 May 2023 10:54:08 +0000 (12:54 +0200)]
Merge pull request #5481 from WoltLab/tagged-page

Improve usability of the `TaggedPage`

19 months agoFix titlecasing of “with” in page.xml (6.0)
Tim Düsterhus [Mon, 8 May 2023 10:11:22 +0000 (12:11 +0200)]
Fix titlecasing of “with” in page.xml (6.0)

19 months agoMerge branch '5.5'
Tim Düsterhus [Mon, 8 May 2023 10:10:32 +0000 (12:10 +0200)]
Merge branch '5.5'

19 months agoFix titlecasing of “with” in page.xml
Tim Düsterhus [Mon, 8 May 2023 10:09:37 +0000 (12:09 +0200)]
Fix titlecasing of “with” in page.xml

19 months agoMerge branch '5.5'
Tim Düsterhus [Mon, 8 May 2023 07:23:36 +0000 (09:23 +0200)]
Merge branch '5.5'

19 months agoFix wcf.acp.rebuildData.com.woltlab.wcf.activityPoint*
Tim Düsterhus [Mon, 8 May 2023 07:19:21 +0000 (09:19 +0200)]
Fix wcf.acp.rebuildData.com.woltlab.wcf.activityPoint*

see https://www.woltlab.com/community/thread/299762-language-wcf-acp-rebuilddata-com-woltlab-wcf-activitypointevent/

19 months agoAdd space in “Buffer Pool” in wcf.acp.systemCheck.mysql.bufferPool phrase
Tim Düsterhus [Mon, 8 May 2023 07:16:17 +0000 (09:16 +0200)]
Add space in “Buffer Pool” in wcf.acp.systemCheck.mysql.bufferPool phrase

see https://www.woltlab.com/community/thread/299781-language-wcf-acp-systemcheck-mysql-bufferpool/

19 months agoFix the overflow toolbar behavior on mobile
Alexander Ebert [Sun, 7 May 2023 14:00:26 +0000 (16:00 +0200)]
Fix the overflow toolbar behavior on mobile

Fixes WoltLab/editor#49

19 months agoThe media bbcode button is injected by the bbcode plugin
Alexander Ebert [Sun, 7 May 2023 13:20:52 +0000 (15:20 +0200)]
The media bbcode button is injected by the bbcode plugin

Fixes WoltLab/editor#48

19 months agoImprove usability of the `TaggedPage`
Marcel Werk [Fri, 5 May 2023 16:49:04 +0000 (18:49 +0200)]
Improve usability of the `TaggedPage`

If the page was called without filtering by `objectType`, the first available `objectType` was taken, even if this did not provide any results at all for the respective tag.

19 months agoImprove title of the `CombinedTaggedPage`
Marcel Werk [Fri, 5 May 2023 16:30:44 +0000 (18:30 +0200)]
Improve title of the `CombinedTaggedPage`

19 months agoAdd button that leads back to the tag search form
Marcel Werk [Fri, 5 May 2023 16:28:55 +0000 (18:28 +0200)]
Add button that leads back to the tag search form

19 months agoAdd `CombinedTaggedPage` to page.xml
Marcel Werk [Fri, 5 May 2023 16:27:36 +0000 (18:27 +0200)]
Add `CombinedTaggedPage` to page.xml

19 months agoMerge branch '5.5'
Tim Düsterhus [Fri, 5 May 2023 14:55:53 +0000 (16:55 +0200)]
Merge branch '5.5'

19 months agoUpdate fileDelete.xml
Tim Düsterhus [Fri, 5 May 2023 10:20:35 +0000 (12:20 +0200)]
Update fileDelete.xml

19 months agoFix typo in de.xml
Tim Düsterhus [Fri, 5 May 2023 14:54:42 +0000 (16:54 +0200)]
Fix typo in de.xml

19 months agoMerge pull request #5479 from WoltLab/line-break-separated-text
Marcel Werk [Fri, 5 May 2023 14:44:40 +0000 (16:44 +0200)]
Merge pull request #5479 from WoltLab/line-break-separated-text

Fix issues when pasting in `LineBreakSeparatedText` input fields

19 months agoUpdate outdated terms in trademark notice
Marcel Werk [Fri, 5 May 2023 13:11:03 +0000 (15:11 +0200)]
Update outdated terms in trademark notice

19 months agoFix issues when pasting in `LineBreakSeparatedText` input fields
Marcel Werk [Fri, 5 May 2023 12:54:57 +0000 (14:54 +0200)]
Fix issues when pasting in `LineBreakSeparatedText` input fields

Pasting from the clipboard could result in duplicates and empty entries.

19 months agoMerge pull request #5478 from WoltLab/sitemap-worker
Marcel Werk [Fri, 5 May 2023 12:23:49 +0000 (14:23 +0200)]
Merge pull request #5478 from WoltLab/sitemap-worker

Fix PHP8.2 issues in `SitemapRebuildWorker`

19 months agoFix PHP8.2 issues in `SitemapRebuildWorker`
Marcel Werk [Fri, 5 May 2023 11:47:31 +0000 (13:47 +0200)]
Fix PHP8.2 issues in `SitemapRebuildWorker`

This commit should only to fix the PHP8.2 incompatibilities. The code of the worker is generally quite ugly and should be fundamentally reworked with a future version.

19 months agoMerge pull request #5477 from WoltLab/remove-configurable-sitemap-priority
Marcel Werk [Fri, 5 May 2023 10:19:17 +0000 (12:19 +0200)]
Merge pull request #5477 from WoltLab/remove-configurable-sitemap-priority

Make sitemap priority no longer configurable

19 months agoMake sitemap priority no longer configurable
Marcel Werk [Fri, 5 May 2023 10:16:21 +0000 (12:16 +0200)]
Make sitemap priority no longer configurable

Closes #5309

19 months agoAdd return types to LegacyPlaceholderResponse
Tim Düsterhus [Fri, 5 May 2023 09:22:22 +0000 (11:22 +0200)]
Add return types to LegacyPlaceholderResponse

These are required for psr/http-message:2.0 compatibility

see 5456677602406d52e2071c517b4a40e6978b24a8

19 months agoMerge pull request #5476 from WoltLab/diactoros-3
Tim Düsterhus [Fri, 5 May 2023 08:36:18 +0000 (10:36 +0200)]
Merge pull request #5476 from WoltLab/diactoros-3

Update composer dependencies

19 months agoUpdate composer dependencies
Tim Düsterhus [Fri, 5 May 2023 08:25:49 +0000 (10:25 +0200)]
Update composer dependencies

19 months agoFix WCF.String.formatNumeric()
Tim Düsterhus [Fri, 5 May 2023 07:37:18 +0000 (09:37 +0200)]
Fix WCF.String.formatNumeric()

The previously used phrase is no longer available to the JavaScript. It would
also be inconsistent. Copy the implementation of StringUtil#fornatNumeric

see 3a0d55353fe88c7510d7b973e1436bd430bcff46
Fixes #5471

19 months agoMerge branch '5.5'
Tim Düsterhus [Fri, 5 May 2023 07:18:32 +0000 (09:18 +0200)]
Merge branch '5.5'

19 months agoAdd missing space before ellipsis in wcf.acp.package.search.status.* in en.xml
Tim Düsterhus [Fri, 5 May 2023 07:17:39 +0000 (09:17 +0200)]
Add missing space before ellipsis in wcf.acp.package.search.status.* in en.xml

see https://www.woltlab.com/community/thread/299749-language-wcf-acp-package-search-status-loading/

19 months agoFix titlecasification in wcf.acp.user.security.multifactor
Tim Düsterhus [Fri, 5 May 2023 07:16:35 +0000 (09:16 +0200)]
Fix titlecasification in wcf.acp.user.security.multifactor

see https://www.woltlab.com/community/thread/299745-language-wcf-acp-user-security-multifactor/

19 months agoFix typos in wcf.date.interval.* in en.xml
Tim Düsterhus [Fri, 5 May 2023 07:14:43 +0000 (09:14 +0200)]
Fix typos in wcf.date.interval.* in en.xml

see https://www.woltlab.com/community/thread/299744-language-wcf-date-interval-months-plain/

19 months agoMerge pull request #5475 from WoltLab/application-management-enterprise
Tim Düsterhus [Thu, 4 May 2023 15:00:07 +0000 (17:00 +0200)]
Merge pull request #5475 from WoltLab/application-management-enterprise

Allow managing the landing pages in enterprise mode

19 months agoMerge pull request #5473 from WoltLab/cache-clear
Tim Düsterhus [Thu, 4 May 2023 14:18:18 +0000 (16:18 +0200)]
Merge pull request #5473 from WoltLab/cache-clear

Unify the cache management permissions to `admin.management.canRebuildData`

19 months agoAllow managing the landing pages in enterprise mode
Tim Düsterhus [Thu, 4 May 2023 14:10:23 +0000 (16:10 +0200)]
Allow managing the landing pages in enterprise mode

see #4843

19 months agoRemove permissions for wcf.acp.menu.link.package acpMenu item
Tim Düsterhus [Thu, 4 May 2023 14:07:35 +0000 (16:07 +0200)]
Remove permissions for wcf.acp.menu.link.package acpMenu item

The item will automatically disappear if no child items are visible, because it
acts as a container only.

Previously the `admin.configuration.canManageApplication` permission was
missing and thus the menu item if one may manage applications without also
being allowed to manage packages.

19 months agoUnify the cache management permissions to `admin.management.canRebuildData`
Tim Düsterhus [Thu, 4 May 2023 13:54:02 +0000 (15:54 +0200)]
Unify the cache management permissions to `admin.management.canRebuildData`

Previously CacheListPage and CacheClearAction used differing permissions, which
is not useful at all. Especially since the template didn't check the differing
permissions.

Unify them to “can rebuild data”, because it's the most related one, clearing
the cache effectively rebuilds some data.

19 months agoMerge pull request #5472 from WoltLab/ckeditor-font-styles
Alexander Ebert [Thu, 4 May 2023 10:28:51 +0000 (12:28 +0200)]
Merge pull request #5472 from WoltLab/ckeditor-font-styles

Add support for font styles

19 months agoMerge pull request #5470 from WoltLab/select-form-field
Marcel Werk [Thu, 4 May 2023 10:21:14 +0000 (12:21 +0200)]
Merge pull request #5470 from WoltLab/select-form-field

Add a dedicated form field for plain select fields

19 months agoFix WCF.String.addThousandsSeparator()
Tim Düsterhus [Thu, 4 May 2023 08:46:28 +0000 (10:46 +0200)]
Fix WCF.String.addThousandsSeparator()

The previously used phrase is no longer available to the JavaScript. It would
also be inconsistent. Use `.toLocaleString()`.

Fxies #5471

19 months agoImprove formatting in SelectFormField::validate()
Tim Düsterhus [Thu, 4 May 2023 08:28:12 +0000 (10:28 +0200)]
Improve formatting in SelectFormField::validate()

19 months agoInternally work with `null` in SelectFormField
Tim Düsterhus [Thu, 4 May 2023 08:19:53 +0000 (10:19 +0200)]
Internally work with `null` in SelectFormField

Convert the empty string to `null` immediately when reading the data to allow
custom validators to check for the `null` value instead of the empty string.

19 months agoAdd __selectFormField to syncTemplates.json
Tim Düsterhus [Thu, 4 May 2023 07:41:53 +0000 (09:41 +0200)]
Add __selectFormField to syncTemplates.json

19 months agoFix wcf.user.notification.comment.like.message
Tim Düsterhus [Thu, 4 May 2023 07:17:06 +0000 (09:17 +0200)]
Fix wcf.user.notification.comment.like.message

see https://www.woltlab.com/community/thread/299735-language-wcf-user-notification-comment-like-message/

19 months agoAdd support for font styles
Alexander Ebert [Wed, 3 May 2023 18:34:53 +0000 (20:34 +0200)]
Add support for font styles

See WoltLab/editor#34

19 months agoRemove invalid `name` attribute on `option` tags
Marcel Werk [Wed, 3 May 2023 16:08:24 +0000 (18:08 +0200)]
Remove invalid `name` attribute on `option` tags

19 months agoAdd a dedicated form field for plain select fields
Marcel Werk [Wed, 3 May 2023 16:06:10 +0000 (18:06 +0200)]
Add a dedicated form field for plain select fields

The existing `SingleSelectionFormField` has multiple design flaws that are difficult to solve in a backward compatible way. The main issue with the existing implementation is that it tries to solve too many problems at once, creating an API that is inconsistent and difficult to use / easy to misuse.

This is the first implementation with more to follow that will eventually allow us to phase out the `SingleSelectionFormField`.

Closes #5265
Closes #4789