Skip to content

Commit 2fc1438

Browse files
committed
v116.0.0
1 parent d062f1a commit 2fc1438

File tree

221 files changed

+4290
-5466
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

221 files changed

+4290
-5466
lines changed

.editorconfig

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,22 @@ insert_final_newline = true
1313
trim_trailing_whitespace = true
1414

1515
# TS/JS-Files
16-
[*.{ts,js}]
16+
[*.{ts,js,mjs}]
1717
indent_size = 2
1818

1919
# JSON-Files
2020
[*.json]
2121
indent_style = tab
2222

2323
# ReST-Files
24-
[*.rst]
24+
[*.{rst,rst.txt}]
2525
indent_size = 4
2626
max_line_length = 80
2727

28+
# Markdown-Files
29+
[*.md]
30+
max_line_length = 80
31+
2832
# YAML-Files
2933
[*.{yaml,yml}]
3034
indent_size = 2
@@ -34,6 +38,10 @@ indent_size = 2
3438
indent_size = 2
3539
indent_style = tab
3640

41+
# stylelint
42+
[.stylelintrc]
43+
indent_size = 2
44+
3745
# package.json
3846
[package.json]
3947
indent_size = 2

.gitignore

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
*~
22
*.bak
3-
*.map
43
.DS_Store
4+
/.Build/
5+
/node_modules/
56
/composer.lock
67
/.php-cs-fixer.cache
78
/.php-cs-fixer.php
8-
9-
/.Build/
10-
/node_modules/
11-
12-
# Sonar Lint
13-
.idea/sonarlint
9+
/.phpunit.result.cache
10+
/phpstan.neon
1411

1512
/Resources/Private/MailTemplates/app.css

.php-cs-fixer.dist.php

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,19 @@
1919
)
2020
->setRiskyAllowed(true)
2121
->setRules([
22-
'@PSR12' => true,
2322
'@DoctrineAnnotation' => true,
24-
'@PER-CS' => true,
25-
'array_syntax' => ['syntax' => 'short'],
26-
'blank_line_after_opening_tag' => true,
27-
'single_space_around_construct' => true,
28-
'control_structure_braces' => true,
29-
'control_structure_continuation_position' => true,
30-
'declare_parentheses' => true,
31-
'statement_indentation' => true,
32-
'no_multiple_statements_per_line' => true,
23+
'@PER-CS2.0' => true,
24+
'@PHP82Migration' => true,
3325
'cast_spaces' => ['space' => 'none'],
34-
'compact_nullable_type_declaration' => true,
35-
'concat_space' => ['spacing' => 'one'],
36-
'declare_equal_normalize' => ['space' => 'none'],
26+
'declare_parentheses' => true,
3727
'dir_constant' => true,
38-
'type_declaration_spaces' => true,
39-
'lowercase_cast' => true,
40-
'method_argument_space' => ['on_multiline' => 'ensure_fully_multiline'],
4128
'modernize_types_casting' => true,
4229
'native_function_casing' => true,
43-
'new_with_parentheses' => true,
4430
'no_alias_functions' => true,
4531
'no_blank_lines_after_phpdoc' => true,
4632
'no_empty_phpdoc' => true,
4733
'no_empty_statement' => true,
4834
'no_extra_blank_lines' => true,
49-
'no_leading_import_slash' => true,
5035
'no_leading_namespace_whitespace' => true,
5136
'no_null_property_initialization' => true,
5237
'no_short_bool_cast' => true,
@@ -57,23 +42,20 @@
5742
'no_unused_imports' => true,
5843
'no_useless_else' => true,
5944
'no_useless_nullsafe_operator' => true,
60-
'no_whitespace_in_blank_line' => true,
61-
'ordered_imports' => true,
45+
'ordered_imports' => ['imports_order' => ['class', 'function', 'const'], 'sort_algorithm' => 'alpha'],
6246
'php_unit_construct' => ['assertions' => ['assertEquals', 'assertSame', 'assertNotEquals', 'assertNotSame']],
6347
'php_unit_mock_short_will_return' => true,
6448
'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
65-
'phpdoc_no_access' => true,
6649
'phpdoc_no_empty_return' => true,
6750
'phpdoc_no_package' => true,
6851
'phpdoc_scalar' => true,
6952
'phpdoc_trim' => true,
7053
'phpdoc_types' => true,
7154
'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'],
72-
'return_type_declaration' => ['space_before' => 'none'],
73-
'single_quote' => true,
7455
'single_line_comment_style' => ['comment_types' => ['hash']],
75-
'single_trait_insert_per_statement' => true,
76-
'trailing_comma_in_multiline' => ['elements' => ['arrays']],
56+
'single_quote' => true,
57+
'single_space_around_construct' => true,
58+
'type_declaration_spaces' => true,
7759
'whitespace_after_comma_in_array' => ['ensure_single_space' => true],
7860
'yoda_style' => ['equal' => false, 'identical' => false, 'less_and_greater' => false],
7961
]);

.phpstorm.meta.php

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@
33
/**
44
* Extend PhpStorms code completion capabilities by providing a meta file
55
*
6-
* Kudos to Alexander Schnitzler's work, see https://github.com/alexanderschnitzler/phpstorm.meta.php-typo3
76
* @link https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html
87
*/
98

109
namespace PHPSTORM_META {
11-
// Contexts
12-
// @see https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/9.4/Feature-85389-ContextAPIForConsistentDataHandling.html
1310
expectedArguments(
1411
\TYPO3\CMS\Core\Context\Context::getAspect(),
1512
0,
@@ -21,7 +18,6 @@
2118
'language',
2219
'typoscript'
2320
);
24-
2521
override(\TYPO3\CMS\Core\Context\Context::getAspect(), map([
2622
'date' => \TYPO3\CMS\Core\Context\DateTimeAspect::class,
2723
'visibility' => \TYPO3\CMS\Core\Context\VisibilityAspect::class,
@@ -31,7 +27,6 @@
3127
'language' => \TYPO3\CMS\Core\Context\LanguageAspect::class,
3228
'typoscript' => \TYPO3\CMS\Core\Context\TypoScriptAspect::class,
3329
]));
34-
3530
expectedArguments(
3631
\TYPO3\CMS\Core\Context\DateTimeAspect::get(),
3732
0,
@@ -41,15 +36,13 @@
4136
'full',
4237
'accessTime'
4338
);
44-
4539
expectedArguments(
4640
\TYPO3\CMS\Core\Context\VisibilityAspect::get(),
4741
0,
4842
'includeHiddenPages',
4943
'includeHiddenContent',
5044
'includeDeletedRecords'
5145
);
52-
5346
expectedArguments(
5447
\TYPO3\CMS\Core\Context\UserAspect::get(),
5548
0,
@@ -60,15 +53,13 @@
6053
'groupIds',
6154
'groupNames'
6255
);
63-
6456
expectedArguments(
6557
\TYPO3\CMS\Core\Context\WorkspaceAspect::get(),
6658
0,
6759
'id',
6860
'isLive',
6961
'isOffline'
7062
);
71-
7263
expectedArguments(
7364
\TYPO3\CMS\Core\Context\LanguageAspect::get(),
7465
0,
@@ -79,7 +70,6 @@
7970
'legacyLanguageMode',
8071
'legacyOverlayType'
8172
);
82-
8373
expectedArguments(
8474
\TYPO3\CMS\Core\Context\TypoScriptAspect::get(),
8575
0,
@@ -89,41 +79,47 @@
8979
expectedArguments(
9080
\Psr\Http\Message\ServerRequestInterface::getAttribute(),
9181
0,
92-
'backend.user',
9382
'frontend.user',
9483
'normalizedParams',
9584
'site',
9685
'language',
97-
'routing'
86+
'routing',
87+
'module',
88+
'moduleData',
89+
'frontend.controller',
90+
'frontend.typoscript',
9891
);
99-
10092
override(\Psr\Http\Message\ServerRequestInterface::getAttribute(), map([
101-
'backend.user' => \TYPO3\CMS\Backend\FrontendBackendUserAuthentication::class,
10293
'frontend.user' => \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::class,
10394
'normalizedParams' => \TYPO3\CMS\Core\Http\NormalizedParams::class,
10495
'site' => \TYPO3\CMS\Core\Site\Entity\SiteInterface::class,
10596
'language' => \TYPO3\CMS\Core\Site\Entity\SiteLanguage::class,
10697
'routing' => '\TYPO3\CMS\Core\Routing\SiteRouteResult|\TYPO3\CMS\Core\Routing\PageArguments',
98+
'module' => \TYPO3\CMS\Backend\Module\ModuleInterface::class,
99+
'moduleData' => \TYPO3\CMS\Backend\Module\ModuleData::class,
100+
'frontend.controller' => \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::class,
101+
'frontend.typoscript' => \TYPO3\CMS\Core\TypoScript\FrontendTypoScript::class,
107102
]));
108103

109104
expectedArguments(
110105
\TYPO3\CMS\Core\Http\ServerRequest::getAttribute(),
111106
0,
112-
'backend.user',
113107
'frontend.user',
114108
'normalizedParams',
115109
'site',
116110
'language',
117-
'routing'
111+
'routing',
112+
'module',
113+
'moduleData'
118114
);
119-
120115
override(\TYPO3\CMS\Core\Http\ServerRequest::getAttribute(), map([
121-
'backend.user' => \TYPO3\CMS\Backend\FrontendBackendUserAuthentication::class,
122116
'frontend.user' => \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::class,
123117
'normalizedParams' => \TYPO3\CMS\Core\Http\NormalizedParams::class,
124118
'site' => \TYPO3\CMS\Core\Site\Entity\SiteInterface::class,
125119
'language' => \TYPO3\CMS\Core\Site\Entity\SiteLanguage::class,
126120
'routing' => '\TYPO3\CMS\Core\Routing\SiteRouteResult|\TYPO3\CMS\Core\Routing\PageArguments',
121+
'module' => \TYPO3\CMS\Backend\Module\ModuleInterface::class,
122+
'moduleData' => \TYPO3\CMS\Backend\Module\ModuleData::class,
127123
]));
128124

129125
override(\TYPO3\CMS\Core\Routing\SiteMatcher::matchRequest(), type(
@@ -136,4 +132,16 @@
136132
\TYPO3\CMS\Core\Routing\PageArguments::class,
137133
\TYPO3\CMS\Core\Routing\RouteResultInterface::class,
138134
));
135+
136+
override(\Psr\Container\ContainerInterface::get(0), map([
137+
'' => '@',
138+
]));
139+
140+
override(\Psr\EventDispatcher\EventDispatcherInterface::dispatch(0), map([
141+
'' => '@',
142+
]));
143+
144+
override(\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(0), map([
145+
'' => '@'
146+
]));
139147
}

Classes/Command/CleanupController.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ class CleanupController extends Command
1515
/**
1616
* Configure the command by defining the name, options and arguments
1717
*/
18-
protected function configure()
18+
#[\Override]
19+
protected function configure(): void
1920
{
2021
$this->setDescription('Removes stale _mm records and removes invalid tag_mm records pointing to wrong languages.');
2122
}
2223

23-
protected function execute(InputInterface $input, OutputInterface $output)
24+
#[\Override]
25+
protected function execute(InputInterface $input, OutputInterface $output): int
2426
{
2527
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionByName(ConnectionPool::DEFAULT_CONNECTION_NAME);
2628

Classes/Command/ExportController.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ class ExportController extends Command
1717
/**
1818
* Configure the command by defining the name, options and arguments
1919
*/
20-
protected function configure()
20+
#[\Override]
21+
protected function configure(): void
2122
{
2223
$this
2324
->setDescription('Export a given list of SkillSets to a file')
@@ -38,12 +39,9 @@ protected function configure()
3839

3940
/**
4041
* Executes the command for adding the lock file
41-
*
42-
* @param InputInterface $input
43-
* @param OutputInterface $output
44-
* @return int
4542
*/
46-
protected function execute(InputInterface $input, OutputInterface $output)
43+
#[\Override]
44+
protected function execute(InputInterface $input, OutputInterface $output): int
4745
{
4846
$skillSets = $input->getArgument('skillSets');
4947
$targetFileName = $input->getOption('output');

Classes/Command/GuestUserController.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@ class GuestUserController extends Command
2424
/**
2525
* Configure the command by defining the name, options and arguments
2626
*/
27-
protected function configure()
27+
#[\Override]
28+
protected function configure(): void
2829
{
2930
$this->setDescription('Cleanup old guest users');
3031
}
3132

32-
protected function execute(InputInterface $input, OutputInterface $output)
33+
#[\Override]
34+
protected function execute(InputInterface $input, OutputInterface $output): int
3335
{
3436
(new GuestUserCleanupService())->run();
3537
return Command::SUCCESS;

Classes/Command/ImportController.php

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ class ImportController extends Command
1818
/**
1919
* Configure the command by defining the name, options and arguments
2020
*/
21-
protected function configure()
21+
#[\Override]
22+
protected function configure(): void
2223
{
2324
$this
2425
->setDescription('Import data from json export file')
@@ -37,9 +38,9 @@ protected function configure()
3738
null,
3839
InputOption::VALUE_REQUIRED,
3940
'Specify the mode for detected changes.'
40-
. LF . ' - "ask": Ask whether to import the record'
41-
. LF . ' - "ignore": Ignore all data from the import file which exist already'
42-
. LF . ' - "force": Overwrite all local data with the values from the import file',
41+
. "\n" . ' - "ask": Ask whether to import the record'
42+
. "\n" . ' - "ignore": Ignore all data from the import file which exist already'
43+
. "\n" . ' - "force": Overwrite all local data with the values from the import file',
4344
'ignore'
4445
)
4546
->addOption(
@@ -53,12 +54,9 @@ protected function configure()
5354

5455
/**
5556
* Executes the command for adding the lock file
56-
*
57-
* @param InputInterface $input
58-
* @param OutputInterface $output
59-
* @return int 0 if everything went fine, or an exit code
6057
*/
61-
protected function execute(InputInterface $input, OutputInterface $output)
58+
#[\Override]
59+
protected function execute(InputInterface $input, OutputInterface $output): int
6260
{
6361
$sourceFile = $input->getArgument('sourceFile');
6462
$pid = (int)$input->getArgument('pid');

0 commit comments

Comments
 (0)