PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.5.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.5.1
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.1, at vendor/composer/InstalledVersions.php

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