GitHub/WoltLab/WCF.git
19 months agoSkip the mention plugins when disabled
Alexander Ebert [Wed, 5 Apr 2023 17:23:17 +0000 (19:23 +0200)]
Skip the mention plugins when disabled

19 months agoSynchronize the implementation of mentions in CKEditor
Alexander Ebert [Wed, 5 Apr 2023 17:20:44 +0000 (19:20 +0200)]
Synchronize the implementation of mentions in CKEditor

19 months agoFix compiling styles with individual SCSS for dark mode
Tim Düsterhus [Wed, 5 Apr 2023 14:23:35 +0000 (16:23 +0200)]
Fix compiling styles with individual SCSS for dark mode

The variable was not properly cleared after using including the contents within
the SCSS and then was attempted to be parsed as an SCSS value to provide it as
a SCSS variable.

Introduced in ba7168323f6632361b694d7eb2c09439902fe447.

Fixes #5398

19 months agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Wed, 5 Apr 2023 08:10:13 +0000 (10:10 +0200)]
Merge remote-tracking branch 'origin/master'

19 months agoUpdate composer dependencies
Tim Düsterhus [Wed, 5 Apr 2023 08:08:22 +0000 (10:08 +0200)]
Update composer dependencies

19 months agoFix the styling of mentions
Alexander Ebert [Tue, 4 Apr 2023 18:29:23 +0000 (20:29 +0200)]
Fix the styling of mentions

See #5382

19 months agoPreserve empty paragraphs created in CKEditor 5
Alexander Ebert [Tue, 4 Apr 2023 16:23:11 +0000 (18:23 +0200)]
Preserve empty paragraphs created in CKEditor 5

Fixes WoltLab/editor#15

19 months agoFix incorrect migration to DateTimeImmutable
Tim Düsterhus [Tue, 4 Apr 2023 14:44:48 +0000 (16:44 +0200)]
Fix incorrect migration to DateTimeImmutable

This was broken in 48aad6ed4800f20d3e12fcf7e9a351d8791cd90d.

Fixes #5391

19 months agoMerge branch '5.5'
Tim Düsterhus [Tue, 4 Apr 2023 13:47:55 +0000 (15:47 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5389 from WoltLab/user-profile-about-events
Marcel Werk [Tue, 4 Apr 2023 13:44:15 +0000 (15:44 +0200)]
Merge pull request #5389 from WoltLab/user-profile-about-events

Add template events in `userProfileAbout`

19 months agoUpdate TS StringUtil's HTML escaper to be consistent with PHP's
Olaf Braun [Sun, 2 Apr 2023 15:44:47 +0000 (17:44 +0200)]
Update TS StringUtil's HTML escaper to be consistent with PHP's

Commit f631a7de6506e52095299c15042c25a3979a8200 updated the HTML escaper on the
server to encode a single quote (`'`) as `'`, however it did not update
the frontend / TypeScript implementation.

This specifically breaks loading of existing data for i18n fields containing
the single quote, because the JavaScript expects the value to be first JS
encoded and then HTML encoded and manually performs HTML decoding. This is
questionable, but likely not fixable without introducing security issues,
because some users *might* rely on the fact that the JS escaping already
happened and it's impossible to detect whether the given values are already
escaped or not.

Resolves #5381

[Tim: Written the entire commit message]

19 months agoMerge branch '5.5'
Tim Düsterhus [Tue, 4 Apr 2023 13:28:22 +0000 (15:28 +0200)]
Merge branch '5.5'

19 months agoAdd `is_string` as template modifier
Tim Düsterhus [Tue, 4 Apr 2023 13:27:00 +0000 (15:27 +0200)]
Add `is_string` as template modifier

Resolves #5388

19 months agoAdd template events in `userProfileAbout`
Marcel Werk [Tue, 4 Apr 2023 11:35:28 +0000 (13:35 +0200)]
Add template events in `userProfileAbout`

These events allow content to be displayed in the 'about' tab that is not based on user options.

19 months agoMerge remote-tracking branch 'origin/master'
Tim Düsterhus [Tue, 4 Apr 2023 10:08:51 +0000 (12:08 +0200)]
Merge remote-tracking branch 'origin/master'

19 months agoMerge branch '5.5'
Tim Düsterhus [Tue, 4 Apr 2023 10:00:33 +0000 (12:00 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5384 from WoltLab/trim-utf-8
Tim Düsterhus [Tue, 4 Apr 2023 09:59:58 +0000 (11:59 +0200)]
Merge pull request #5384 from WoltLab/trim-utf-8

Gracefully handle non-UTF-8 inputs in StringUtil::trim()

19 months agoAdd missing module level comments to the CKEditor API
Alexander Ebert [Mon, 3 Apr 2023 16:26:25 +0000 (18:26 +0200)]
Add missing module level comments to the CKEditor API

19 months agoFix pageAddDialog.tpl if only one language is enabled
Tim Düsterhus [Mon, 3 Apr 2023 14:59:36 +0000 (16:59 +0200)]
Fix pageAddDialog.tpl if only one language is enabled

Fixes #5383

19 months agoGracefully handle non-UTF-8 inputs in StringUtil::trim()
Tim Düsterhus [Mon, 3 Apr 2023 13:40:08 +0000 (15:40 +0200)]
Gracefully handle non-UTF-8 inputs in StringUtil::trim()

19 months agoMerge branch '5.5'
Tim Düsterhus [Fri, 31 Mar 2023 10:35:27 +0000 (12:35 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5380 from WoltLab/style-setvariables-no-write
Tim Düsterhus [Fri, 31 Mar 2023 10:15:24 +0000 (12:15 +0200)]
Merge pull request #5380 from WoltLab/style-setvariables-no-write

Do not write an updated style file in StyleEditor::setVariables()

19 months agoDo not write an updated style file in StyleEditor::setVariables()
Tim Düsterhus [Fri, 31 Mar 2023 10:05:08 +0000 (12:05 +0200)]
Do not write an updated style file in StyleEditor::setVariables()

If the style variables have already been loaded, which happens during style
import where the existing and to-be-updated style is currently taken from the
cache, the style will be rewritten with the old variables, effectively
resulting in a noop, making it a useless operation.

However if the existing variables are broken, e.g. because they contain a
syntax error, updating a broken style with a fixed one during package
installation will be impossible (without manually clearing the cache), because
the package installation aborts during compilation of the old SCSS, despite the
new SCSS already been written.

Fixes #5333

19 months agoMerge branch '5.5'
Alexander Ebert [Fri, 31 Mar 2023 09:47:33 +0000 (11:47 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5375 from WoltLab/search-index-html-tokens
Alexander Ebert [Fri, 31 Mar 2023 09:46:04 +0000 (11:46 +0200)]
Merge pull request #5375 from WoltLab/search-index-html-tokens

Force replace some HTML tags before sending messages to the search index

19 months agoUse a regex to insert a whitespace instead of stripping the tags
Alexander Ebert [Thu, 30 Mar 2023 16:18:33 +0000 (18:18 +0200)]
Use a regex to insert a whitespace instead of stripping the tags

19 months agoForce replace some HTML tags before sending messages to the search index
Alexander Ebert [Wed, 29 Mar 2023 16:24:45 +0000 (18:24 +0200)]
Force replace some HTML tags before sending messages to the search index

Stripping the HTML can cause certain words to be accidentally joined when there is no symbol between them that is recognized by the tokenizer. Inserting a whitespace at tag positions that are known to be prone is a stop-gap solution until we find a more stable replacement strategy.

See #4652 and WoltLab/com.woltlab.wcf.elasticSearch#14

19 months agoRemove the oudated update SQL
Alexander Ebert [Wed, 29 Mar 2023 13:37:37 +0000 (15:37 +0200)]
Remove the oudated update SQL

19 months agoAdd an update script to import the new style variables and dark mode values
Alexander Ebert [Wed, 29 Mar 2023 11:47:58 +0000 (13:47 +0200)]
Add an update script to import the new style variables and dark mode values

Fixes #5354

19 months agoFix the position of validation errors for comments/responses
Alexander Ebert [Tue, 28 Mar 2023 15:03:20 +0000 (17:03 +0200)]
Fix the position of validation errors for comments/responses

Fixes #5369

19 months agoMigrate the delete button for categories to FA6
Alexander Ebert [Tue, 28 Mar 2023 14:51:45 +0000 (16:51 +0200)]
Migrate the delete button for categories to FA6

Fixes #5371

19 months agoMerge branch '5.5'
Tim Düsterhus [Tue, 28 Mar 2023 13:38:26 +0000 (15:38 +0200)]
Merge branch '5.5'

19 months agoMerge pull request #5372 from WoltLab/article-permissions
Tim Düsterhus [Tue, 28 Mar 2023 12:57:51 +0000 (14:57 +0200)]
Merge pull request #5372 from WoltLab/article-permissions

Fix several article related permissions

19 months agoCheck edit permissions before showing edit link in ACP's article list
Tim Düsterhus [Tue, 28 Mar 2023 12:19:40 +0000 (14:19 +0200)]
Check edit permissions before showing edit link in ACP's article list

19 months agoUnify visibility of articles in ACP's article list with frontend
Tim Düsterhus [Tue, 28 Mar 2023 12:17:40 +0000 (14:17 +0200)]
Unify visibility of articles in ACP's article list with frontend

19 months agoAllow users that may contribute articles to see their own articles independent of...
Tim Düsterhus [Tue, 28 Mar 2023 12:12:34 +0000 (14:12 +0200)]
Allow users that may contribute articles to see their own articles independent of publication status in lists

19 months agoUnify default publication status for users that may manage articles and users that...
Tim Düsterhus [Tue, 28 Mar 2023 12:06:18 +0000 (14:06 +0200)]
Unify default publication status for users that may manage articles and users that may manage their own articles

19 months agoAllow users that may manage own articles to view them independent of publication...
Tim Düsterhus [Tue, 28 Mar 2023 12:03:05 +0000 (14:03 +0200)]
Allow users that may manage own articles to view them independent of publication status

19 months agoAllow users that may manage own articles to actually create articles
Tim Düsterhus [Tue, 28 Mar 2023 11:57:50 +0000 (13:57 +0200)]
Allow users that may manage own articles to actually create articles

19 months agoUpdate esbuild
Tim Düsterhus [Mon, 27 Mar 2023 10:22:22 +0000 (12:22 +0200)]
Update esbuild

19 months agoUpdate composer dependencies
Tim Düsterhus [Mon, 27 Mar 2023 07:47:52 +0000 (09:47 +0200)]
Update composer dependencies

20 months agoMerge pull request #5366 from WoltLab/smiley-codes
Tim Düsterhus [Fri, 17 Mar 2023 16:00:33 +0000 (17:00 +0100)]
Merge pull request #5366 from WoltLab/smiley-codes

Remove the “right to left” smiley aliases

20 months agoReset the CSS file in AddDarkMode command
Tim Düsterhus [Fri, 17 Mar 2023 14:12:53 +0000 (15:12 +0100)]
Reset the CSS file in AddDarkMode command

see 3fe37449ca14b1b8f924ca6b6f98cb5d20135988
Fixes #5367

20 months agoRemove the “right to left” smiley aliases
Tim Düsterhus [Fri, 17 Mar 2023 13:48:30 +0000 (14:48 +0100)]
Remove the “right to left” smiley aliases

Especially the `):` alias is pretty annoying, because it is a reasonable
sequence within a regular text:

    This is an example (to highlight the issue with the alias):

    As we see, the closing parenthesis and the colon match the alias.

20 months agoFix saving styles without a dark mode in StyleEditForm
Tim Düsterhus [Fri, 17 Mar 2023 13:32:50 +0000 (14:32 +0100)]
Fix saving styles without a dark mode in StyleEditForm

Fixes #5364

20 months agoMerge branch '5.5'
Tim Düsterhus [Fri, 17 Mar 2023 09:48:10 +0000 (10:48 +0100)]
Merge branch '5.5'

20 months agoUpdate to TypeScript 5.0
Tim Düsterhus [Fri, 17 Mar 2023 09:47:31 +0000 (10:47 +0100)]
Update to TypeScript 5.0

20 months agoMerge branch '5.5'
Tim Düsterhus [Fri, 17 Mar 2023 09:43:16 +0000 (10:43 +0100)]
Merge branch '5.5'

20 months agoUpdate eslint
Tim Düsterhus [Fri, 17 Mar 2023 09:37:41 +0000 (10:37 +0100)]
Update eslint

20 months agoUpdate esbuild
Tim Düsterhus [Fri, 17 Mar 2023 09:32:53 +0000 (10:32 +0100)]
Update esbuild

20 months agoUpdate focus-trap
Tim Düsterhus [Fri, 17 Mar 2023 09:32:05 +0000 (10:32 +0100)]
Update focus-trap

20 months agoMerge branch '5.5'
Tim Düsterhus [Thu, 16 Mar 2023 16:53:55 +0000 (17:53 +0100)]
Merge branch '5.5'

20 months agoRelease 5.5.10 5.5.10
Alexander Ebert [Thu, 16 Mar 2023 15:43:22 +0000 (16:43 +0100)]
Release 5.5.10

20 months agoMerge branch '5.4' into 5.5
Alexander Ebert [Thu, 16 Mar 2023 15:32:19 +0000 (16:32 +0100)]
Merge branch '5.4' into 5.5

20 months agoRelease 5.4.26 5.4.26
Alexander Ebert [Thu, 16 Mar 2023 15:25:26 +0000 (16:25 +0100)]
Release 5.4.26

20 months agoMerge branch '5.3' into 5.4
Alexander Ebert [Thu, 16 Mar 2023 15:21:37 +0000 (16:21 +0100)]
Merge branch '5.3' into 5.4

20 months agoRelease 5.3.27 5.3.27
Alexander Ebert [Thu, 16 Mar 2023 15:06:57 +0000 (16:06 +0100)]
Release 5.3.27

20 months agoUpdating minified JavaScript files
WoltLab [Thu, 16 Mar 2023 14:58:18 +0000 (14:58 +0000)]
Updating minified JavaScript files

20 months agoMerge branch '5.4' into 5.5
Tim Düsterhus [Thu, 16 Mar 2023 14:54:32 +0000 (15:54 +0100)]
Merge branch '5.4' into 5.5

20 months agoMerge branch '5.3' into 5.4
Tim Düsterhus [Thu, 16 Mar 2023 14:54:21 +0000 (15:54 +0100)]
Merge branch '5.3' into 5.4

20 months agoMerge branch 'edit-permissions' into 5.3
Tim Düsterhus [Thu, 16 Mar 2023 14:50:46 +0000 (15:50 +0100)]
Merge branch 'edit-permissions' into 5.3

20 months agoFix SCSS codestyle
Tim Düsterhus [Thu, 16 Mar 2023 11:27:17 +0000 (12:27 +0100)]
Fix SCSS codestyle

20 months agoFix PHP codestyle
Tim Düsterhus [Thu, 16 Mar 2023 11:24:43 +0000 (12:24 +0100)]
Fix PHP codestyle

20 months agoUpdate composer dependencies
Tim Düsterhus [Thu, 16 Mar 2023 10:47:02 +0000 (11:47 +0100)]
Update composer dependencies

20 months agoFix import of styles without dark mode
Tim Düsterhus [Thu, 16 Mar 2023 09:15:30 +0000 (10:15 +0100)]
Fix import of styles without dark mode

Fixes #5360

20 months agoMerge pull request #5358 from WoltLab/fa-brand
Tim Düsterhus [Tue, 14 Mar 2023 14:06:59 +0000 (15:06 +0100)]
Merge pull request #5358 from WoltLab/fa-brand

Improve handling of FA brand icons

20 months agoUse `@inheritDoc` for `IFontAwesomeIcon::getHtml()` implementations
Tim Düsterhus [Tue, 14 Mar 2023 13:00:52 +0000 (14:00 +0100)]
Use `@inheritDoc` for `IFontAwesomeIcon::getHtml()` implementations

20 months agoStatically compile brand icons into the template
Tim Düsterhus [Tue, 14 Mar 2023 12:57:11 +0000 (13:57 +0100)]
Statically compile brand icons into the template

Resolves #5040

20 months agoUse FontAwesomeIconBrand in IconFunctionTemplatePlugin
Tim Düsterhus [Tue, 14 Mar 2023 12:50:24 +0000 (13:50 +0100)]
Use FontAwesomeIconBrand in IconFunctionTemplatePlugin

20 months agoAdd FontAwesomeIconBrand class
Tim Düsterhus [Tue, 14 Mar 2023 12:47:19 +0000 (13:47 +0100)]
Add FontAwesomeIconBrand class

see #5040

20 months agoAdd IFontAwesomeIcon
Tim Düsterhus [Tue, 14 Mar 2023 12:46:58 +0000 (13:46 +0100)]
Add IFontAwesomeIcon

20 months agoApply the dark theme to the twitter widget
Alexander Ebert [Mon, 13 Mar 2023 18:28:41 +0000 (19:28 +0100)]
Apply the dark theme to the twitter widget

The widget behaves quite strange, there are still some white edges around the widget. At least it no longer burns your eyes when accessing the admin panel.

20 months agoRetrieve the message from the editor instead of using an event
Alexander Ebert [Mon, 13 Mar 2023 18:13:41 +0000 (19:13 +0100)]
Retrieve the message from the editor instead of using an event

20 months agoFix phrase in sitemapList.tpl
Tim Düsterhus [Mon, 13 Mar 2023 13:55:49 +0000 (14:55 +0100)]
Fix phrase in sitemapList.tpl

20 months agoMerge pull request #5356 from WoltLab/relative-time-print
Tim Düsterhus [Mon, 13 Mar 2023 13:08:32 +0000 (14:08 +0100)]
Merge pull request #5356 from WoltLab/relative-time-print

Show the absolute time in print style for `<woltlab-core-date-time>`

20 months agoShow the absolute time in print style for `<woltlab-core-date-time>`
Tim Düsterhus [Mon, 13 Mar 2023 12:47:06 +0000 (13:47 +0100)]
Show the absolute time in print style for `<woltlab-core-date-time>`

20 months agoRelease 5.5.10 dev 1 5.5.10_dev_1
Alexander Ebert [Mon, 13 Mar 2023 11:52:57 +0000 (12:52 +0100)]
Release 5.5.10 dev 1

20 months agoUpdating minified JavaScript files
WoltLab [Mon, 13 Mar 2023 11:51:33 +0000 (11:51 +0000)]
Updating minified JavaScript files

20 months agoFix the handling of external links in the mobile main menu
Alexander Ebert [Mon, 13 Mar 2023 11:27:47 +0000 (12:27 +0100)]
Fix the handling of external links in the mobile main menu

See https://www.woltlab.com/community/thread/299236-externe-hauptmen%C3%BC-links-werden-trotz-einstellung-im-acp-mobil-nicht-in-neuem-tab/

20 months agoAdd a button to discard a selected icon
Alexander Ebert [Sun, 12 Mar 2023 22:56:03 +0000 (23:56 +0100)]
Add a button to discard a selected icon

Fixes #5207

20 months agoRemove the redundant `$icon` property
Alexander Ebert [Sun, 12 Mar 2023 22:45:42 +0000 (23:45 +0100)]
Remove the redundant `$icon` property

Fixes #5160

20 months agoFix the integration of FA6 in the icon form field
Alexander Ebert [Sun, 12 Mar 2023 22:44:00 +0000 (23:44 +0100)]
Fix the integration of FA6 in the icon form field

Fixes #5206

20 months agoDrop the `TabMenu.rebuild()` method
Alexander Ebert [Sun, 12 Mar 2023 22:20:43 +0000 (23:20 +0100)]
Drop the `TabMenu.rebuild()` method

This method has always been broken and caused an exception when called. Removing this method also cleans up the `init()` method a bit.

Closes #5193

20 months agoFix margins of alerts inside of dialogs
Alexander Ebert [Sun, 12 Mar 2023 22:02:25 +0000 (23:02 +0100)]
Fix margins of alerts inside of dialogs

Fixes #5296

20 months agoDisable dependent plugins when disabling image support
Alexander Ebert [Sun, 12 Mar 2023 21:28:03 +0000 (22:28 +0100)]
Disable dependent plugins when disabling image support

20 months agoReduce the icon size in the control panel to 16px
Alexander Ebert [Fri, 10 Mar 2023 16:28:49 +0000 (17:28 +0100)]
Reduce the icon size in the control panel to 16px

20 months agoUse a different icon for “barely passed”
Alexander Ebert [Fri, 10 Mar 2023 16:22:22 +0000 (17:22 +0100)]
Use a different icon for “barely passed”

See #4968

20 months agoFix the color of icons in a button list
Alexander Ebert [Fri, 10 Mar 2023 16:10:34 +0000 (17:10 +0100)]
Fix the color of icons in a button list

See #4968

20 months agoAdd an explicit flag for styles with dark mode support
Alexander Ebert [Fri, 10 Mar 2023 15:17:46 +0000 (16:17 +0100)]
Add an explicit flag for styles with dark mode support

20 months agoCheck if the article is readable in Article::canEdit()
Tim Düsterhus [Fri, 10 Mar 2023 12:47:35 +0000 (13:47 +0100)]
Check if the article is readable in Article::canEdit()

Previously an editor could access the contents of an inaccessible article by
directly navigating to the edit form.

20 months agoMerge branch '5.5'
Tim Düsterhus [Fri, 10 Mar 2023 12:42:30 +0000 (13:42 +0100)]
Merge branch '5.5'

20 months agoMerge pull request #5353 from WoltLab/article-edit
Tim Düsterhus [Fri, 10 Mar 2023 12:30:44 +0000 (13:30 +0100)]
Merge pull request #5353 from WoltLab/article-edit

Fix Article::canEdit() permission for article contributors

20 months agoFix Article::canEdit() permission for article contributors
Tim Düsterhus [Fri, 10 Mar 2023 12:22:12 +0000 (13:22 +0100)]
Fix Article::canEdit() permission for article contributors

The previous return value was non-sense, because `false` is already the
default. Users that may contribute articles may edit their own articles until
they are published, thus this must `return true`.

This was introduced in a40df44c036bd6201e4e8f9cef5fb878dba4dd4f.

20 months agoImplement an optional “submit on enter” behavior
Alexander Ebert [Fri, 10 Mar 2023 12:02:50 +0000 (13:02 +0100)]
Implement an optional “submit on enter” behavior

20 months agoUse a `<button>` for the ACP menu categories
Alexander Ebert [Fri, 10 Mar 2023 11:34:32 +0000 (12:34 +0100)]
Use a `<button>` for the ACP menu categories

20 months agoMerge pull request #5344 from nice42q/patch-1
Alexander Ebert [Thu, 9 Mar 2023 16:17:26 +0000 (17:17 +0100)]
Merge pull request #5344 from nice42q/patch-1

Resize Upright Videos

20 months agoMerge branch '5.5'
Tim Düsterhus [Thu, 9 Mar 2023 16:00:12 +0000 (17:00 +0100)]
Merge branch '5.5'

20 months agoMerge pull request #5346 from WoltLab/session-parse-cookie
Tim Düsterhus [Thu, 9 Mar 2023 15:59:33 +0000 (16:59 +0100)]
Merge pull request #5346 from WoltLab/session-parse-cookie

Avoid duplicate cookie parsing in SessionHandler

20 months agoMerge pull request #5347 from WoltLab/user-option-disabled
Tim Düsterhus [Thu, 9 Mar 2023 15:58:19 +0000 (16:58 +0100)]
Merge pull request #5347 from WoltLab/user-option-disabled

Check if a user option is disabled in UserOption::isVisible() and ::isEditable()

20 months agoMerge pull request #5349 from WoltLab/acp-access-log
Tim Düsterhus [Thu, 9 Mar 2023 15:58:10 +0000 (16:58 +0100)]
Merge pull request #5349 from WoltLab/acp-access-log

Move the ACP access log into a middleware