diff --git a/vendor/symfony/console/Style/SymfonyStyle.php b/vendor/symfony/console/Style/SymfonyStyle.php
index 997f862..8fd6f84 100644
--- a/vendor/symfony/console/Style/SymfonyStyle.php
+++ b/vendor/symfony/console/Style/SymfonyStyle.php
@@ -23,6 +23,7 @@ use Symfony\Component\Console\Helper\TableCell;
use Symfony\Component\Console\Helper\TableSeparator;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\ConsoleOutputInterface;
+use Symfony\Component\Console\Output\ConsoleSectionOutput;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Output\TrimmedBufferOutput;
use Symfony\Component\Console\Question\ChoiceQuestion;
@@ -298,6 +299,11 @@ class SymfonyStyle extends OutputStyle
$answer = $this->questionHelper->ask($this->input, $this, $question);
if ($this->input->isInteractive()) {
+ if ($this->output instanceof ConsoleSectionOutput) {
+ // add the new line of the `return` to submit the input to ConsoleSectionOutput, because ConsoleSectionOutput is holding all it's lines.
+ // this is relevant when a `ConsoleSectionOutput::clear` is called.
+ $this->output->addNewLineOfInputSubmit();
+ }
$this->newLine();
$this->bufferedOutput->write("\n");
}
diff --git a/vendor/symfony/console/Terminal.php b/vendor/symfony/console/Terminal.php
index 216c609..855f411 100644
--- a/vendor/symfony/console/Terminal.php
+++ b/vendor/symfony/console/Terminal.php
@@ -123,20 +123,19 @@ class Terminal
return self::$stty;
}
- // skip check if exec function is disabled
- if (!\function_exists('exec')) {
+ // skip check if shell_exec function is disabled
+ if (!\function_exists('shell_exec')) {
return false;
}
- exec('stty 2>&1', $output, $exitcode);
-
- return self::$stty = 0 === $exitcode;
+ return self::$stty = (bool) shell_exec('stty 2> '.('\\' === \DIRECTORY_SEPARATOR ? 'NUL' : '/dev/null'));
}
private static function initDimensions()
{
if ('\\' === \DIRECTORY_SEPARATOR) {
- if (preg_match('/^(\d+)x(\d+)(?: \((\d+)x(\d+)\))?$/', trim(getenv('ANSICON')), $matches)) {
+ $ansicon = getenv('ANSICON');
+ if (false !== $ansicon && preg_match('/^(\d+)x(\d+)(?: \((\d+)x(\d+)\))?$/', trim($ansicon), $matches)) {
// extract [w, H] from "wxh (WxH)"
// or [w, h] from "wxh"
self::$width = (int) $matches[1];
@@ -216,6 +215,8 @@ class Terminal
2 => ['pipe', 'w'],
];
+ $cp = \function_exists('sapi_windows_cp_set') ? sapi_windows_cp_get() : 0;
+
$process = proc_open($command, $descriptorspec, $pipes, null, null, ['suppress_errors' => true]);
if (!\is_resource($process)) {
return null;
@@ -226,6 +227,10 @@ class Terminal
fclose($pipes[2]);
proc_close($process);
+ if ($cp) {
+ sapi_windows_cp_set($cp);
+ }
+
return $info;
}
}
diff --git a/vendor/symfony/console/composer.json b/vendor/symfony/console/composer.json
index bafe5d1..6cc6166 100644
--- a/vendor/symfony/console/composer.json
+++ b/vendor/symfony/console/composer.json
@@ -2,7 +2,7 @@
"name": "symfony/console",
"type": "library",
"description": "Eases the creation of beautiful and testable command line interfaces",
- "keywords": ["console", "cli", "command line", "terminal"],
+ "keywords": ["console", "cli", "command-line", "terminal"],
"homepage": "https://symfony.com",
"license": "MIT",
"authors": [
diff --git a/vendor/symfony/deprecation-contracts/LICENSE b/vendor/symfony/deprecation-contracts/LICENSE
index 406242f..0ed3a24 100644
--- a/vendor/symfony/deprecation-contracts/LICENSE
+++ b/vendor/symfony/deprecation-contracts/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2020-2022 Fabien Potencier
+Copyright (c) 2020-present Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/deprecation-contracts/README.md b/vendor/symfony/deprecation-contracts/README.md
index 4957933..9814864 100644
--- a/vendor/symfony/deprecation-contracts/README.md
+++ b/vendor/symfony/deprecation-contracts/README.md
@@ -22,5 +22,5 @@ trigger_deprecation('symfony/blockchain', '8.9', 'Using "%s" is deprecated, use
This will generate the following message:
`Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.`
-While not necessarily recommended, the deprecation notices can be completely ignored by declaring an empty
+While not recommended, the deprecation notices can be completely ignored by declaring an empty
`function trigger_deprecation() {}` in your application.
diff --git a/vendor/symfony/service-contracts/LICENSE b/vendor/symfony/service-contracts/LICENSE
index 74cdc2d..7536cae 100644
--- a/vendor/symfony/service-contracts/LICENSE
+++ b/vendor/symfony/service-contracts/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2018-2022 Fabien Potencier
+Copyright (c) 2018-present Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/service-contracts/README.md b/vendor/symfony/service-contracts/README.md
index 41e054a..42841a5 100644
--- a/vendor/symfony/service-contracts/README.md
+++ b/vendor/symfony/service-contracts/README.md
@@ -3,7 +3,7 @@ Symfony Service Contracts
A set of abstractions extracted out of the Symfony components.
-Can be used to build on semantics that the Symfony components proved useful - and
+Can be used to build on semantics that the Symfony components proved useful and
that already have battle tested implementations.
See https://github.com/symfony/contracts/blob/main/README.md for more information.
diff --git a/vendor/symfony/service-contracts/ResetInterface.php b/vendor/symfony/service-contracts/ResetInterface.php
index 1af1075..a4f389b 100644
--- a/vendor/symfony/service-contracts/ResetInterface.php
+++ b/vendor/symfony/service-contracts/ResetInterface.php
@@ -26,5 +26,8 @@ namespace Symfony\Contracts\Service;
*/
interface ResetInterface
{
+ /**
+ * @return void
+ */
public function reset();
}
diff --git a/vendor/symfony/service-contracts/ServiceProviderInterface.php b/vendor/symfony/service-contracts/ServiceProviderInterface.php
index a28fd82..c05e4bf 100644
--- a/vendor/symfony/service-contracts/ServiceProviderInterface.php
+++ b/vendor/symfony/service-contracts/ServiceProviderInterface.php
@@ -19,7 +19,7 @@ use Psr\Container\ContainerInterface;
* @author Nicolas Grekas
* @author Mateusz Sip
*
- * @template T of mixed
+ * @template-covariant T of mixed
*/
interface ServiceProviderInterface extends ContainerInterface
{
diff --git a/vendor/symfony/service-contracts/ServiceSubscriberTrait.php b/vendor/symfony/service-contracts/ServiceSubscriberTrait.php
index f7cd3a9..f3b450c 100644
--- a/vendor/symfony/service-contracts/ServiceSubscriberTrait.php
+++ b/vendor/symfony/service-contracts/ServiceSubscriberTrait.php
@@ -66,12 +66,13 @@ trait ServiceSubscriberTrait
#[Required]
public function setContainer(ContainerInterface $container): ?ContainerInterface
{
- $this->container = $container;
-
+ $ret = null;
if (method_exists(get_parent_class(self::class) ?: '', __FUNCTION__)) {
- return parent::setContainer($container);
+ $ret = parent::setContainer($container);
}
- return null;
+ $this->container = $container;
+
+ return $ret;
}
}
diff --git a/vendor/symfony/string/AbstractUnicodeString.php b/vendor/symfony/string/AbstractUnicodeString.php
index 5291227..2a2bed7 100644
--- a/vendor/symfony/string/AbstractUnicodeString.php
+++ b/vendor/symfony/string/AbstractUnicodeString.php
@@ -37,8 +37,8 @@ abstract class AbstractUnicodeString extends AbstractString
private const ASCII = "\x20\x65\x69\x61\x73\x6E\x74\x72\x6F\x6C\x75\x64\x5D\x5B\x63\x6D\x70\x27\x0A\x67\x7C\x68\x76\x2E\x66\x62\x2C\x3A\x3D\x2D\x71\x31\x30\x43\x32\x2A\x79\x78\x29\x28\x4C\x39\x41\x53\x2F\x50\x22\x45\x6A\x4D\x49\x6B\x33\x3E\x35\x54\x3C\x44\x34\x7D\x42\x7B\x38\x46\x77\x52\x36\x37\x55\x47\x4E\x3B\x4A\x7A\x56\x23\x48\x4F\x57\x5F\x26\x21\x4B\x3F\x58\x51\x25\x59\x5C\x09\x5A\x2B\x7E\x5E\x24\x40\x60\x7F\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
// the subset of folded case mappings that is not in lower case mappings
- private const FOLD_FROM = ['İ', 'µ', 'ſ', "\xCD\x85", 'ς', 'ϐ', 'ϑ', 'ϕ', 'ϖ', 'ϰ', 'ϱ', 'ϵ', 'ẛ', "\xE1\xBE\xBE", 'ß', 'İ', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'և', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'ẚ', 'ẞ', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', 'ᾍ', 'ᾎ', 'ᾏ', 'ᾐ', 'ᾑ', 'ᾒ', 'ᾓ', 'ᾔ', 'ᾕ', 'ᾖ', 'ᾗ', 'ᾘ', 'ᾙ', 'ᾚ', 'ᾛ', 'ᾜ', 'ᾝ', 'ᾞ', 'ᾟ', 'ᾠ', 'ᾡ', 'ᾢ', 'ᾣ', 'ᾤ', 'ᾥ', 'ᾦ', 'ᾧ', 'ᾨ', 'ᾩ', 'ᾪ', 'ᾫ', 'ᾬ', 'ᾭ', 'ᾮ', 'ᾯ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'ᾼ', 'ῂ', 'ῃ', 'ῄ', 'ῆ', 'ῇ', 'ῌ', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'ῢ', 'ΰ', 'ῤ', 'ῦ', 'ῧ', 'ῲ', 'ῳ', 'ῴ', 'ῶ', 'ῷ', 'ῼ', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'ſt', 'st', 'ﬓ', 'ﬔ', 'ﬕ', 'ﬖ', 'ﬗ'];
- private const FOLD_TO = ['i̇', 'μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', 'ṡ', 'ι', 'ss', 'i̇', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'եւ', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'aʾ', 'ss', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὰι', 'αι', 'άι', 'ᾶ', 'ᾶι', 'αι', 'ὴι', 'ηι', 'ήι', 'ῆ', 'ῆι', 'ηι', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'ῢ', 'ΰ', 'ῤ', 'ῦ', 'ῧ', 'ὼι', 'ωι', 'ώι', 'ῶ', 'ῶι', 'ωι', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'st', 'st', 'մն', 'մե', 'մի', 'վն', 'մխ'];
+ private const FOLD_FROM = ['İ', 'µ', 'ſ', "\xCD\x85", 'ς', 'ϐ', 'ϑ', 'ϕ', 'ϖ', 'ϰ', 'ϱ', 'ϵ', 'ẛ', "\xE1\xBE\xBE", 'ß', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'և', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'ẚ', 'ẞ', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', 'ᾍ', 'ᾎ', 'ᾏ', 'ᾐ', 'ᾑ', 'ᾒ', 'ᾓ', 'ᾔ', 'ᾕ', 'ᾖ', 'ᾗ', 'ᾘ', 'ᾙ', 'ᾚ', 'ᾛ', 'ᾜ', 'ᾝ', 'ᾞ', 'ᾟ', 'ᾠ', 'ᾡ', 'ᾢ', 'ᾣ', 'ᾤ', 'ᾥ', 'ᾦ', 'ᾧ', 'ᾨ', 'ᾩ', 'ᾪ', 'ᾫ', 'ᾬ', 'ᾭ', 'ᾮ', 'ᾯ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'ᾼ', 'ῂ', 'ῃ', 'ῄ', 'ῆ', 'ῇ', 'ῌ', 'ῒ', 'ῖ', 'ῗ', 'ῢ', 'ῤ', 'ῦ', 'ῧ', 'ῲ', 'ῳ', 'ῴ', 'ῶ', 'ῷ', 'ῼ', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'ſt', 'st', 'ﬓ', 'ﬔ', 'ﬕ', 'ﬖ', 'ﬗ'];
+ private const FOLD_TO = ['i̇', 'μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', 'ṡ', 'ι', 'ss', 'ʼn', 'ǰ', 'ΐ', 'ΰ', 'եւ', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'aʾ', 'ss', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἀι', 'ἁι', 'ἂι', 'ἃι', 'ἄι', 'ἅι', 'ἆι', 'ἇι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ἠι', 'ἡι', 'ἢι', 'ἣι', 'ἤι', 'ἥι', 'ἦι', 'ἧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὠι', 'ὡι', 'ὢι', 'ὣι', 'ὤι', 'ὥι', 'ὦι', 'ὧι', 'ὰι', 'αι', 'άι', 'ᾶ', 'ᾶι', 'αι', 'ὴι', 'ηι', 'ήι', 'ῆ', 'ῆι', 'ηι', 'ῒ', 'ῖ', 'ῗ', 'ῢ', 'ῤ', 'ῦ', 'ῧ', 'ὼι', 'ωι', 'ώι', 'ῶ', 'ῶι', 'ωι', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'st', 'st', 'մն', 'մե', 'մի', 'վն', 'մխ'];
// the subset of upper case mappings that map one code point to many code points
private const UPPER_FROM = ['ß', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'ſt', 'st', 'և', 'ﬓ', 'ﬔ', 'ﬕ', 'ﬖ', 'ﬗ', 'ʼn', 'ΐ', 'ΰ', 'ǰ', 'ẖ', 'ẗ', 'ẘ', 'ẙ', 'ẚ', 'ὐ', 'ὒ', 'ὔ', 'ὖ', 'ᾶ', 'ῆ', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'ῢ', 'ΰ', 'ῤ', 'ῦ', 'ῧ', 'ῶ'];
diff --git a/vendor/symfony/string/Inflector/EnglishInflector.php b/vendor/symfony/string/Inflector/EnglishInflector.php
index 4474736..2871e4e 100644
--- a/vendor/symfony/string/Inflector/EnglishInflector.php
+++ b/vendor/symfony/string/Inflector/EnglishInflector.php
@@ -55,6 +55,9 @@ final class EnglishInflector implements InflectorInterface
// indices (index), appendices (appendix), prices (price)
['seci', 4, false, true, ['ex', 'ix', 'ice']],
+ // codes (code)
+ ['sedoc', 5, false, true, 'code'],
+
// selfies (selfie)
['seifles', 7, true, true, 'selfie'],
@@ -64,6 +67,9 @@ final class EnglishInflector implements InflectorInterface
// movies (movie)
['seivom', 6, true, true, 'movie'],
+ // names (name)
+ ['seman', 5, true, false, 'name'],
+
// conspectuses (conspectus), prospectuses (prospectus)
['sesutcep', 8, true, true, 'pectus'],
diff --git a/vendor/symfony/string/LICENSE b/vendor/symfony/string/LICENSE
index 5c7ba05..f37c76b 100644
--- a/vendor/symfony/string/LICENSE
+++ b/vendor/symfony/string/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2019-2023 Fabien Potencier
+Copyright (c) 2019-present Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/translation-contracts/LICENSE b/vendor/symfony/translation-contracts/LICENSE
index 74cdc2d..7536cae 100644
--- a/vendor/symfony/translation-contracts/LICENSE
+++ b/vendor/symfony/translation-contracts/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2018-2022 Fabien Potencier
+Copyright (c) 2018-present Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/translation-contracts/LocaleAwareInterface.php b/vendor/symfony/translation-contracts/LocaleAwareInterface.php
index 6923b97..db40ba1 100644
--- a/vendor/symfony/translation-contracts/LocaleAwareInterface.php
+++ b/vendor/symfony/translation-contracts/LocaleAwareInterface.php
@@ -16,6 +16,8 @@ interface LocaleAwareInterface
/**
* Sets the current locale.
*
+ * @return void
+ *
* @throws \InvalidArgumentException If the locale contains invalid characters
*/
public function setLocale(string $locale);
diff --git a/vendor/symfony/translation-contracts/README.md b/vendor/symfony/translation-contracts/README.md
index 42e5c51..b211d58 100644
--- a/vendor/symfony/translation-contracts/README.md
+++ b/vendor/symfony/translation-contracts/README.md
@@ -3,7 +3,7 @@ Symfony Translation Contracts
A set of abstractions extracted out of the Symfony components.
-Can be used to build on semantics that the Symfony components proved useful - and
+Can be used to build on semantics that the Symfony components proved useful and
that already have battle tested implementations.
See https://github.com/symfony/contracts/blob/main/README.md for more information.
diff --git a/vendor/symfony/translation-contracts/Test/TranslatorTest.php b/vendor/symfony/translation-contracts/Test/TranslatorTest.php
index fbfa161..e4168cc 100644
--- a/vendor/symfony/translation-contracts/Test/TranslatorTest.php
+++ b/vendor/symfony/translation-contracts/Test/TranslatorTest.php
@@ -114,7 +114,7 @@ class TranslatorTest extends TestCase
$this->assertEquals('en', $translator->getLocale());
}
- public function getTransTests()
+ public static function getTransTests()
{
return [
['Symfony is great!', 'Symfony is great!', []],
@@ -122,7 +122,7 @@ class TranslatorTest extends TestCase
];
}
- public function getTransChoiceTests()
+ public static function getTransChoiceTests()
{
return [
['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0],
@@ -137,7 +137,7 @@ class TranslatorTest extends TestCase
}
/**
- * @dataProvider getInternal
+ * @dataProvider getInterval
*/
public function testInterval($expected, $number, $interval)
{
@@ -146,7 +146,7 @@ class TranslatorTest extends TestCase
$this->assertEquals($expected, $translator->trans($interval.' foo|[1,Inf[ bar', ['%count%' => $number]));
}
- public function getInternal()
+ public static function getInterval()
{
return [
['foo', 3, '{1,2, 3 ,4}'],
@@ -189,7 +189,7 @@ class TranslatorTest extends TestCase
$translator->trans($id, ['%count%' => $number]);
}
- public function getNonMatchingMessages()
+ public static function getNonMatchingMessages()
{
return [
['{0} There are no apples|{1} There is one apple', 2],
@@ -199,7 +199,7 @@ class TranslatorTest extends TestCase
];
}
- public function getChooseTests()
+ public static function getChooseTests()
{
return [
['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0],
@@ -315,7 +315,7 @@ class TranslatorTest extends TestCase
*
* As it is impossible to have this ever complete we should try as hard as possible to have it almost complete.
*/
- public function successLangcodes(): array
+ public static function successLangcodes(): array
{
return [
['1', ['ay', 'bo', 'cgg', 'dz', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky']],
@@ -334,7 +334,7 @@ class TranslatorTest extends TestCase
*
* @return array with nplural together with langcodes
*/
- public function failingLangcodes(): array
+ public static function failingLangcodes(): array
{
return [
['1', ['fa']],
diff --git a/vendor/symfony/translation-contracts/TranslatorTrait.php b/vendor/symfony/translation-contracts/TranslatorTrait.php
index 46e9170..e3b0adf 100644
--- a/vendor/symfony/translation-contracts/TranslatorTrait.php
+++ b/vendor/symfony/translation-contracts/TranslatorTrait.php
@@ -22,6 +22,9 @@ trait TranslatorTrait
{
private ?string $locale = null;
+ /**
+ * @return void
+ */
public function setLocale(string $locale)
{
$this->locale = $locale;
diff --git a/vendor/symfony/translation/CHANGELOG.md b/vendor/symfony/translation/CHANGELOG.md
index b755fec..07ba0d0 100644
--- a/vendor/symfony/translation/CHANGELOG.md
+++ b/vendor/symfony/translation/CHANGELOG.md
@@ -1,6 +1,13 @@
CHANGELOG
=========
+6.2.7
+-----
+
+ * [BC BREAK] The following data providers for `ProviderFactoryTestCase` are now static:
+ `supportsProvider()`, `createProvider()`, `unsupportedSchemeProvider()`and `incompleteDsnProvider()`
+ * [BC BREAK] `ProviderTestCase::toStringProvider()` is now static
+
6.2
---
diff --git a/vendor/symfony/translation/Command/TranslationPushCommand.php b/vendor/symfony/translation/Command/TranslationPushCommand.php
index 42799e0..a24fcb5 100644
--- a/vendor/symfony/translation/Command/TranslationPushCommand.php
+++ b/vendor/symfony/translation/Command/TranslationPushCommand.php
@@ -115,7 +115,7 @@ EOF
$provider = $this->providers->get($input->getArgument('provider'));
if (!$this->enabledLocales) {
- throw new InvalidArgumentException(sprintf('You must define "framework.translator.enabled_locales" or "framework.translator.providers.%s.locales" config key in order to work with translation providers.', parse_url($provider, \PHP_URL_SCHEME)));
+ throw new InvalidArgumentException(sprintf('You must define "framework.enabled_locales" or "framework.translator.providers.%s.locales" config key in order to work with translation providers.', parse_url($provider, \PHP_URL_SCHEME)));
}
$io = new SymfonyStyle($input, $output);
diff --git a/vendor/symfony/translation/DependencyInjection/TranslatorPass.php b/vendor/symfony/translation/DependencyInjection/TranslatorPass.php
index b060171..3fb3f1f 100644
--- a/vendor/symfony/translation/DependencyInjection/TranslatorPass.php
+++ b/vendor/symfony/translation/DependencyInjection/TranslatorPass.php
@@ -53,10 +53,12 @@ class TranslatorPass implements CompilerPassInterface
$constraintVisitorDefinition = $container->getDefinition('translation.extractor.visitor.constraint');
$constraintClassNames = [];
- foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $id => $attributes) {
- $serviceDefinition = $container->getDefinition($id);
+ foreach ($container->getDefinitions() as $definition) {
+ if (!$definition->hasTag('validator.constraint_validator')) {
+ continue;
+ }
// Resolve constraint validator FQCN even if defined as %foo.validator.class% parameter
- $className = $container->getParameterBag()->resolveValue($serviceDefinition->getClass());
+ $className = $container->getParameterBag()->resolveValue($definition->getClass());
// Extraction of the constraint class name from the Constraint Validator FQCN
$constraintClassNames[] = str_replace('Validator', '', substr(strrchr($className, '\\'), 1));
}
diff --git a/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php b/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php
index b85c066..b5db2d4 100644
--- a/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php
+++ b/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php
@@ -16,6 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\ServiceLocator;
+use Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver;
/**
* @author Yonel Ceruto
@@ -120,28 +121,20 @@ class TranslatorPathsPass extends AbstractRecursivePass
private function findControllerArguments(ContainerBuilder $container): array
{
- if ($container->hasDefinition('argument_resolver.service')) {
- $argument = $container->getDefinition('argument_resolver.service')->getArgument(0);
- if ($argument instanceof Reference) {
- $argument = $container->getDefinition($argument);
- }
+ if (!$container->has('argument_resolver.service')) {
+ return [];
+ }
+ $resolverDef = $container->findDefinition('argument_resolver.service');
- return $argument->getArgument(0);
+ if (TraceableValueResolver::class === $resolverDef->getClass()) {
+ $resolverDef = $container->getDefinition($resolverDef->getArgument(0));
}
- if ($container->hasDefinition('debug.'.'argument_resolver.service')) {
- $argument = $container->getDefinition('debug.'.'argument_resolver.service')->getArgument(0);
- if ($argument instanceof Reference) {
- $argument = $container->getDefinition($argument);
- }
- $argument = $argument->getArgument(0);
- if ($argument instanceof Reference) {
- $argument = $container->getDefinition($argument);
- }
-
- return $argument->getArgument(0);
+ $argument = $resolverDef->getArgument(0);
+ if ($argument instanceof Reference) {
+ $argument = $container->getDefinition($argument);
}
- return [];
+ return $argument->getArgument(0);
}
}
diff --git a/vendor/symfony/translation/LICENSE b/vendor/symfony/translation/LICENSE
index 0083704..0138f8f 100644
--- a/vendor/symfony/translation/LICENSE
+++ b/vendor/symfony/translation/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2023 Fabien Potencier
+Copyright (c) 2004-present Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/translation/Loader/ArrayLoader.php b/vendor/symfony/translation/Loader/ArrayLoader.php
index e240493..e63a7d0 100644
--- a/vendor/symfony/translation/Loader/ArrayLoader.php
+++ b/vendor/symfony/translation/Loader/ArrayLoader.php
@@ -43,9 +43,11 @@ class ArrayLoader implements LoaderInterface
foreach ($messages as $key => $value) {
if (\is_array($value)) {
foreach ($this->flatten($value) as $k => $v) {
- $result[$key.'.'.$k] = $v;
+ if (null !== $v) {
+ $result[$key.'.'.$k] = $v;
+ }
}
- } else {
+ } elseif (null !== $value) {
$result[$key] = $value;
}
}
diff --git a/vendor/symfony/translation/Loader/IcuResFileLoader.php b/vendor/symfony/translation/Loader/IcuResFileLoader.php
index a5fa4fb..94d55b8 100644
--- a/vendor/symfony/translation/Loader/IcuResFileLoader.php
+++ b/vendor/symfony/translation/Loader/IcuResFileLoader.php
@@ -68,7 +68,7 @@ class IcuResFileLoader implements LoaderInterface
*
* @param \ResourceBundle $rb The ResourceBundle that will be flattened
* @param array $messages Used internally for recursive calls
- * @param string $path Current path being parsed, used internally for recursive calls
+ * @param string|null $path Current path being parsed, used internally for recursive calls
*/
protected function flatten(\ResourceBundle $rb, array &$messages = [], string $path = null): array
{
diff --git a/vendor/symfony/translation/LocaleSwitcher.php b/vendor/symfony/translation/LocaleSwitcher.php
index 0fc56e3..48ef439 100644
--- a/vendor/symfony/translation/LocaleSwitcher.php
+++ b/vendor/symfony/translation/LocaleSwitcher.php
@@ -34,7 +34,10 @@ class LocaleSwitcher implements LocaleAwareInterface
public function setLocale(string $locale): void
{
- \Locale::setDefault($this->locale = $locale);
+ if (class_exists(\Locale::class)) {
+ \Locale::setDefault($locale);
+ }
+ $this->locale = $locale;
$this->requestContext?->setParameter('_locale', $locale);
foreach ($this->localeAwareServices as $service) {
diff --git a/vendor/symfony/translation/MessageCatalogueInterface.php b/vendor/symfony/translation/MessageCatalogueInterface.php
index 75e3a2f..7663db3 100644
--- a/vendor/symfony/translation/MessageCatalogueInterface.php
+++ b/vendor/symfony/translation/MessageCatalogueInterface.php
@@ -36,8 +36,6 @@ interface MessageCatalogueInterface
* Gets the messages within a given domain.
*
* If $domain is null, it returns all messages.
- *
- * @param string $domain The domain name
*/
public function all(string $domain = null): array;
diff --git a/vendor/symfony/translation/README.md b/vendor/symfony/translation/README.md
index 4fedd6a..b173321 100644
--- a/vendor/symfony/translation/README.md
+++ b/vendor/symfony/translation/README.md
@@ -26,7 +26,7 @@ echo $translator->trans('Hello World!'); // outputs « Bonjour ! »
Sponsor
-------
-The Translation component for Symfony 6.1 is [backed][1] by:
+The Translation component for Symfony 6.2 is [backed][1] by:
* [Crowdin][2], a cloud-based localization management software helping teams to go global and stay agile.
diff --git a/vendor/symfony/translation/Test/ProviderFactoryTestCase.php b/vendor/symfony/translation/Test/ProviderFactoryTestCase.php
index d1259c7..a9c7c0e 100644
--- a/vendor/symfony/translation/Test/ProviderFactoryTestCase.php
+++ b/vendor/symfony/translation/Test/ProviderFactoryTestCase.php
@@ -45,17 +45,17 @@ abstract class ProviderFactoryTestCase extends TestCase
/**
* @return iterable
*/
- abstract public function supportsProvider(): iterable;
+ abstract public static function supportsProvider(): iterable;
/**
- * @return iterable
+ * @return iterable
*/
- abstract public function createProvider(): iterable;
+ abstract public static function createProvider(): iterable;
/**
* @return iterable
*/
- public function unsupportedSchemeProvider(): iterable
+ public static function unsupportedSchemeProvider(): iterable
{
return [];
}
@@ -63,7 +63,7 @@ abstract class ProviderFactoryTestCase extends TestCase
/**
* @return iterable
*/
- public function incompleteDsnProvider(): iterable
+ public static function incompleteDsnProvider(): iterable
{
return [];
}
diff --git a/vendor/symfony/translation/Test/ProviderTestCase.php b/vendor/symfony/translation/Test/ProviderTestCase.php
index 6de24ac..2d16f2b 100644
--- a/vendor/symfony/translation/Test/ProviderTestCase.php
+++ b/vendor/symfony/translation/Test/ProviderTestCase.php
@@ -37,12 +37,12 @@ abstract class ProviderTestCase extends TestCase
protected XliffFileDumper|MockObject $xliffFileDumper;
protected TranslatorBagInterface|MockObject $translatorBag;
- abstract public function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface;
+ abstract public static function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface;
/**
- * @return iterable
+ * @return iterable
*/
- abstract public function toStringProvider(): iterable;
+ abstract public static function toStringProvider(): iterable;
/**
* @dataProvider toStringProvider
diff --git a/vendor/symfony/translation/TranslatorBag.php b/vendor/symfony/translation/TranslatorBag.php
index fb8ede8..84275ee 100644
--- a/vendor/symfony/translation/TranslatorBag.php
+++ b/vendor/symfony/translation/TranslatorBag.php
@@ -64,7 +64,7 @@ final class TranslatorBag implements TranslatorBagInterface
$operation->moveMessagesToIntlDomainsIfPossible(AbstractOperation::NEW_BATCH);
$newCatalogue = new MessageCatalogue($locale);
- foreach ($operation->getDomains() as $domain) {
+ foreach ($catalogue->getDomains() as $domain) {
$newCatalogue->add($operation->getNewMessages($domain), $domain);
}