PluginProbe
User Access Manager / 2.2.15
User Access Manager v2.2.15
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / vendor / composer / InstalledVersions.php

InstalledVersions.php in User Access Manager 2.2.15, at vendor/composer/InstalledVersions.php

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