PluginProbe
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder / 6.2.15
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder v6.2.15
6.2.15 6.2.14 6.2.13 6.2.12 6.2.10 6.2.11 6.2.9 6.2.8 6.2.7 6.2.6 6.2.5 6.2.4 6.2.3 6.2.2 3.6.22 3.6.31 3.6.40 3.6.41 3.6.42 3.6.50 3.6.51 3.6.60 3.6.61 3.6.62 3.6.64 All 197 releases
← All changes | vendor/composer/InstalledVersions.php +7 -51 6.2.11 → 6.2.15 View file →
@@ -26,14 +26,8 @@
26 26 */
27 27 class InstalledVersions
28 28 {
29 29 /**
30 - * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
31 - * @internal
32 - */
33 - private static $selfDir = null;
34 -
35 - /**
36 30 * @var mixed[]|null
37 31 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
38 32 */
39 33 private static $installed;
@@ -38,13 +32,8 @@
38 32 */
39 33 private static $installed;
40 34
41 35 /**
42 - * @var bool
43 - */
44 - private static $installedIsLocalDir;
45 -
46 - /**
47 36 * @var bool|null
48 37 */
49 38 private static $canGetVendors;
50 39
@@ -108,9 +97,9 @@
108 97 public static function isInstalled($packageName, $includeDevRequirements = true)
109 98 {
110 99 foreach (self::getInstalled() as $installed) {
111 100 if (isset($installed['versions'][$packageName])) {
112 - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
101 + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
113 102 }
114 103 }
115 104
116 105 return false;
@@ -129,9 +118,9 @@
129 118 * @return bool
130 119 */
131 120 public static function satisfies(VersionParser $parser, $packageName, $constraint)
132 121 {
133 - $constraint = $parser->parseConstraints((string) $constraint);
122 + $constraint = $parser->parseConstraints($constraint);
134 123 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
135 124
136 125 return $provided->matches($constraint);
137 126 }
@@ -319,29 +308,11 @@
319 308 public static function reload($data)
320 309 {
321 310 self::$installed = $data;
322 311 self::$installedByVendor = array();
323 -
324 - // when using reload, we disable the duplicate protection to ensure that self::$installed data is
325 - // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
326 - // so we have to assume it does not, and that may result in duplicate data being returned when listing
327 - // all installed packages for example
328 - self::$installedIsLocalDir = false;
329 312 }
330 313
331 314 /**
332 - * @return string
333 - */
334 - private static function getSelfDir()
335 - {
336 - if (self::$selfDir === null) {
337 - self::$selfDir = strtr(__DIR__, '\\', '/');
338 - }
339 -
340 - return self::$selfDir;
341 - }
342 -
343 - /**
344 315 * @return array[]
345 316 * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
346 317 */
347 318 private static function getInstalled()
@@ -350,29 +321,19 @@
350 321 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
351 322 }
352 323
353 324 $installed = array();
354 - $copiedLocalDir = false;
355 325
356 326 if (self::$canGetVendors) {
357 - $selfDir = self::getSelfDir();
358 327 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
359 - $vendorDir = strtr($vendorDir, '\\', '/');
360 328 if (isset(self::$installedByVendor[$vendorDir])) {
361 329 $installed[] = self::$installedByVendor[$vendorDir];
362 330 } elseif (is_file($vendorDir.'/composer/installed.php')) {
363 - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
364 - $required = require $vendorDir.'/composer/installed.php';
365 - self::$installedByVendor[$vendorDir] = $required;
366 - $installed[] = $required;
367 - if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
368 - self::$installed = $required;
369 - self::$installedIsLocalDir = true;
331 + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
332 + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
333 + self::$installed = $installed[count($installed) - 1];
370 334 }
371 335 }
372 - if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
373 - $copiedLocalDir = true;
374 - }
375 336 }
376 337 }
377 338
378 339 if (null === self::$installed) {
@@ -378,19 +339,14 @@
378 339 if (null === self::$installed) {
379 340 // only require the installed.php file if this file is loaded from its dumped location,
380 341 // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
381 342 if (substr(__DIR__, -8, 1) !== 'C') {
382 - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
383 - $required = require __DIR__ . '/installed.php';
384 - self::$installed = $required;
343 + self::$installed = require __DIR__ . '/installed.php';
385 344 } else {
386 345 self::$installed = array();
387 346 }
388 347 }
389 -
390 - if (self::$installed !== array() && !$copiedLocalDir) {
391 - $installed[] = self::$installed;
392 - }
348 + $installed[] = self::$installed;
393 349
394 350 return $installed;
395 351 }
396 352 }