PluginProbe
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization / 3.1.0
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization v3.1.0
4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 2.5.5 2.5.6 2.5.7 3.0.0 3.0.1 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.12.0 3.12.1 All 134 releases
optimole-wp / vendor / composer / InstalledVersions.php

InstalledVersions.php in Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization 3.1.0, at vendor/composer/InstalledVersions.php

295 lines 4.6 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' => '1.1.2',
31 'version' => '1.1.2.0',
32 'aliases' =>
33 array (
34 ),
35 'reference' => NULL,
36 'name' => 'codeinwp/optimole-wp',
37 ),
38 'versions' =>
39 array (
40 'codeinwp/optimole-wp' =>
41 array (
42 'pretty_version' => '1.1.2',
43 'version' => '1.1.2.0',
44 'aliases' =>
45 array (
46 ),
47 'reference' => NULL,
48 ),
49 'codeinwp/themeisle-sdk' =>
50 array (
51 'pretty_version' => '3.2.15',
52 'version' => '3.2.15.0',
53 'aliases' =>
54 array (
55 ),
56 'reference' => '95b7447a5f4faba410c281c4bf278fbd740fed71',
57 ),
58 ),
59 );
60 private static $canGetVendors;
61 private static $installedByVendor = array();
62
63
64
65
66
67
68
69 public static function getInstalledPackages()
70 {
71 $packages = array();
72 foreach (self::getInstalled() as $installed) {
73 $packages[] = array_keys($installed['versions']);
74 }
75
76 if (1 === \count($packages)) {
77 return $packages[0];
78 }
79
80 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
81 }
82
83
84
85
86
87
88
89
90
91 public static function isInstalled($packageName)
92 {
93 foreach (self::getInstalled() as $installed) {
94 if (isset($installed['versions'][$packageName])) {
95 return true;
96 }
97 }
98
99 return false;
100 }
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 public static function satisfies(VersionParser $parser, $packageName, $constraint)
116 {
117 $constraint = $parser->parseConstraints($constraint);
118 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
119
120 return $provided->matches($constraint);
121 }
122
123
124
125
126
127
128
129
130
131
132 public static function getVersionRanges($packageName)
133 {
134 foreach (self::getInstalled() as $installed) {
135 if (!isset($installed['versions'][$packageName])) {
136 continue;
137 }
138
139 $ranges = array();
140 if (isset($installed['versions'][$packageName]['pretty_version'])) {
141 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
142 }
143 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
144 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
145 }
146 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
147 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
148 }
149 if (array_key_exists('provided', $installed['versions'][$packageName])) {
150 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
151 }
152
153 return implode(' || ', $ranges);
154 }
155
156 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
157 }
158
159
160
161
162
163 public static function getVersion($packageName)
164 {
165 foreach (self::getInstalled() as $installed) {
166 if (!isset($installed['versions'][$packageName])) {
167 continue;
168 }
169
170 if (!isset($installed['versions'][$packageName]['version'])) {
171 return null;
172 }
173
174 return $installed['versions'][$packageName]['version'];
175 }
176
177 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
178 }
179
180
181
182
183
184 public static function getPrettyVersion($packageName)
185 {
186 foreach (self::getInstalled() as $installed) {
187 if (!isset($installed['versions'][$packageName])) {
188 continue;
189 }
190
191 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
192 return null;
193 }
194
195 return $installed['versions'][$packageName]['pretty_version'];
196 }
197
198 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
199 }
200
201
202
203
204
205 public static function getReference($packageName)
206 {
207 foreach (self::getInstalled() as $installed) {
208 if (!isset($installed['versions'][$packageName])) {
209 continue;
210 }
211
212 if (!isset($installed['versions'][$packageName]['reference'])) {
213 return null;
214 }
215
216 return $installed['versions'][$packageName]['reference'];
217 }
218
219 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
220 }
221
222
223
224
225
226 public static function getRootPackage()
227 {
228 $installed = self::getInstalled();
229
230 return $installed[0]['root'];
231 }
232
233
234
235
236
237
238
239 public static function getRawData()
240 {
241 return self::$installed;
242 }
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262 public static function reload($data)
263 {
264 self::$installed = $data;
265 self::$installedByVendor = array();
266 }
267
268
269
270
271
272 private static function getInstalled()
273 {
274 if (null === self::$canGetVendors) {
275 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
276 }
277
278 $installed = array();
279
280 if (self::$canGetVendors) {
281 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
282 if (isset(self::$installedByVendor[$vendorDir])) {
283 $installed[] = self::$installedByVendor[$vendorDir];
284 } elseif (is_file($vendorDir.'/composer/installed.php')) {
285 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
286 }
287 }
288 }
289
290 $installed[] = self::$installed;
291
292 return $installed;
293 }
294 }
295