PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.4
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.4
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 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 4.1.17 All 164 releases
adminify / vendor / composer / InstalledVersions.php

InstalledVersions.php in Adminify – White Label, Admin Menu Editor, Login Customizer 2.0.4, at vendor/composer/InstalledVersions.php

286 lines 4.5 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' => 'dev-master',
31 'version' => 'dev-master',
32 'aliases' =>
33 array (
34 ),
35 'reference' => '72935315b875629de1aee11af70e476bf4961df7',
36 'name' => 'litonarefin/wp-adminify',
37 ),
38 'versions' =>
39 array (
40 'litonarefin/wp-adminify' =>
41 array (
42 'pretty_version' => 'dev-master',
43 'version' => 'dev-master',
44 'aliases' =>
45 array (
46 ),
47 'reference' => '72935315b875629de1aee11af70e476bf4961df7',
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 public static function getRawData()
231 {
232 return self::$installed;
233 }
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253 public static function reload($data)
254 {
255 self::$installed = $data;
256 self::$installedByVendor = array();
257 }
258
259
260
261
262
263 private static function getInstalled()
264 {
265 if (null === self::$canGetVendors) {
266 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
267 }
268
269 $installed = array();
270
271 if (self::$canGetVendors) {
272 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
273 if (isset(self::$installedByVendor[$vendorDir])) {
274 $installed[] = self::$installedByVendor[$vendorDir];
275 } elseif (is_file($vendorDir.'/composer/installed.php')) {
276 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
277 }
278 }
279 }
280
281 $installed[] = self::$installed;
282
283 return $installed;
284 }
285 }
286