Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 915 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 liveuser 1
<?php
2
 
3
namespace Composer;
4
 
5
use Composer\Semver\VersionParser;
6
 
7
 
8
 
9
 
10
 
11
 
12
class InstalledVersions
13
{
14
private static $installed = array (
15
  'root' => 
16
  array (
17
    'pretty_version' => '1.0.0+no-version-set',
18
    'version' => '1.0.0.0',
19
    'aliases' => 
20
    array (
21
    ),
22
    'reference' => NULL,
23
    'name' => '__root__',
24
  ),
25
  'versions' => 
26
  array (
27
    '__root__' => 
28
    array (
29
      'pretty_version' => '1.0.0+no-version-set',
30
      'version' => '1.0.0.0',
31
      'aliases' => 
32
      array (
33
      ),
34
      'reference' => NULL,
35
    ),
36
    'cboden/ratchet' => 
37
    array (
38
      'pretty_version' => 'v0.4.3',
39
      'version' => '0.4.3.0',
40
      'aliases' => 
41
      array (
42
      ),
43
      'reference' => '466a0ecc83209c75b76645eb823401b5c52e5f21',
44
    ),
45
    'evenement/evenement' => 
46
    array (
47
      'pretty_version' => 'v3.0.1',
48
      'version' => '3.0.1.0',
49
      'aliases' => 
50
      array (
51
      ),
52
      'reference' => '531bfb9d15f8aa57454f5f0285b18bec903b8fb7',
53
    ),
54
    'guzzlehttp/psr7' => 
55
    array (
56
      'pretty_version' => '1.7.0',
57
      'version' => '1.7.0.0',
58
      'aliases' => 
59
      array (
60
      ),
61
      'reference' => '53330f47520498c0ae1f61f7e2c90f55690c06a3',
62
    ),
63
    'psr/http-message' => 
64
    array (
65
      'pretty_version' => '1.0.1',
66
      'version' => '1.0.1.0',
67
      'aliases' => 
68
      array (
69
      ),
70
      'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363',
71
    ),
72
    'psr/http-message-implementation' => 
73
    array (
74
      'provided' => 
75
      array (
76
 
77
      ),
78
    ),
79
    'ralouphie/getallheaders' => 
80
    array (
81
      'pretty_version' => '3.0.3',
82
      'version' => '3.0.3.0',
83
      'aliases' => 
84
      array (
85
      ),
86
      'reference' => '120b605dfeb996808c31b6477290a714d356e822',
87
    ),
88
    'ratchet/rfc6455' => 
89
    array (
90
      'pretty_version' => 'v0.3',
91
      'version' => '0.3.0.0',
92
      'aliases' => 
93
      array (
94
      ),
95
      'reference' => 'c8651c7938651c2d55f5d8c2422ac5e57a183341',
96
    ),
97
    'react/cache' => 
98
    array (
99
      'pretty_version' => 'v1.1.0',
100
      'version' => '1.1.0.0',
101
      'aliases' => 
102
      array (
103
      ),
104
      'reference' => '44a568925556b0bd8cacc7b49fb0f1cf0d706a0c',
105
    ),
106
    'react/dns' => 
107
    array (
108
      'pretty_version' => 'v1.4.0',
109
      'version' => '1.4.0.0',
110
      'aliases' => 
111
      array (
112
      ),
113
      'reference' => '665260757171e2ab17485b44e7ffffa7acb6ca1f',
114
    ),
115
    'react/event-loop' => 
116
    array (
117
      'pretty_version' => 'v1.1.1',
118
      'version' => '1.1.1.0',
119
      'aliases' => 
120
      array (
121
      ),
122
      'reference' => '6d24de090cd59cfc830263cfba965be77b563c13',
123
    ),
124
    'react/promise' => 
125
    array (
126
      'pretty_version' => 'v2.8.0',
127
      'version' => '2.8.0.0',
128
      'aliases' => 
129
      array (
130
      ),
131
      'reference' => 'f3cff96a19736714524ca0dd1d4130de73dbbbc4',
132
    ),
133
    'react/promise-timer' => 
134
    array (
135
      'pretty_version' => 'v1.6.0',
136
      'version' => '1.6.0.0',
137
      'aliases' => 
138
      array (
139
      ),
140
      'reference' => 'daee9baf6ef30c43ea4c86399f828bb5f558f6e6',
141
    ),
142
    'react/socket' => 
143
    array (
144
      'pretty_version' => 'v1.6.0',
145
      'version' => '1.6.0.0',
146
      'aliases' => 
147
      array (
148
      ),
149
      'reference' => 'e2b96b23a13ca9b41ab343268dbce3f8ef4d524a',
150
    ),
151
    'react/stream' => 
152
    array (
153
      'pretty_version' => 'v1.1.1',
154
      'version' => '1.1.1.0',
155
      'aliases' => 
156
      array (
157
      ),
158
      'reference' => '7c02b510ee3f582c810aeccd3a197b9c2f52ff1a',
159
    ),
160
    'symfony/deprecation-contracts' => 
161
    array (
162
      'pretty_version' => 'v2.2.0',
163
      'version' => '2.2.0.0',
164
      'aliases' => 
165
      array (
166
      ),
167
      'reference' => '5fa56b4074d1ae755beb55617ddafe6f5d78f665',
168
    ),
169
    'symfony/http-foundation' => 
170
    array (
171
      'pretty_version' => 'v5.1.8',
172
      'version' => '5.1.8.0',
173
      'aliases' => 
174
      array (
175
      ),
176
      'reference' => 'a2860ec970404b0233ab1e59e0568d3277d32b6f',
177
    ),
178
    'symfony/polyfill-mbstring' => 
179
    array (
180
      'pretty_version' => 'v1.20.0',
181
      'version' => '1.20.0.0',
182
      'aliases' => 
183
      array (
184
      ),
185
      'reference' => '39d483bdf39be819deabf04ec872eb0b2410b531',
186
    ),
187
    'symfony/polyfill-php80' => 
188
    array (
189
      'pretty_version' => 'v1.20.0',
190
      'version' => '1.20.0.0',
191
      'aliases' => 
192
      array (
193
      ),
194
      'reference' => 'e70aa8b064c5b72d3df2abd5ab1e90464ad009de',
195
    ),
196
    'symfony/routing' => 
197
    array (
198
      'pretty_version' => 'v5.1.8',
199
      'version' => '5.1.8.0',
200
      'aliases' => 
201
      array (
202
      ),
203
      'reference' => 'd6ceee2a37b61b41079005207bf37746d1bfe71f',
204
    ),
205
  ),
206
);
207
 
208
 
209
 
210
 
211
 
212
 
213
 
214
public static function getInstalledPackages()
215
{
216
return array_keys(self::$installed['versions']);
217
}
218
 
219
 
220
 
221
 
222
 
223
 
224
 
225
 
226
 
227
public static function isInstalled($packageName)
228
{
229
return isset(self::$installed['versions'][$packageName]);
230
}
231
 
232
 
233
 
234
 
235
 
236
 
237
 
238
 
239
 
240
 
241
 
242
 
243
 
244
 
245
public static function satisfies(VersionParser $parser, $packageName, $constraint)
246
{
247
$constraint = $parser->parseConstraints($constraint);
248
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
249
 
250
return $provided->matches($constraint);
251
}
252
 
253
 
254
 
255
 
256
 
257
 
258
 
259
 
260
 
261
 
262
public static function getVersionRanges($packageName)
263
{
264
if (!isset(self::$installed['versions'][$packageName])) {
265
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
266
}
267
 
268
$ranges = array();
269
if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
270
$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
271
}
272
if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
273
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
274
}
275
if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
276
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
277
}
278
if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
279
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
280
}
281
 
282
return implode(' || ', $ranges);
283
}
284
 
285
 
286
 
287
 
288
 
289
public static function getVersion($packageName)
290
{
291
if (!isset(self::$installed['versions'][$packageName])) {
292
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
293
}
294
 
295
if (!isset(self::$installed['versions'][$packageName]['version'])) {
296
return null;
297
}
298
 
299
return self::$installed['versions'][$packageName]['version'];
300
}
301
 
302
 
303
 
304
 
305
 
306
public static function getPrettyVersion($packageName)
307
{
308
if (!isset(self::$installed['versions'][$packageName])) {
309
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
310
}
311
 
312
if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
313
return null;
314
}
315
 
316
return self::$installed['versions'][$packageName]['pretty_version'];
317
}
318
 
319
 
320
 
321
 
322
 
323
public static function getReference($packageName)
324
{
325
if (!isset(self::$installed['versions'][$packageName])) {
326
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
327
}
328
 
329
if (!isset(self::$installed['versions'][$packageName]['reference'])) {
330
return null;
331
}
332
 
333
return self::$installed['versions'][$packageName]['reference'];
334
}
335
 
336
 
337
 
338
 
339
 
340
public static function getRootPackage()
341
{
342
return self::$installed['root'];
343
}
344
 
345
 
346
 
347
 
348
 
349
 
350
 
351
public static function getRawData()
352
{
353
return self::$installed;
354
}
355
 
356
 
357
 
358
 
359
 
360
 
361
 
362
 
363
 
364
 
365
 
366
 
367
 
368
 
369
 
370
 
371
 
372
 
373
 
374
public static function reload($data)
375
{
376
self::$installed = $data;
377
}
378
}