PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.5.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.5.0
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / vendor / composer / InstalledVersions.php

InstalledVersions.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.5.0, at vendor/composer/InstalledVersions.php

339 lines 5.8 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 class InstalledVersions
24 {
25 private static $installed = array (
26 'root' =>
27 array (
28 'pretty_version' => 'v3.5.0',
29 'version' => '3.5.0.0',
30 'aliases' =>
31 array (
32 ),
33 'reference' => 'ee600874a63be6b0904df2b2d1ae67f8b03b7cf2',
34 'name' => 'codeinwp/visualizer',
35 ),
36 'versions' =>
37 array (
38 'codeinwp/themeisle-sdk' =>
39 array (
40 'pretty_version' => 'dev-master',
41 'version' => 'dev-master',
42 'aliases' =>
43 array (
44 0 => '9999999-dev',
45 ),
46 'reference' => 'aeef3f159c1b35451d87672b6984ccde36c0d21d',
47 ),
48 'codeinwp/visualizer' =>
49 array (
50 'pretty_version' => 'v3.5.0',
51 'version' => '3.5.0.0',
52 'aliases' =>
53 array (
54 ),
55 'reference' => 'ee600874a63be6b0904df2b2d1ae67f8b03b7cf2',
56 ),
57 'markbaker/complex' =>
58 array (
59 'pretty_version' => '1.5.0',
60 'version' => '1.5.0.0',
61 'aliases' =>
62 array (
63 ),
64 'reference' => 'c3131244e29c08d44fefb49e0dd35021e9e39dd2',
65 ),
66 'markbaker/matrix' =>
67 array (
68 'pretty_version' => '1.2.3',
69 'version' => '1.2.3.0',
70 'aliases' =>
71 array (
72 ),
73 'reference' => '44bb1ab01811116f01fe216ab37d921dccc6c10d',
74 ),
75 'neitanod/forceutf8' =>
76 array (
77 'pretty_version' => 'v2.0.4',
78 'version' => '2.0.4.0',
79 'aliases' =>
80 array (
81 ),
82 'reference' => 'c1fbe70bfb5ad41b8ec5785056b0e308b40d4831',
83 ),
84 'phpoffice/phpspreadsheet' =>
85 array (
86 'pretty_version' => '1.8.2',
87 'version' => '1.8.2.0',
88 'aliases' =>
89 array (
90 ),
91 'reference' => '0c1346a1956347590b7db09533966307d20cb7cc',
92 ),
93 'psr/simple-cache' =>
94 array (
95 'pretty_version' => '1.0.1',
96 'version' => '1.0.1.0',
97 'aliases' =>
98 array (
99 ),
100 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
101 ),
102 ),
103 );
104 private static $canGetVendors;
105 private static $installedByVendor = array();
106
107
108
109
110
111
112
113 public static function getInstalledPackages()
114 {
115 $packages = array();
116 foreach (self::getInstalled() as $installed) {
117 $packages[] = array_keys($installed['versions']);
118 }
119
120
121 if (1 === \count($packages)) {
122 return $packages[0];
123 }
124
125 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
126 }
127
128
129
130
131
132
133
134
135
136 public static function isInstalled($packageName)
137 {
138 foreach (self::getInstalled() as $installed) {
139 if (isset($installed['versions'][$packageName])) {
140 return true;
141 }
142 }
143
144 return false;
145 }
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160 public static function satisfies(VersionParser $parser, $packageName, $constraint)
161 {
162 $constraint = $parser->parseConstraints($constraint);
163 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
164
165 return $provided->matches($constraint);
166 }
167
168
169
170
171
172
173
174
175
176
177 public static function getVersionRanges($packageName)
178 {
179 foreach (self::getInstalled() as $installed) {
180 if (!isset($installed['versions'][$packageName])) {
181 continue;
182 }
183
184 $ranges = array();
185 if (isset($installed['versions'][$packageName]['pretty_version'])) {
186 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
187 }
188 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
189 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
190 }
191 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
192 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
193 }
194 if (array_key_exists('provided', $installed['versions'][$packageName])) {
195 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
196 }
197
198 return implode(' || ', $ranges);
199 }
200
201 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
202 }
203
204
205
206
207
208 public static function getVersion($packageName)
209 {
210 foreach (self::getInstalled() as $installed) {
211 if (!isset($installed['versions'][$packageName])) {
212 continue;
213 }
214
215 if (!isset($installed['versions'][$packageName]['version'])) {
216 return null;
217 }
218
219 return $installed['versions'][$packageName]['version'];
220 }
221
222 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
223 }
224
225
226
227
228
229 public static function getPrettyVersion($packageName)
230 {
231 foreach (self::getInstalled() as $installed) {
232 if (!isset($installed['versions'][$packageName])) {
233 continue;
234 }
235
236 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
237 return null;
238 }
239
240 return $installed['versions'][$packageName]['pretty_version'];
241 }
242
243 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
244 }
245
246
247
248
249
250 public static function getReference($packageName)
251 {
252 foreach (self::getInstalled() as $installed) {
253 if (!isset($installed['versions'][$packageName])) {
254 continue;
255 }
256
257 if (!isset($installed['versions'][$packageName]['reference'])) {
258 return null;
259 }
260
261 return $installed['versions'][$packageName]['reference'];
262 }
263
264 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
265 }
266
267
268
269
270
271 public static function getRootPackage()
272 {
273 $installed = self::getInstalled();
274
275 return $installed[0]['root'];
276 }
277
278
279
280
281
282
283
284 public static function getRawData()
285 {
286 return self::$installed;
287 }
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307 public static function reload($data)
308 {
309 self::$installed = $data;
310 self::$installedByVendor = array();
311 }
312
313
314
315
316 private static function getInstalled()
317 {
318 if (null === self::$canGetVendors) {
319 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
320 }
321
322 $installed = array();
323
324 if (self::$canGetVendors) {
325 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
326 if (isset(self::$installedByVendor[$vendorDir])) {
327 $installed[] = self::$installedByVendor[$vendorDir];
328 } elseif (is_file($vendorDir.'/composer/installed.php')) {
329 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
330 }
331 }
332 }
333
334 $installed[] = self::$installed;
335
336 return $installed;
337 }
338 }
339