PluginProbe
PayPlug for WooCommerce (Official) / 1.10.0
PayPlug for WooCommerce (Official) v1.10.0
3.1.0 3.0.0 2.18.0 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.1.0 1.10.0 1.10.1 1.2.1 1.2.10 1.2.11 1.2.2 1.2.3 1.2.4 1.2.5 All 102 releases
payplug / vendor / composer / InstalledVersions.php

InstalledVersions.php in PayPlug for WooCommerce (Official) 1.10.0, at vendor/composer/InstalledVersions.php

332 lines 5.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4
5
6
7
8
9
10
11
12
13 namespace Composer;
14
15 use Composer\Autoload\ClassLoader;
16 use Composer\Semver\VersionParser;
17
18
19
20
21
22
23
24
25 class InstalledVersions
26 {
27 private static $installed = array (
28 'root' =>
29 array (
30 'pretty_version' => 'dev-master',
31 'version' => 'dev-master',
32 'aliases' =>
33 array (
34 ),
35 'reference' => 'eba7cfede4fe49bd9d34d6bfcfc2493bd829957e',
36 'name' => 'payplug/payplug-woocommerce',
37 ),
38 'versions' =>
39 array (
40 'composer/installers' =>
41 array (
42 'pretty_version' => 'v1.12.0',
43 'version' => '1.12.0.0',
44 'aliases' =>
45 array (
46 ),
47 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
48 ),
49 'payplug/payplug-php' =>
50 array (
51 'pretty_version' => '3.5.4',
52 'version' => '3.5.4.0',
53 'aliases' =>
54 array (
55 ),
56 'reference' => '9fe3787e8ad98500141168447bb2b84c47c43be2',
57 ),
58 'payplug/payplug-woocommerce' =>
59 array (
60 'pretty_version' => 'dev-master',
61 'version' => 'dev-master',
62 'aliases' =>
63 array (
64 ),
65 'reference' => 'eba7cfede4fe49bd9d34d6bfcfc2493bd829957e',
66 ),
67 'roundcube/plugin-installer' =>
68 array (
69 'replaced' =>
70 array (
71 0 => '*',
72 ),
73 ),
74 'shama/baton' =>
75 array (
76 'replaced' =>
77 array (
78 0 => '*',
79 ),
80 ),
81 ),
82 );
83 private static $canGetVendors;
84 private static $installedByVendor = array();
85
86
87
88
89
90
91
92 public static function getInstalledPackages()
93 {
94 $packages = array();
95 foreach (self::getInstalled() as $installed) {
96 $packages[] = array_keys($installed['versions']);
97 }
98
99 if (1 === \count($packages)) {
100 return $packages[0];
101 }
102
103 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
104 }
105
106
107
108
109
110
111
112
113
114 public static function isInstalled($packageName)
115 {
116 foreach (self::getInstalled() as $installed) {
117 if (isset($installed['versions'][$packageName])) {
118 return true;
119 }
120 }
121
122 return false;
123 }
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 public static function satisfies(VersionParser $parser, $packageName, $constraint)
139 {
140 $constraint = $parser->parseConstraints($constraint);
141 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
142
143 return $provided->matches($constraint);
144 }
145
146
147
148
149
150
151
152
153
154
155 public static function getVersionRanges($packageName)
156 {
157 foreach (self::getInstalled() as $installed) {
158 if (!isset($installed['versions'][$packageName])) {
159 continue;
160 }
161
162 $ranges = array();
163 if (isset($installed['versions'][$packageName]['pretty_version'])) {
164 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
165 }
166 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
167 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
168 }
169 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
170 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
171 }
172 if (array_key_exists('provided', $installed['versions'][$packageName])) {
173 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
174 }
175
176 return implode(' || ', $ranges);
177 }
178
179 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
180 }
181
182
183
184
185
186 public static function getVersion($packageName)
187 {
188 foreach (self::getInstalled() as $installed) {
189 if (!isset($installed['versions'][$packageName])) {
190 continue;
191 }
192
193 if (!isset($installed['versions'][$packageName]['version'])) {
194 return null;
195 }
196
197 return $installed['versions'][$packageName]['version'];
198 }
199
200 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
201 }
202
203
204
205
206
207 public static function getPrettyVersion($packageName)
208 {
209 foreach (self::getInstalled() as $installed) {
210 if (!isset($installed['versions'][$packageName])) {
211 continue;
212 }
213
214 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
215 return null;
216 }
217
218 return $installed['versions'][$packageName]['pretty_version'];
219 }
220
221 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
222 }
223
224
225
226
227
228 public static function getReference($packageName)
229 {
230 foreach (self::getInstalled() as $installed) {
231 if (!isset($installed['versions'][$packageName])) {
232 continue;
233 }
234
235 if (!isset($installed['versions'][$packageName]['reference'])) {
236 return null;
237 }
238
239 return $installed['versions'][$packageName]['reference'];
240 }
241
242 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
243 }
244
245
246
247
248
249 public static function getRootPackage()
250 {
251 $installed = self::getInstalled();
252
253 return $installed[0]['root'];
254 }
255
256
257
258
259
260
261
262
263 public static function getRawData()
264 {
265 @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);
266
267 return self::$installed;
268 }
269
270
271
272
273
274
275
276 public static function getAllRawData()
277 {
278 return self::getInstalled();
279 }
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299 public static function reload($data)
300 {
301 self::$installed = $data;
302 self::$installedByVendor = array();
303 }
304
305
306
307
308
309 private static function getInstalled()
310 {
311 if (null === self::$canGetVendors) {
312 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
313 }
314
315 $installed = array();
316
317 if (self::$canGetVendors) {
318 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
319 if (isset(self::$installedByVendor[$vendorDir])) {
320 $installed[] = self::$installedByVendor[$vendorDir];
321 } elseif (is_file($vendorDir.'/composer/installed.php')) {
322 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
323 }
324 }
325 }
326
327 $installed[] = self::$installed;
328
329 return $installed;
330 }
331 }
332