PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.2.3
Tutor LMS – eLearning and online course solution v2.2.3
4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / vendor / composer / InstalledVersions.php
tutor / vendor / composer Last commit date
ClassLoader.php 3 years ago InstalledVersions.php 3 years ago autoload_classmap.php 3 years ago autoload_namespaces.php 3 years ago autoload_psr4.php 3 years ago autoload_real.php 3 years ago autoload_static.php 3 years ago installed.json 3 years ago installed.php 3 years ago
InstalledVersions.php
284 lines
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' => 'dev-master',
29 'version' => 'dev-master',
30 'aliases' =>
31 array (
32 ),
33 'reference' => 'a8d1846d3750849bc4df3b7eea52d4e8c7d1f5ed',
34 'name' => 'themeum/tutor',
35 ),
36 'versions' =>
37 array (
38 'themeum/tutor' =>
39 array (
40 'pretty_version' => 'dev-master',
41 'version' => 'dev-master',
42 'aliases' =>
43 array (
44 ),
45 'reference' => 'a8d1846d3750849bc4df3b7eea52d4e8c7d1f5ed',
46 ),
47 ),
48 );
49 private static $canGetVendors;
50 private static $installedByVendor = array();
51
52
53
54
55
56
57
58 public static function getInstalledPackages()
59 {
60 $packages = array();
61 foreach (self::getInstalled() as $installed) {
62 $packages[] = array_keys($installed['versions']);
63 }
64
65
66 if (1 === \count($packages)) {
67 return $packages[0];
68 }
69
70 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
71 }
72
73
74
75
76
77
78
79
80
81 public static function isInstalled($packageName)
82 {
83 foreach (self::getInstalled() as $installed) {
84 if (isset($installed['versions'][$packageName])) {
85 return true;
86 }
87 }
88
89 return false;
90 }
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105 public static function satisfies(VersionParser $parser, $packageName, $constraint)
106 {
107 $constraint = $parser->parseConstraints($constraint);
108 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
109
110 return $provided->matches($constraint);
111 }
112
113
114
115
116
117
118
119
120
121
122 public static function getVersionRanges($packageName)
123 {
124 foreach (self::getInstalled() as $installed) {
125 if (!isset($installed['versions'][$packageName])) {
126 continue;
127 }
128
129 $ranges = array();
130 if (isset($installed['versions'][$packageName]['pretty_version'])) {
131 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
132 }
133 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
134 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
135 }
136 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
137 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
138 }
139 if (array_key_exists('provided', $installed['versions'][$packageName])) {
140 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
141 }
142
143 return implode(' || ', $ranges);
144 }
145
146 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
147 }
148
149
150
151
152
153 public static function getVersion($packageName)
154 {
155 foreach (self::getInstalled() as $installed) {
156 if (!isset($installed['versions'][$packageName])) {
157 continue;
158 }
159
160 if (!isset($installed['versions'][$packageName]['version'])) {
161 return null;
162 }
163
164 return $installed['versions'][$packageName]['version'];
165 }
166
167 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
168 }
169
170
171
172
173
174 public static function getPrettyVersion($packageName)
175 {
176 foreach (self::getInstalled() as $installed) {
177 if (!isset($installed['versions'][$packageName])) {
178 continue;
179 }
180
181 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
182 return null;
183 }
184
185 return $installed['versions'][$packageName]['pretty_version'];
186 }
187
188 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
189 }
190
191
192
193
194
195 public static function getReference($packageName)
196 {
197 foreach (self::getInstalled() as $installed) {
198 if (!isset($installed['versions'][$packageName])) {
199 continue;
200 }
201
202 if (!isset($installed['versions'][$packageName]['reference'])) {
203 return null;
204 }
205
206 return $installed['versions'][$packageName]['reference'];
207 }
208
209 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
210 }
211
212
213
214
215
216 public static function getRootPackage()
217 {
218 $installed = self::getInstalled();
219
220 return $installed[0]['root'];
221 }
222
223
224
225
226
227
228
229 public static function getRawData()
230 {
231 return self::$installed;
232 }
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252 public static function reload($data)
253 {
254 self::$installed = $data;
255 self::$installedByVendor = array();
256 }
257
258
259
260
261 private static function getInstalled()
262 {
263 if (null === self::$canGetVendors) {
264 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
265 }
266
267 $installed = array();
268
269 if (self::$canGetVendors) {
270 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
271 if (isset(self::$installedByVendor[$vendorDir])) {
272 $installed[] = self::$installedByVendor[$vendorDir];
273 } elseif (is_file($vendorDir.'/composer/installed.php')) {
274 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
275 }
276 }
277 }
278
279 $installed[] = self::$installed;
280
281 return $installed;
282 }
283 }
284