PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.0
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.0
4.17.2 4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / third-party / vendor / symfony / translation / DependencyInjection / TranslatorPathsPass.php
wp-user-avatar / third-party / vendor / symfony / translation / DependencyInjection Last commit date
TranslationDumperPass.php 2 months ago TranslationExtractorPass.php 2 months ago TranslatorPass.php 2 months ago TranslatorPathsPass.php 2 months ago
TranslatorPathsPass.php
135 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace ProfilePressVendor\Symfony\Component\Translation\DependencyInjection;
12
13 use ProfilePressVendor\Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass;
14 use ProfilePressVendor\Symfony\Component\DependencyInjection\ContainerBuilder;
15 use ProfilePressVendor\Symfony\Component\DependencyInjection\Definition;
16 use ProfilePressVendor\Symfony\Component\DependencyInjection\Reference;
17 use ProfilePressVendor\Symfony\Component\DependencyInjection\ServiceLocator;
18 use ProfilePressVendor\Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver;
19 /**
20 * @author Yonel Ceruto <yonelceruto@gmail.com>
21 */
22 class TranslatorPathsPass extends AbstractRecursivePass
23 {
24 private $translatorServiceId;
25 private $debugCommandServiceId;
26 private $updateCommandServiceId;
27 private $resolverServiceId;
28 private $level = 0;
29 /**
30 * @var array<string, bool>
31 */
32 private $paths = [];
33 /**
34 * @var array<int, Definition>
35 */
36 private $definitions = [];
37 /**
38 * @var array<string, array<string, bool>>
39 */
40 private $controllers = [];
41 public function __construct(string $translatorServiceId = 'translator', string $debugCommandServiceId = 'console.command.translation_debug', string $updateCommandServiceId = 'console.command.translation_extract', string $resolverServiceId = 'argument_resolver.service')
42 {
43 if (0 < \func_num_args()) {
44 trigger_deprecation('symfony/translation', '5.3', 'Configuring "%s" is deprecated.', __CLASS__);
45 }
46 $this->translatorServiceId = $translatorServiceId;
47 $this->debugCommandServiceId = $debugCommandServiceId;
48 $this->updateCommandServiceId = $updateCommandServiceId;
49 $this->resolverServiceId = $resolverServiceId;
50 }
51 public function process(ContainerBuilder $container)
52 {
53 if (!$container->hasDefinition($this->translatorServiceId)) {
54 return;
55 }
56 foreach ($this->findControllerArguments($container) as $controller => $argument) {
57 $id = substr($controller, 0, strpos($controller, ':') ?: \strlen($controller));
58 if ($container->hasDefinition($id)) {
59 [$locatorRef] = $argument->getValues();
60 $this->controllers[(string) $locatorRef][$container->getDefinition($id)->getClass()] = \true;
61 }
62 }
63 try {
64 parent::process($container);
65 $paths = [];
66 foreach ($this->paths as $class => $_) {
67 if (($r = $container->getReflectionClass($class)) && !$r->isInterface()) {
68 $paths[] = $r->getFileName();
69 foreach ($r->getTraits() as $trait) {
70 $paths[] = $trait->getFileName();
71 }
72 }
73 }
74 if ($paths) {
75 if ($container->hasDefinition($this->debugCommandServiceId)) {
76 $definition = $container->getDefinition($this->debugCommandServiceId);
77 $definition->replaceArgument(6, array_merge($definition->getArgument(6), $paths));
78 }
79 if ($container->hasDefinition($this->updateCommandServiceId)) {
80 $definition = $container->getDefinition($this->updateCommandServiceId);
81 $definition->replaceArgument(7, array_merge($definition->getArgument(7), $paths));
82 }
83 }
84 } finally {
85 $this->level = 0;
86 $this->paths = [];
87 $this->definitions = [];
88 }
89 }
90 protected function processValue($value, bool $isRoot = \false)
91 {
92 if ($value instanceof Reference) {
93 if ((string) $value === $this->translatorServiceId) {
94 for ($i = $this->level - 1; $i >= 0; --$i) {
95 $class = $this->definitions[$i]->getClass();
96 if (ServiceLocator::class === $class) {
97 if (!isset($this->controllers[$this->currentId])) {
98 continue;
99 }
100 foreach ($this->controllers[$this->currentId] as $class => $_) {
101 $this->paths[$class] = \true;
102 }
103 } else {
104 $this->paths[$class] = \true;
105 }
106 break;
107 }
108 }
109 return $value;
110 }
111 if ($value instanceof Definition) {
112 $this->definitions[$this->level++] = $value;
113 $value = parent::processValue($value, $isRoot);
114 unset($this->definitions[--$this->level]);
115 return $value;
116 }
117 return parent::processValue($value, $isRoot);
118 }
119 private function findControllerArguments(ContainerBuilder $container): array
120 {
121 if (!$container->has($this->resolverServiceId)) {
122 return [];
123 }
124 $resolverDef = $container->findDefinition($this->resolverServiceId);
125 if (TraceableValueResolver::class === $resolverDef->getClass()) {
126 $resolverDef = $container->getDefinition($resolverDef->getArgument(0));
127 }
128 $argument = $resolverDef->getArgument(0);
129 if ($argument instanceof Reference) {
130 $argument = $container->getDefinition($argument);
131 }
132 return $argument->getArgument(0);
133 }
134 }
135