PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.2
MailPoet – Newsletters, Email Marketing, and Automation v5.34.2
5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor / composer / InstalledVersions.php
mailpoet / vendor / composer Last commit date
ClassLoader.php 2 years ago InstalledVersions.php 5 months ago autoload_classmap.php 5 days ago autoload_files.php 8 months ago autoload_namespaces.php 4 years ago autoload_psr4.php 4 months ago autoload_real.php 5 days ago autoload_static.php 5 days ago index.php 3 years ago installed.json 2 months ago installed.php 3 days ago jetpack_autoload_classmap.php 5 days ago jetpack_autoload_filemap.php 8 months ago platform_check.php 5 months ago
InstalledVersions.php
206 lines
1 <?php
2 namespace Composer;
3 if (!defined('ABSPATH')) exit;
4 use Composer\Autoload\ClassLoader;
5 use Composer\Semver\VersionParser;
6 class InstalledVersions
7 {
8 private static $selfDir = null;
9 private static $installed;
10 private static $installedIsLocalDir;
11 private static $canGetVendors;
12 private static $installedByVendor = array();
13 public static function getInstalledPackages()
14 {
15 $packages = array();
16 foreach (self::getInstalled() as $installed) {
17 $packages[] = array_keys($installed['versions']);
18 }
19 if (1 === \count($packages)) {
20 return $packages[0];
21 }
22 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
23 }
24 public static function getInstalledPackagesByType($type)
25 {
26 $packagesByType = array();
27 foreach (self::getInstalled() as $installed) {
28 foreach ($installed['versions'] as $name => $package) {
29 if (isset($package['type']) && $package['type'] === $type) {
30 $packagesByType[] = $name;
31 }
32 }
33 }
34 return $packagesByType;
35 }
36 public static function isInstalled($packageName, $includeDevRequirements = true)
37 {
38 foreach (self::getInstalled() as $installed) {
39 if (isset($installed['versions'][$packageName])) {
40 return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
41 }
42 }
43 return false;
44 }
45 public static function satisfies(VersionParser $parser, $packageName, $constraint)
46 {
47 $constraint = $parser->parseConstraints((string) $constraint);
48 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
49 return $provided->matches($constraint);
50 }
51 public static function getVersionRanges($packageName)
52 {
53 foreach (self::getInstalled() as $installed) {
54 if (!isset($installed['versions'][$packageName])) {
55 continue;
56 }
57 $ranges = array();
58 if (isset($installed['versions'][$packageName]['pretty_version'])) {
59 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
60 }
61 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
62 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
63 }
64 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
65 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
66 }
67 if (array_key_exists('provided', $installed['versions'][$packageName])) {
68 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
69 }
70 return implode(' || ', $ranges);
71 }
72 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
73 }
74 public static function getVersion($packageName)
75 {
76 foreach (self::getInstalled() as $installed) {
77 if (!isset($installed['versions'][$packageName])) {
78 continue;
79 }
80 if (!isset($installed['versions'][$packageName]['version'])) {
81 return null;
82 }
83 return $installed['versions'][$packageName]['version'];
84 }
85 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
86 }
87 public static function getPrettyVersion($packageName)
88 {
89 foreach (self::getInstalled() as $installed) {
90 if (!isset($installed['versions'][$packageName])) {
91 continue;
92 }
93 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
94 return null;
95 }
96 return $installed['versions'][$packageName]['pretty_version'];
97 }
98 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
99 }
100 public static function getReference($packageName)
101 {
102 foreach (self::getInstalled() as $installed) {
103 if (!isset($installed['versions'][$packageName])) {
104 continue;
105 }
106 if (!isset($installed['versions'][$packageName]['reference'])) {
107 return null;
108 }
109 return $installed['versions'][$packageName]['reference'];
110 }
111 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
112 }
113 public static function getInstallPath($packageName)
114 {
115 foreach (self::getInstalled() as $installed) {
116 if (!isset($installed['versions'][$packageName])) {
117 continue;
118 }
119 return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
120 }
121 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
122 }
123 public static function getRootPackage()
124 {
125 $installed = self::getInstalled();
126 return $installed[0]['root'];
127 }
128 public static function getRawData()
129 {
130 @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
131 if (null === self::$installed) {
132 // only require the installed.php file if this file is loaded from its dumped location,
133 // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
134 if (substr(__DIR__, -8, 1) !== 'C') {
135 self::$installed = include __DIR__ . '/installed.php';
136 } else {
137 self::$installed = array();
138 }
139 }
140 return self::$installed;
141 }
142 public static function getAllRawData()
143 {
144 return self::getInstalled();
145 }
146 public static function reload($data)
147 {
148 self::$installed = $data;
149 self::$installedByVendor = array();
150 // when using reload, we disable the duplicate protection to ensure that self::$installed data is
151 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
152 // so we have to assume it does not, and that may result in duplicate data being returned when listing
153 // all installed packages for example
154 self::$installedIsLocalDir = false;
155 }
156 private static function getSelfDir()
157 {
158 if (self::$selfDir === null) {
159 self::$selfDir = strtr(__DIR__, '\\', '/');
160 }
161 return self::$selfDir;
162 }
163 private static function getInstalled()
164 {
165 if (null === self::$canGetVendors) {
166 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
167 }
168 $installed = array();
169 $copiedLocalDir = false;
170 if (self::$canGetVendors) {
171 $selfDir = self::getSelfDir();
172 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
173 $vendorDir = strtr($vendorDir, '\\', '/');
174 if (isset(self::$installedByVendor[$vendorDir])) {
175 $installed[] = self::$installedByVendor[$vendorDir];
176 } elseif (is_file($vendorDir.'/composer/installed.php')) {
177 $required = require $vendorDir.'/composer/installed.php';
178 self::$installedByVendor[$vendorDir] = $required;
179 $installed[] = $required;
180 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
181 self::$installed = $required;
182 self::$installedIsLocalDir = true;
183 }
184 }
185 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
186 $copiedLocalDir = true;
187 }
188 }
189 }
190 if (null === self::$installed) {
191 // only require the installed.php file if this file is loaded from its dumped location,
192 // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
193 if (substr(__DIR__, -8, 1) !== 'C') {
194 $required = require __DIR__ . '/installed.php';
195 self::$installed = $required;
196 } else {
197 self::$installed = array();
198 }
199 }
200 if (self::$installed !== array() && !$copiedLocalDir) {
201 $installed[] = self::$installed;
202 }
203 return $installed;
204 }
205 }
206