GitHub/WoltLab/WCF.git
2 years agoEnable the CLI functionality of the migration script
Alexander Ebert [Thu, 11 Aug 2022 13:58:56 +0000 (15:58 +0200)]
Enable the CLI functionality of the migration script

2 years agoEnable the migration of templates again
Alexander Ebert [Thu, 11 Aug 2022 13:36:58 +0000 (15:36 +0200)]
Enable the migration of templates again

2 years agoAdd support for icon migrations in JS/TS files
Alexander Ebert [Thu, 11 Aug 2022 12:25:59 +0000 (14:25 +0200)]
Add support for icon migrations in JS/TS files

The JSON blob was moved back into the code flow, because the IDE broke when using `__halt_compiler()`.

2 years agoIncorrect use of the `{icon}` helper for the `regular` style
Alexander Ebert [Wed, 10 Aug 2022 20:08:28 +0000 (22:08 +0200)]
Incorrect use of the `{icon}` helper for the `regular` style

2 years agoAdd prototype for a migration script
Alexander Ebert [Wed, 10 Aug 2022 18:11:21 +0000 (20:11 +0200)]
Add prototype for a migration script

2 years agoAdd support for icon aliases
Alexander Ebert [Wed, 10 Aug 2022 20:08:46 +0000 (22:08 +0200)]
Add support for icon aliases

2 years agoRestore the original user panel template
Alexander Ebert [Wed, 10 Aug 2022 16:27:30 +0000 (18:27 +0200)]
Restore the original user panel template

The extra icons were introduced for development purposes only.

2 years agoOptimize the metadata JS
Alexander Ebert [Wed, 10 Aug 2022 16:26:16 +0000 (18:26 +0200)]
Optimize the metadata JS

All free fonts have a `solid` variant, therefore we only need a flag to indicate if an icon _also_ has a free `regular` variant.

2 years agoClean up the old icon implementation
Alexander Ebert [Wed, 10 Aug 2022 15:06:40 +0000 (17:06 +0200)]
Clean up the old icon implementation

- Removed the TTF font files
- Removed the “brands” font (served using individual SVGs)
- Removed the shims for Font Awesome v4
- Remove the variables
- Render legacy `.icon` elements using a white question mark inside a purple box to make those easy to spot
- Define all icon variable names using an empty string to prevent compiler errors from unresolved variables.

2 years agoMark the icons as decorative only
Alexander Ebert [Wed, 10 Aug 2022 11:03:01 +0000 (13:03 +0200)]
Mark the icons as decorative only

2 years agoImprove the behavior of the `<fa-icon>` name attribute
Alexander Ebert [Wed, 10 Aug 2022 10:58:35 +0000 (12:58 +0200)]
Improve the behavior of the `<fa-icon>` name attribute

2 years agoHandle changes to the requested size of an icon
Alexander Ebert [Wed, 10 Aug 2022 10:53:37 +0000 (12:53 +0200)]
Handle changes to the requested size of an icon

2 years agoAdd the `setIcon()` method for `<fa-icon>`
Alexander Ebert [Tue, 9 Aug 2022 15:55:40 +0000 (17:55 +0200)]
Add the `setIcon()` method for `<fa-icon>`

2 years agoAdd the typings for the icon web components
Alexander Ebert [Tue, 9 Aug 2022 15:44:20 +0000 (17:44 +0200)]
Add the typings for the icon web components

2 years agoAdd support for changes to the icon name and FA6 Pro
Alexander Ebert [Tue, 9 Aug 2022 15:33:26 +0000 (17:33 +0200)]
Add support for changes to the icon name and FA6 Pro

2 years agoRemove the `regular` flag of `<fa-icon>`
Alexander Ebert [Tue, 9 Aug 2022 14:29:00 +0000 (16:29 +0200)]
Remove the `regular` flag of `<fa-icon>`

2 years agoFix tsconfig.json for WebComponents
Tim Düsterhus [Tue, 9 Aug 2022 14:12:48 +0000 (16:12 +0200)]
Fix tsconfig.json for WebComponents

2 years agoFix the workflow for TypeScript checks
Alexander Ebert [Tue, 9 Aug 2022 13:55:48 +0000 (15:55 +0200)]
Fix the workflow for TypeScript checks

2 years agoSplit the TypeScript proejcts
Alexander Ebert [Tue, 9 Aug 2022 13:03:56 +0000 (15:03 +0200)]
Split the TypeScript proejcts

2 years agoMove the brand icons into a separate `<fa-brand>` element
Alexander Ebert [Tue, 9 Aug 2022 13:00:13 +0000 (15:00 +0200)]
Move the brand icons into a separate `<fa-brand>` element

2 years agoAdd the `--build` flag for the nested `tsconfig.json`
Alexander Ebert [Mon, 8 Aug 2022 16:22:37 +0000 (18:22 +0200)]
Add the `--build` flag for the nested `tsconfig.json`

2 years agoRegister the extra `tsconfig.json` with ESLint
Alexander Ebert [Mon, 8 Aug 2022 16:15:38 +0000 (18:15 +0200)]
Register the extra `tsconfig.json` with ESLint

2 years agoRename the global helper function for the icon metadata
Alexander Ebert [Mon, 8 Aug 2022 16:13:22 +0000 (18:13 +0200)]
Rename the global helper function for the icon metadata

2 years agoAdd method `setIcon` to change the icon on runtime
Alexander Ebert [Mon, 8 Aug 2022 16:06:49 +0000 (18:06 +0200)]
Add method `setIcon` to change the icon on runtime

2 years agoExpose the Font Awesome codepoints to JavaScript
Alexander Ebert [Mon, 8 Aug 2022 15:14:39 +0000 (17:14 +0200)]
Expose the Font Awesome codepoints to JavaScript

2 years agoAdd experimental support for `<fa-icon>`
Alexander Ebert [Mon, 8 Aug 2022 12:37:39 +0000 (14:37 +0200)]
Add experimental support for `<fa-icon>`

2 years agoMark Font Awesome SVGs as linguist-generated
Tim Düsterhus [Mon, 8 Aug 2022 10:37:36 +0000 (12:37 +0200)]
Mark Font Awesome SVGs as linguist-generated

2 years agoAdd the '{icon}' template helper to embed Font Awesome icons
Alexander Ebert [Mon, 8 Aug 2022 10:00:29 +0000 (12:00 +0200)]
Add the '{icon}' template helper to embed Font Awesome icons

2 years agoAdd Font Awesome 6.1.2 brand icons as SVG
Alexander Ebert [Mon, 8 Aug 2022 09:59:51 +0000 (11:59 +0200)]
Add Font Awesome 6.1.2 brand icons as SVG

2 years agoReduce the icon font size to match FA4
Alexander Ebert [Fri, 5 Aug 2022 16:21:35 +0000 (18:21 +0200)]
Reduce the icon font size to match FA4

2 years agoRemove the dynamic scaling of the ACP menu icon
Alexander Ebert [Fri, 5 Aug 2022 15:58:58 +0000 (17:58 +0200)]
Remove the dynamic scaling of the ACP menu icon

It was always a bit of a gimmick, but introduces some noise to the page and the icons generally become blurry when scaled.

2 years agoReduce the size of the admin panel menu icons
Alexander Ebert [Fri, 5 Aug 2022 15:56:29 +0000 (17:56 +0200)]
Reduce the size of the admin panel menu icons

2 years agoAdd Font Awesome 6.1.2 assets
Tim Düsterhus [Fri, 5 Aug 2022 13:44:22 +0000 (15:44 +0200)]
Add Font Awesome 6.1.2 assets

2 years agoAdd Font Awesome 6.0.0-beta3 assets
Tim Düsterhus [Tue, 7 Dec 2021 09:07:06 +0000 (10:07 +0100)]
Add Font Awesome 6.0.0-beta3 assets

2 years agoExtract the icon names from the changed file path
Alexander Ebert [Sat, 13 Nov 2021 13:04:59 +0000 (14:04 +0100)]
Extract the icon names from the changed file path

2 years agoRe-introduced icon helpers and the animated spinner
Alexander Ebert [Fri, 12 Nov 2021 15:44:17 +0000 (16:44 +0100)]
Re-introduced icon helpers and the animated spinner

2 years agoApplied the code style for SCSS files
Alexander Ebert [Fri, 12 Nov 2021 12:16:47 +0000 (13:16 +0100)]
Applied the code style for SCSS files

2 years agoDefault icon color
Alexander Ebert [Fri, 12 Nov 2021 12:16:17 +0000 (13:16 +0100)]
Default icon color

2 years agoConsistent icon width equal to 1.25 times the height
Alexander Ebert [Fri, 12 Nov 2021 12:05:11 +0000 (13:05 +0100)]
Consistent icon width equal to 1.25 times the height

2 years agoUse icon sizes that are multiples of 16px
Tim Düsterhus [Fri, 1 Oct 2021 14:37:34 +0000 (16:37 +0200)]
Use icon sizes that are multiples of 16px

2 years agoUse FA 4 CSS for icon sizes
Tim Düsterhus [Fri, 1 Oct 2021 14:06:59 +0000 (16:06 +0200)]
Use FA 4 CSS for icon sizes

2 years agoOverwrite fa-size-scale-base
Tim Düsterhus [Fri, 1 Oct 2021 14:06:26 +0000 (16:06 +0200)]
Overwrite fa-size-scale-base

2 years agoFix `.icon` compatibility by extending `.fas`
Tim Düsterhus [Fri, 1 Oct 2021 12:43:57 +0000 (14:43 +0200)]
Fix `.icon` compatibility by extending `.fas`

Some CSS rules were missing before.

2 years agoAdd .prettierignore for font-awesome SCSS
Tim Düsterhus [Fri, 1 Oct 2021 10:15:17 +0000 (12:15 +0200)]
Add .prettierignore for font-awesome SCSS

2 years agoAdd custom Font Awesome compatibility layer
Tim Düsterhus [Fri, 1 Oct 2021 10:10:49 +0000 (12:10 +0200)]
Add custom Font Awesome compatibility layer

2 years agoRemove Font Awesome 4
Tim Düsterhus [Fri, 1 Oct 2021 10:10:22 +0000 (12:10 +0200)]
Remove Font Awesome 4

2 years agoAdd Font Awesome 6.0.0-beta2 assets
Tim Düsterhus [Fri, 1 Oct 2021 08:56:13 +0000 (10:56 +0200)]
Add Font Awesome 6.0.0-beta2 assets

2 years agoSet the `pointer` cursor for buttons
Alexander Ebert [Fri, 12 Aug 2022 19:25:45 +0000 (21:25 +0200)]
Set the `pointer` cursor for buttons

2 years agoMerge pull request #4955 from WoltLab/button-explicit-styling
Alexander Ebert [Fri, 12 Aug 2022 19:15:05 +0000 (21:15 +0200)]
Merge pull request #4955 from WoltLab/button-explicit-styling

Permit the use of the native `<button>` element

2 years agoUpdate the compiled JS files
Alexander Ebert [Fri, 12 Aug 2022 16:16:14 +0000 (18:16 +0200)]
Update the compiled JS files

2 years agoMerge branch '5.5'
Tim Düsterhus [Fri, 12 Aug 2022 13:08:54 +0000 (15:08 +0200)]
Merge branch '5.5'

2 years agoMerge pull request #4953 from WoltLab/group-permission-check
Alexander Ebert [Fri, 12 Aug 2022 12:52:07 +0000 (14:52 +0200)]
Merge pull request #4953 from WoltLab/group-permission-check

Remove broken check for UserGroupPermissionCache consistency

2 years agoRemove broken check for UserGroupPermissionCache consistency
Tim Düsterhus [Fri, 12 Aug 2022 12:22:37 +0000 (14:22 +0200)]
Remove broken check for UserGroupPermissionCache consistency

The purpose of this check is not entirely clear, as it exists since the very
first commit in git. Back then it was not yet broken, it got broken when the
caching system was refactored to reorder parameters, probably in order to
improve the cache hit rates:

When running the `worker`s using the CLI interface, for some reason, the cache
for guests gets rebuilt with the `$parameters` array (and thus by extension the
`groupIDs` value) being equal to `[2, 1]`, whereas everywhere else the
`$parameters` are consistently `[1, 2]`.

Now when rebuilding the data via the CLI, the cache will have the `[2, 1]`
order and when reloading the cache in a regular HTTP session this check will
fail, as `[2, 1] != [1, 2]`, thus completely disregarding the cache contents
and using an empty permissions array instead. This in turn leads to guests not
being able to access anything.

Fix this by removing the safety check:

- It's exceedingly unlikely for two unrelated `$parameters` to collide in the
  cache filename, thus applying incorrect permissions.
- If the CacheBuilder itself is buggy, then all bets are off anyway.

2 years agoRemove obsolete code
Marcel Werk [Fri, 12 Aug 2022 11:38:46 +0000 (13:38 +0200)]
Remove obsolete code

2 years agoUpdating minified JavaScript files
WoltLab [Fri, 12 Aug 2022 11:38:24 +0000 (11:38 +0000)]
Updating minified JavaScript files

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Fri, 12 Aug 2022 09:24:21 +0000 (11:24 +0200)]
Merge branch '5.4' into 5.5

2 years agoUnify “Datenbanktabelle” in de.xml
Tim Düsterhus [Fri, 12 Aug 2022 09:23:54 +0000 (11:23 +0200)]
Unify “Datenbanktabelle” in de.xml

2 years agoFix typo in de.xml
Tim Düsterhus [Fri, 12 Aug 2022 09:23:11 +0000 (11:23 +0200)]
Fix typo in de.xml

see #4952

2 years agoMerge branch '5.5'
Tim Düsterhus [Thu, 11 Aug 2022 12:46:55 +0000 (14:46 +0200)]
Merge branch '5.5'

2 years agoMerge branch '5.4' into 5.5
Tim Düsterhus [Thu, 11 Aug 2022 12:46:41 +0000 (14:46 +0200)]
Merge branch '5.4' into 5.5

2 years agoImprove character class definition in explanation for PIP identifiers
Tim Düsterhus [Thu, 11 Aug 2022 12:45:33 +0000 (14:45 +0200)]
Improve character class definition in explanation for PIP identifiers

see #4952

2 years agoUnify phrasing for PIP identifier explanations
Tim Düsterhus [Thu, 11 Aug 2022 12:43:58 +0000 (14:43 +0200)]
Unify phrasing for PIP identifier explanations

see #4952

2 years agoImprove phrasing in PIP identifier description
Tim Düsterhus [Thu, 11 Aug 2022 12:40:52 +0000 (14:40 +0200)]
Improve phrasing in PIP identifier description

see #4952

2 years agoFix grammar in de.xml
Tim Düsterhus [Thu, 11 Aug 2022 12:38:50 +0000 (14:38 +0200)]
Fix grammar in de.xml

Resolves #4952

Reported-by: Dennis Kraffczyk <github@dennis-kraffczyk.de>
2 years agoReplace “Example” by “Beispiel” in de.xml
Tim Düsterhus [Thu, 11 Aug 2022 12:37:14 +0000 (14:37 +0200)]
Replace “Example” by “Beispiel” in de.xml

see #4952

2 years agoFix the check for the provided element
Alexander Ebert [Wed, 10 Aug 2022 16:51:14 +0000 (18:51 +0200)]
Fix the check for the provided element

The implementation expects an input element, but an additional guard is in place to only accept DOM elements. The intention was to reject other values such as strings which were common with the previous jQuery implementation.

2 years agoMerge pull request #4950 from WoltLab/oauth-return-types
Tim Düsterhus [Wed, 10 Aug 2022 13:43:09 +0000 (15:43 +0200)]
Merge pull request #4950 from WoltLab/oauth-return-types

Add proper types to OAuth controllers

2 years agoUse typed property for AbstractOauth2Action::$httpClient
Tim Düsterhus [Wed, 10 Aug 2022 13:39:23 +0000 (15:39 +0200)]
Use typed property for AbstractOauth2Action::$httpClient

2 years agoAdd proper types to the `*AuthAction` controllers
Tim Düsterhus [Wed, 10 Aug 2022 13:38:14 +0000 (15:38 +0200)]
Add proper types to the `*AuthAction` controllers

2 years agoMark TwitterAuthAction as final
Tim Düsterhus [Wed, 10 Aug 2022 13:36:05 +0000 (15:36 +0200)]
Mark TwitterAuthAction as final

2 years agoUse `Hex::encode()` in PackageInstallationDispatcher
Tim Düsterhus [Wed, 10 Aug 2022 10:03:40 +0000 (12:03 +0200)]
Use `Hex::encode()` in PackageInstallationDispatcher

This must be safe at this point, because WCFSetup relies on composer's
autoloader to work.

2 years agoMerge pull request #4949 from WoltLab/package-php-requirements-remove
Tim Düsterhus [Wed, 10 Aug 2022 10:33:48 +0000 (12:33 +0200)]
Merge pull request #4949 from WoltLab/package-php-requirements-remove

Remove remnants of PHP requirement checking logic in package installation

2 years agoMerge pull request #4948 from WoltLab/clear-cache-command
Tim Düsterhus [Wed, 10 Aug 2022 10:29:44 +0000 (12:29 +0200)]
Merge pull request #4948 from WoltLab/clear-cache-command

Add ClearCache command

2 years agoRemove PackageInstallationDispatcher::convertShorthandByteValue()
Tim Düsterhus [Wed, 10 Aug 2022 09:05:57 +0000 (11:05 +0200)]
Remove PackageInstallationDispatcher::convertShorthandByteValue()

This method existed for use with compareSetting().

2 years agoRemove PackageInstallationDispatcher::compareSetting()
Tim Düsterhus [Wed, 10 Aug 2022 09:04:51 +0000 (11:04 +0200)]
Remove PackageInstallationDispatcher::compareSetting()

This method existed for use with validatePHPRequirements().

2 years agoRemove PackageInstallationDispatcher::validatePHPRequirements()
Tim Düsterhus [Wed, 10 Aug 2022 09:03:56 +0000 (11:03 +0200)]
Remove PackageInstallationDispatcher::validatePHPRequirements()

This code is completely unused and its API is built for internal use.

2 years agoRemove PackageArchive::unzipPackageArchive()
Tim Düsterhus [Wed, 10 Aug 2022 09:02:15 +0000 (11:02 +0200)]
Remove PackageArchive::unzipPackageArchive()

The `Tar` class is perfectly able to handle compressed tar archives, no need to
explicitly extract.

2 years agoRemove PackageInstallationDispatcher::functionExists()
Tim Düsterhus [Wed, 10 Aug 2022 08:56:28 +0000 (10:56 +0200)]
Remove PackageInstallationDispatcher::functionExists()

This method is trivially replaced.

2 years agoUse ClearCacheCommand in CacheClearAction
Tim Düsterhus [Wed, 10 Aug 2022 10:17:16 +0000 (12:17 +0200)]
Use ClearCacheCommand in CacheClearAction

2 years agoAdd ClearCache command
Tim Düsterhus [Fri, 5 Aug 2022 09:43:16 +0000 (11:43 +0200)]
Add ClearCache command

2 years agoAdd CacheCleared event
Tim Düsterhus [Fri, 5 Aug 2022 09:38:28 +0000 (11:38 +0200)]
Add CacheCleared event

2 years agoUse `->prepare()` in Package(Un)InstallationNodeBuilder
Tim Düsterhus [Tue, 9 Aug 2022 13:33:43 +0000 (15:33 +0200)]
Use `->prepare()` in Package(Un)InstallationNodeBuilder

2 years agoMerge pull request #4944 from WoltLab/legacy-user-panel
Alexander Ebert [Tue, 9 Aug 2022 12:23:57 +0000 (14:23 +0200)]
Merge pull request #4944 from WoltLab/legacy-user-panel

Remove the legacy user panel

2 years agoMerge pull request #4945 from WoltLab/deprecated-js-modules
Alexander Ebert [Tue, 9 Aug 2022 12:23:27 +0000 (14:23 +0200)]
Merge pull request #4945 from WoltLab/deprecated-js-modules

Removal of unused legacy components

2 years agoRemove the unused `WCF.Search.Message.js` file
Alexander Ebert [Mon, 8 Aug 2022 17:28:45 +0000 (19:28 +0200)]
Remove the unused `WCF.Search.Message.js` file

2 years agoRemove the legacy user panel
Alexander Ebert [Mon, 8 Aug 2022 17:00:32 +0000 (19:00 +0200)]
Remove the legacy user panel

2 years agoMerge pull request #4946 from WoltLab/remove-package-cli
Tim Düsterhus [Tue, 9 Aug 2022 10:41:20 +0000 (12:41 +0200)]
Merge pull request #4946 from WoltLab/remove-package-cli

Remove PackageCLICommand

2 years agoRemove PackageCLICommand
Tim Düsterhus [Tue, 9 Aug 2022 10:29:58 +0000 (12:29 +0200)]
Remove PackageCLICommand

This is broken by design and completely unmaintained.

2 years agoUse `->prepare()` in PackageInstallationDispatcher
Tim Düsterhus [Tue, 9 Aug 2022 10:27:49 +0000 (12:27 +0200)]
Use `->prepare()` in PackageInstallationDispatcher

2 years agoInitialize LegacySession with `null`
Tim Düsterhus [Tue, 9 Aug 2022 07:43:52 +0000 (09:43 +0200)]
Initialize LegacySession with `null`

Otherwise ACP will access an uninitialized property during shutdown.

see 0867fa82fd1faaf2e1e9192102cae97a9759df70

2 years agoRemove unused legacy components
Alexander Ebert [Mon, 8 Aug 2022 17:26:20 +0000 (19:26 +0200)]
Remove unused legacy components

2 years agoRemoved the unused `flexibleArea.js` plugin
Alexander Ebert [Mon, 8 Aug 2022 17:23:04 +0000 (19:23 +0200)]
Removed the unused `flexibleArea.js` plugin

2 years agoRemove unused legacy components
Alexander Ebert [Mon, 8 Aug 2022 17:21:04 +0000 (19:21 +0200)]
Remove unused legacy components

2 years agoRemove an unused legacy component
Alexander Ebert [Mon, 8 Aug 2022 17:11:05 +0000 (19:11 +0200)]
Remove an unused legacy component

2 years agoRemove the unused smartphone detection in jQuery
Alexander Ebert [Mon, 8 Aug 2022 16:41:04 +0000 (18:41 +0200)]
Remove the unused smartphone detection in jQuery

This was a custom detection that was entirely flawed and hard-coded to always return `false` since 5.5.

2 years agoRemove an unused and dangerous window extension
Alexander Ebert [Mon, 8 Aug 2022 16:38:51 +0000 (18:38 +0200)]
Remove an unused and dangerous window extension

2 years agoRemove a workaround for `window.console` in IE<11
Alexander Ebert [Mon, 8 Aug 2022 16:37:43 +0000 (18:37 +0200)]
Remove a workaround for `window.console` in IE<11

2 years agoMerge pull request #4942 from WoltLab/fileutil-downloadFileFromHttp
Tim Düsterhus [Mon, 8 Aug 2022 14:55:03 +0000 (16:55 +0200)]
Merge pull request #4942 from WoltLab/fileutil-downloadFileFromHttp

Remove FileUtil::downloadFileFromHttp()

2 years agoMerge pull request #4941 from WoltLab/legacy-mail
Tim Düsterhus [Mon, 8 Aug 2022 14:54:14 +0000 (16:54 +0200)]
Merge pull request #4941 from WoltLab/legacy-mail

Remove the legacy Mail class

2 years agoMerge pull request #4940 from WoltLab/prism-deprecation
Tim Düsterhus [Mon, 8 Aug 2022 14:53:59 +0000 (16:53 +0200)]
Merge pull request #4940 from WoltLab/prism-deprecation

Remove deprecated Prism.wscSplitIntoLines