WooCommerce Conversion Tracking - Version 2.0.10

Version Description

Download this release

Release Info

Developer tareq1988
Plugin Icon 128x128 WooCommerce Conversion Tracking
Version 2.0.10
Comparing to
See all releases

Code changes from version 2.0.9 to 2.0.10

Files changed (37) hide show
  1. composer.lock +158 -48
  2. conversion-tracking.php +2 -2
  3. readme.txt +8 -4
  4. vendor/autoload.php +1 -1
  5. vendor/composer/ClassLoader.php +142 -15
  6. vendor/composer/InstalledVersions.php +350 -0
  7. vendor/composer/autoload_classmap.php +9 -0
  8. vendor/composer/autoload_real.php +8 -6
  9. vendor/composer/autoload_static.php +13 -4
  10. vendor/composer/installed.json +161 -126
  11. vendor/composer/installed.php +44 -0
  12. vendor/composer/installers/.github/workflows/continuous-integration.yml +76 -0
  13. vendor/composer/installers/.github/workflows/lint.yml +30 -0
  14. vendor/composer/installers/.github/workflows/phpstan.yml +51 -0
  15. vendor/composer/installers/composer.json +23 -7
  16. vendor/composer/installers/phpstan.neon.dist +10 -0
  17. vendor/composer/installers/src/Composer/Installers/BaseInstaller.php +7 -6
  18. vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +10 -26
  19. vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php +1 -3
  20. vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php +3 -1
  21. vendor/composer/installers/src/Composer/Installers/Installer.php +30 -10
  22. vendor/composer/installers/src/Composer/Installers/MantisBTInstaller.php +23 -0
  23. vendor/composer/installers/src/Composer/Installers/MauticInstaller.php +29 -6
  24. vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php +10 -0
  25. vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php +1 -0
  26. vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php +2 -1
  27. vendor/composer/installers/src/Composer/Installers/OxidInstaller.php +1 -1
  28. vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php +12 -0
  29. vendor/composer/installers/src/Composer/Installers/Plugin.php +12 -2
  30. vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php +22 -0
  31. vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php +12 -0
  32. vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php +1 -3
  33. vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php +9 -0
  34. vendor/composer/installers/src/Composer/Installers/TaoInstaller.php +18 -0
  35. vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php +32 -0
  36. vendor/composer/installers/src/Composer/Installers/WinterInstaller.php +58 -0
  37. vendor/composer/platform_check.php +26 -0
composer.lock CHANGED
@@ -4,39 +4,44 @@
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
- "content-hash": "90699a92d6d336296052b0492303b693",
8
  "packages": [
9
  {
10
  "name": "composer/installers",
11
- "version": "v1.7.0",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/composer/installers.git",
15
- "reference": "141b272484481432cda342727a427dc1e206bfa0"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/composer/installers/zipball/141b272484481432cda342727a427dc1e206bfa0",
20
- "reference": "141b272484481432cda342727a427dc1e206bfa0",
21
  "shasum": ""
22
  },
23
  "require": {
24
- "composer-plugin-api": "^1.0"
25
  },
26
  "replace": {
27
  "roundcube/plugin-installer": "*",
28
  "shama/baton": "*"
29
  },
30
  "require-dev": {
31
- "composer/composer": "1.0.*@dev",
32
- "phpunit/phpunit": "^4.8.36"
 
 
 
 
33
  },
34
  "type": "composer-plugin",
35
  "extra": {
36
  "class": "Composer\\Installers\\Plugin",
37
  "branch-alias": {
38
- "dev-master": "1.0-dev"
39
- }
 
40
  },
41
  "autoload": {
42
  "psr-4": {
@@ -65,6 +70,7 @@
65
  "Kanboard",
66
  "Lan Management System",
67
  "MODX Evo",
 
68
  "Mautic",
69
  "Maya",
70
  "OXID",
@@ -72,6 +78,7 @@
72
  "Porto",
73
  "RadPHP",
74
  "SMF",
 
75
  "Thelia",
76
  "Whmcs",
77
  "WolfCMS",
@@ -105,13 +112,16 @@
105
  "majima",
106
  "mako",
107
  "mediawiki",
 
108
  "modulework",
109
  "modx",
110
  "moodle",
111
  "osclass",
 
112
  "phpbb",
113
  "piwik",
114
  "ppi",
 
115
  "puppet",
116
  "pxcms",
117
  "reindex",
@@ -119,14 +129,34 @@
119
  "shopware",
120
  "silverstripe",
121
  "sydes",
 
122
  "symfony",
 
123
  "typo3",
124
  "wordpress",
125
  "yawik",
126
  "zend",
127
  "zikula"
128
  ],
129
- "time": "2019-08-12T15:00:31+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  }
131
  ],
132
  "packages-dev": [
@@ -136,26 +166,27 @@
136
  "source": {
137
  "type": "git",
138
  "url": "https://github.com/Automattic/VIP-Coding-Standards.git",
139
- "reference": "fc02f491dc9f51da7c32941ac579f70b9ed300c5"
140
  },
141
  "dist": {
142
  "type": "zip",
143
- "url": "https://api.github.com/repos/Automattic/VIP-Coding-Standards/zipball/fc02f491dc9f51da7c32941ac579f70b9ed300c5",
144
- "reference": "fc02f491dc9f51da7c32941ac579f70b9ed300c5",
145
  "shasum": ""
146
  },
147
  "require": {
148
- "php": ">=5.6",
149
- "squizlabs/php_codesniffer": "^3.3.1",
150
- "wp-coding-standards/wpcs": "^2.1"
 
 
151
  },
152
  "require-dev": {
153
- "dealerdirect/phpcodesniffer-composer-installer": "^0.5",
 
154
  "phpcompatibility/php-compatibility": "^9",
155
- "phpunit/phpunit": "^5 || ^6 || ^7"
156
- },
157
- "suggest": {
158
- "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
159
  },
160
  "type": "phpcodesniffer-standard",
161
  "notification-url": "https://packagist.org/downloads/",
@@ -174,31 +205,36 @@
174
  "standards",
175
  "wordpress"
176
  ],
177
- "time": "2019-07-12T08:47:36+00:00"
 
 
 
 
 
178
  },
179
  {
180
  "name": "dealerdirect/phpcodesniffer-composer-installer",
181
- "version": "dev-master",
182
  "source": {
183
  "type": "git",
184
  "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
185
- "reference": "25312312c0faf008444736cdd19a86f55a563520"
186
  },
187
  "dist": {
188
  "type": "zip",
189
- "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/25312312c0faf008444736cdd19a86f55a563520",
190
- "reference": "25312312c0faf008444736cdd19a86f55a563520",
191
  "shasum": ""
192
  },
193
  "require": {
194
- "composer-plugin-api": "^1.0",
195
- "php": "^5.3|^7",
196
- "squizlabs/php_codesniffer": "^2|^3"
197
  },
198
  "require-dev": {
199
  "composer/composer": "*",
200
- "phpcompatibility/php-compatibility": "^9.0",
201
- "sensiolabs/security-checker": "^4.1.0"
202
  },
203
  "type": "composer-plugin",
204
  "extra": {
@@ -219,6 +255,10 @@
219
  "email": "franck.nijhof@dealerdirect.com",
220
  "homepage": "http://www.frenck.nl",
221
  "role": "Developer / IT Manager"
 
 
 
 
222
  }
223
  ],
224
  "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
@@ -230,6 +270,7 @@
230
  "codesniffer",
231
  "composer",
232
  "installer",
 
233
  "phpcs",
234
  "plugin",
235
  "qa",
@@ -240,7 +281,64 @@
240
  "stylecheck",
241
  "tests"
242
  ],
243
- "time": "2019-12-16T20:17:44+00:00"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  },
245
  {
246
  "name": "squizlabs/php_codesniffer",
@@ -248,12 +346,12 @@
248
  "source": {
249
  "type": "git",
250
  "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
251
- "reference": "278b643f2a5ec1b92fd60b2d7dac034f3a52ea4e"
252
  },
253
  "dist": {
254
  "type": "zip",
255
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/278b643f2a5ec1b92fd60b2d7dac034f3a52ea4e",
256
- "reference": "278b643f2a5ec1b92fd60b2d7dac034f3a52ea4e",
257
  "shasum": ""
258
  },
259
  "require": {
@@ -265,6 +363,7 @@
265
  "require-dev": {
266
  "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
267
  },
 
268
  "bin": [
269
  "bin/phpcs",
270
  "bin/phpcbf"
@@ -291,20 +390,25 @@
291
  "phpcs",
292
  "standards"
293
  ],
294
- "time": "2019-12-20T03:33:58+00:00"
 
 
 
 
 
295
  },
296
  {
297
  "name": "wp-coding-standards/wpcs",
298
- "version": "2.2.0",
299
  "source": {
300
  "type": "git",
301
  "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
302
- "reference": "f90e8692ce97b693633db7ab20bfa78d930f536a"
303
  },
304
  "dist": {
305
  "type": "zip",
306
- "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/f90e8692ce97b693633db7ab20bfa78d930f536a",
307
- "reference": "f90e8692ce97b693633db7ab20bfa78d930f536a",
308
  "shasum": ""
309
  },
310
  "require": {
@@ -312,12 +416,13 @@
312
  "squizlabs/php_codesniffer": "^3.3.1"
313
  },
314
  "require-dev": {
315
- "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
316
  "phpcompatibility/php-compatibility": "^9.0",
 
317
  "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
318
  },
319
  "suggest": {
320
- "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
321
  },
322
  "type": "phpcodesniffer-standard",
323
  "notification-url": "https://packagist.org/downloads/",
@@ -336,19 +441,24 @@
336
  "standards",
337
  "wordpress"
338
  ],
339
- "time": "2019-11-11T12:34:03+00:00"
 
 
 
 
 
340
  }
341
  ],
342
  "aliases": [],
343
  "minimum-stability": "dev",
344
  "stability-flags": {
345
- "automattic/vipwpcs": 20,
346
- "dealerdirect/phpcodesniffer-composer-installer": 20
347
  },
348
  "prefer-stable": false,
349
  "prefer-lowest": false,
350
  "platform": {
351
- "php": ">=5.4.0"
352
  },
353
- "platform-dev": []
 
354
  }
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
+ "content-hash": "693db240682a996dd54dcc7c09ffd898",
8
  "packages": [
9
  {
10
  "name": "composer/installers",
11
+ "version": "1.x-dev",
12
  "source": {
13
  "type": "git",
14
  "url": "https://github.com/composer/installers.git",
15
+ "reference": "894a0b5c5d34c88b69b097f2aae1439730fa6836"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/composer/installers/zipball/894a0b5c5d34c88b69b097f2aae1439730fa6836",
20
+ "reference": "894a0b5c5d34c88b69b097f2aae1439730fa6836",
21
  "shasum": ""
22
  },
23
  "require": {
24
+ "composer-plugin-api": "^1.0 || ^2.0"
25
  },
26
  "replace": {
27
  "roundcube/plugin-installer": "*",
28
  "shama/baton": "*"
29
  },
30
  "require-dev": {
31
+ "composer/composer": "1.6.* || ^2.0",
32
+ "composer/semver": "^1 || ^3",
33
+ "phpstan/phpstan": "^0.12.55",
34
+ "phpstan/phpstan-phpunit": "^0.12.16",
35
+ "symfony/phpunit-bridge": "^4.2 || ^5",
36
+ "symfony/process": "^2.3"
37
  },
38
  "type": "composer-plugin",
39
  "extra": {
40
  "class": "Composer\\Installers\\Plugin",
41
  "branch-alias": {
42
+ "dev-main": "1.x-dev"
43
+ },
44
+ "plugin-modifies-install-path": true
45
  },
46
  "autoload": {
47
  "psr-4": {
70
  "Kanboard",
71
  "Lan Management System",
72
  "MODX Evo",
73
+ "MantisBT",
74
  "Mautic",
75
  "Maya",
76
  "OXID",
78
  "Porto",
79
  "RadPHP",
80
  "SMF",
81
+ "Starbug",
82
  "Thelia",
83
  "Whmcs",
84
  "WolfCMS",
112
  "majima",
113
  "mako",
114
  "mediawiki",
115
+ "miaoxing",
116
  "modulework",
117
  "modx",
118
  "moodle",
119
  "osclass",
120
+ "pantheon",
121
  "phpbb",
122
  "piwik",
123
  "ppi",
124
+ "processwire",
125
  "puppet",
126
  "pxcms",
127
  "reindex",
129
  "shopware",
130
  "silverstripe",
131
  "sydes",
132
+ "sylius",
133
  "symfony",
134
+ "tastyigniter",
135
  "typo3",
136
  "wordpress",
137
  "yawik",
138
  "zend",
139
  "zikula"
140
  ],
141
+ "support": {
142
+ "issues": "https://github.com/composer/installers/issues",
143
+ "source": "https://github.com/composer/installers/tree/1.x"
144
+ },
145
+ "funding": [
146
+ {
147
+ "url": "https://packagist.com",
148
+ "type": "custom"
149
+ },
150
+ {
151
+ "url": "https://github.com/composer",
152
+ "type": "github"
153
+ },
154
+ {
155
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
156
+ "type": "tidelift"
157
+ }
158
+ ],
159
+ "time": "2022-03-15T21:23:54+00:00"
160
  }
161
  ],
162
  "packages-dev": [
166
  "source": {
167
  "type": "git",
168
  "url": "https://github.com/Automattic/VIP-Coding-Standards.git",
169
+ "reference": "6cd0a6a82bc0ac988dbf9d6a7c2e293dc8ac640b"
170
  },
171
  "dist": {
172
  "type": "zip",
173
+ "url": "https://api.github.com/repos/Automattic/VIP-Coding-Standards/zipball/6cd0a6a82bc0ac988dbf9d6a7c2e293dc8ac640b",
174
+ "reference": "6cd0a6a82bc0ac988dbf9d6a7c2e293dc8ac640b",
175
  "shasum": ""
176
  },
177
  "require": {
178
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7",
179
+ "php": ">=5.4",
180
+ "sirbrillig/phpcs-variable-analysis": "^2.11.1",
181
+ "squizlabs/php_codesniffer": "^3.5.5",
182
+ "wp-coding-standards/wpcs": "^2.3"
183
  },
184
  "require-dev": {
185
+ "php-parallel-lint/php-console-highlighter": "^0.5",
186
+ "php-parallel-lint/php-parallel-lint": "^1.0",
187
  "phpcompatibility/php-compatibility": "^9",
188
+ "phpcsstandards/phpcsdevtools": "^1.0",
189
+ "phpunit/phpunit": "^4 || ^5 || ^6 || ^7"
 
 
190
  },
191
  "type": "phpcodesniffer-standard",
192
  "notification-url": "https://packagist.org/downloads/",
205
  "standards",
206
  "wordpress"
207
  ],
208
+ "support": {
209
+ "issues": "https://github.com/Automattic/VIP-Coding-Standards/issues",
210
+ "source": "https://github.com/Automattic/VIP-Coding-Standards",
211
+ "wiki": "https://github.com/Automattic/VIP-Coding-Standards/wiki"
212
+ },
213
+ "time": "2021-09-29T16:20:23+00:00"
214
  },
215
  {
216
  "name": "dealerdirect/phpcodesniffer-composer-installer",
217
+ "version": "v0.7.2",
218
  "source": {
219
  "type": "git",
220
  "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
221
+ "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db"
222
  },
223
  "dist": {
224
  "type": "zip",
225
+ "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db",
226
+ "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db",
227
  "shasum": ""
228
  },
229
  "require": {
230
+ "composer-plugin-api": "^1.0 || ^2.0",
231
+ "php": ">=5.3",
232
+ "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
233
  },
234
  "require-dev": {
235
  "composer/composer": "*",
236
+ "php-parallel-lint/php-parallel-lint": "^1.3.1",
237
+ "phpcompatibility/php-compatibility": "^9.0"
238
  },
239
  "type": "composer-plugin",
240
  "extra": {
255
  "email": "franck.nijhof@dealerdirect.com",
256
  "homepage": "http://www.frenck.nl",
257
  "role": "Developer / IT Manager"
258
+ },
259
+ {
260
+ "name": "Contributors",
261
+ "homepage": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer/graphs/contributors"
262
  }
263
  ],
264
  "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
270
  "codesniffer",
271
  "composer",
272
  "installer",
273
+ "phpcbf",
274
  "phpcs",
275
  "plugin",
276
  "qa",
281
  "stylecheck",
282
  "tests"
283
  ],
284
+ "support": {
285
+ "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
286
+ "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
287
+ },
288
+ "time": "2022-02-04T12:51:07+00:00"
289
+ },
290
+ {
291
+ "name": "sirbrillig/phpcs-variable-analysis",
292
+ "version": "2.x-dev",
293
+ "source": {
294
+ "type": "git",
295
+ "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git",
296
+ "reference": "156490dec11f06271a0776680441016a44ffbd52"
297
+ },
298
+ "dist": {
299
+ "type": "zip",
300
+ "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/156490dec11f06271a0776680441016a44ffbd52",
301
+ "reference": "156490dec11f06271a0776680441016a44ffbd52",
302
+ "shasum": ""
303
+ },
304
+ "require": {
305
+ "php": ">=5.4.0",
306
+ "squizlabs/php_codesniffer": "^3.5.6"
307
+ },
308
+ "require-dev": {
309
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
310
+ "phpstan/phpstan": "^1.7",
311
+ "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0",
312
+ "sirbrillig/phpcs-import-detection": "^1.1"
313
+ },
314
+ "default-branch": true,
315
+ "type": "phpcodesniffer-standard",
316
+ "autoload": {
317
+ "psr-4": {
318
+ "VariableAnalysis\\": "VariableAnalysis/"
319
+ }
320
+ },
321
+ "notification-url": "https://packagist.org/downloads/",
322
+ "license": [
323
+ "BSD-2-Clause"
324
+ ],
325
+ "authors": [
326
+ {
327
+ "name": "Sam Graham",
328
+ "email": "php-codesniffer-variableanalysis@illusori.co.uk"
329
+ },
330
+ {
331
+ "name": "Payton Swick",
332
+ "email": "payton@foolord.com"
333
+ }
334
+ ],
335
+ "description": "A PHPCS sniff to detect problems with variables.",
336
+ "support": {
337
+ "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues",
338
+ "source": "https://github.com/sirbrillig/phpcs-variable-analysis",
339
+ "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki"
340
+ },
341
+ "time": "2022-06-01T23:03:19+00:00"
342
  },
343
  {
344
  "name": "squizlabs/php_codesniffer",
346
  "source": {
347
  "type": "git",
348
  "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
349
+ "reference": "5e2719947a22c3cd9a6545dbb66d44b81bc0a1e6"
350
  },
351
  "dist": {
352
  "type": "zip",
353
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e2719947a22c3cd9a6545dbb66d44b81bc0a1e6",
354
+ "reference": "5e2719947a22c3cd9a6545dbb66d44b81bc0a1e6",
355
  "shasum": ""
356
  },
357
  "require": {
363
  "require-dev": {
364
  "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
365
  },
366
+ "default-branch": true,
367
  "bin": [
368
  "bin/phpcs",
369
  "bin/phpcbf"
390
  "phpcs",
391
  "standards"
392
  ],
393
+ "support": {
394
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
395
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
396
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
397
+ },
398
+ "time": "2022-05-31T22:48:23+00:00"
399
  },
400
  {
401
  "name": "wp-coding-standards/wpcs",
402
+ "version": "2.3.0",
403
  "source": {
404
  "type": "git",
405
  "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
406
+ "reference": "7da1894633f168fe244afc6de00d141f27517b62"
407
  },
408
  "dist": {
409
  "type": "zip",
410
+ "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/7da1894633f168fe244afc6de00d141f27517b62",
411
+ "reference": "7da1894633f168fe244afc6de00d141f27517b62",
412
  "shasum": ""
413
  },
414
  "require": {
416
  "squizlabs/php_codesniffer": "^3.3.1"
417
  },
418
  "require-dev": {
419
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || ^0.6",
420
  "phpcompatibility/php-compatibility": "^9.0",
421
+ "phpcsstandards/phpcsdevtools": "^1.0",
422
  "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
423
  },
424
  "suggest": {
425
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.6 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
426
  },
427
  "type": "phpcodesniffer-standard",
428
  "notification-url": "https://packagist.org/downloads/",
441
  "standards",
442
  "wordpress"
443
  ],
444
+ "support": {
445
+ "issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues",
446
+ "source": "https://github.com/WordPress/WordPress-Coding-Standards",
447
+ "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki"
448
+ },
449
+ "time": "2020-05-13T23:57:56+00:00"
450
  }
451
  ],
452
  "aliases": [],
453
  "minimum-stability": "dev",
454
  "stability-flags": {
455
+ "automattic/vipwpcs": 20
 
456
  },
457
  "prefer-stable": false,
458
  "prefer-lowest": false,
459
  "platform": {
460
+ "php": ">=7.0"
461
  },
462
+ "platform-dev": [],
463
+ "plugin-api-version": "2.1.0"
464
  }
conversion-tracking.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WooCommerce Conversion Tracking
4
  Plugin URI: https://wedevs.com/woocommerce-conversion-tracking/
5
  Description: Adds various conversion tracking codes to cart, checkout, registration success and product page on WooCommerce
6
- Version: 2.0.9
7
  Author: weDevs
8
  Author URI: https://wedevs.com/?utm_source=ORG_Author_URI_WCCT
9
  License: GPL2
@@ -54,7 +54,7 @@ class WeDevs_WC_Conversion_Tracking {
54
  *
55
  * @var string
56
  */
57
- public $version = '2.0.9';
58
 
59
  /**
60
  * Holds various class instances
3
  Plugin Name: WooCommerce Conversion Tracking
4
  Plugin URI: https://wedevs.com/woocommerce-conversion-tracking/
5
  Description: Adds various conversion tracking codes to cart, checkout, registration success and product page on WooCommerce
6
+ Version: 2.0.10
7
  Author: weDevs
8
  Author URI: https://wedevs.com/?utm_source=ORG_Author_URI_WCCT
9
  License: GPL2
54
  *
55
  * @var string
56
  */
57
+ public $version = '2.0.10';
58
 
59
  /**
60
  * Holds various class instances
readme.txt CHANGED
@@ -2,11 +2,11 @@
2
  Contributors: tareq1988, wedevs
3
  Tags: ecommerce, e-commerce, commerce, woocommerce, tracking, facebook, google, adwords, tracking-pixel
4
  Donate link: https://tareq.co/donate/
5
- Requires at least: 4.0
6
- Tested up to: 5.8
7
  WC requires at least: 3.0
8
- WC tested up to: 5.7.1
9
- Stable tag: 2.0.9
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
12
 
@@ -103,6 +103,10 @@ Additionally, read weDevs [privacy policy](https://wedevs.com/privacy-policy/) f
103
 
104
  == Changelog ==
105
 
 
 
 
 
106
  = Version 2.0.9 (6 October, 2021) =
107
 
108
  * **Fix:** Perfect Audience breaking checkbox section issue.
2
  Contributors: tareq1988, wedevs
3
  Tags: ecommerce, e-commerce, commerce, woocommerce, tracking, facebook, google, adwords, tracking-pixel
4
  Donate link: https://tareq.co/donate/
5
+ Requires at least: 5.4
6
+ Tested up to: 6.0
7
  WC requires at least: 3.0
8
+ WC tested up to: 6.5
9
+ Stable tag: 2.0.10
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
12
 
103
 
104
  == Changelog ==
105
 
106
+ = Version 2.0.10 (2 June, 2022) =
107
+
108
+ * **Fix:** WordPress 6.0 compatibility
109
+
110
  = Version 2.0.9 (6 October, 2021) =
111
 
112
  * **Fix:** Perfect Audience breaking checkbox section issue.
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitf77dbf16c1d5206d8611943b09c0006d::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInite9d89234d494a7062686cbab29cd187e::getLoader();
vendor/composer/ClassLoader.php CHANGED
@@ -37,57 +37,130 @@ namespace Composer\Autoload;
37
  *
38
  * @author Fabien Potencier <fabien@symfony.com>
39
  * @author Jordi Boggiano <j.boggiano@seld.be>
40
- * @see http://www.php-fig.org/psr/psr-0/
41
- * @see http://www.php-fig.org/psr/psr-4/
42
  */
43
  class ClassLoader
44
  {
 
 
 
45
  // PSR-4
 
 
 
 
46
  private $prefixLengthsPsr4 = array();
 
 
 
 
47
  private $prefixDirsPsr4 = array();
 
 
 
 
48
  private $fallbackDirsPsr4 = array();
49
 
50
  // PSR-0
 
 
 
 
51
  private $prefixesPsr0 = array();
 
 
 
 
52
  private $fallbackDirsPsr0 = array();
53
 
 
54
  private $useIncludePath = false;
 
 
 
 
 
55
  private $classMap = array();
 
 
56
  private $classMapAuthoritative = false;
 
 
 
 
 
57
  private $missingClasses = array();
 
 
58
  private $apcuPrefix;
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  public function getPrefixes()
61
  {
62
  if (!empty($this->prefixesPsr0)) {
63
- return call_user_func_array('array_merge', $this->prefixesPsr0);
64
  }
65
 
66
  return array();
67
  }
68
 
 
 
 
 
69
  public function getPrefixesPsr4()
70
  {
71
  return $this->prefixDirsPsr4;
72
  }
73
 
 
 
 
 
74
  public function getFallbackDirs()
75
  {
76
  return $this->fallbackDirsPsr0;
77
  }
78
 
 
 
 
 
79
  public function getFallbackDirsPsr4()
80
  {
81
  return $this->fallbackDirsPsr4;
82
  }
83
 
 
 
 
 
84
  public function getClassMap()
85
  {
86
  return $this->classMap;
87
  }
88
 
89
  /**
90
- * @param array $classMap Class to filename map
 
 
 
91
  */
92
  public function addClassMap(array $classMap)
93
  {
@@ -102,9 +175,11 @@ class ClassLoader
102
  * Registers a set of PSR-0 directories for a given prefix, either
103
  * appending or prepending to the ones previously set for this prefix.
104
  *
105
- * @param string $prefix The prefix
106
- * @param array|string $paths The PSR-0 root directories
107
- * @param bool $prepend Whether to prepend the directories
 
 
108
  */
109
  public function add($prefix, $paths, $prepend = false)
110
  {
@@ -147,11 +222,13 @@ class ClassLoader
147
  * Registers a set of PSR-4 directories for a given namespace, either
148
  * appending or prepending to the ones previously set for this namespace.
149
  *
150
- * @param string $prefix The prefix/namespace, with trailing '\\'
151
- * @param array|string $paths The PSR-4 base directories
152
- * @param bool $prepend Whether to prepend the directories
153
  *
154
  * @throws \InvalidArgumentException
 
 
155
  */
156
  public function addPsr4($prefix, $paths, $prepend = false)
157
  {
@@ -195,8 +272,10 @@ class ClassLoader
195
  * Registers a set of PSR-0 directories for a given prefix,
196
  * replacing any others previously set for this prefix.
197
  *
198
- * @param string $prefix The prefix
199
- * @param array|string $paths The PSR-0 base directories
 
 
200
  */
201
  public function set($prefix, $paths)
202
  {
@@ -211,10 +290,12 @@ class ClassLoader
211
  * Registers a set of PSR-4 directories for a given namespace,
212
  * replacing any others previously set for this namespace.
213
  *
214
- * @param string $prefix The prefix/namespace, with trailing '\\'
215
- * @param array|string $paths The PSR-4 base directories
216
  *
217
  * @throws \InvalidArgumentException
 
 
218
  */
219
  public function setPsr4($prefix, $paths)
220
  {
@@ -234,6 +315,8 @@ class ClassLoader
234
  * Turns on searching the include path for class files.
235
  *
236
  * @param bool $useIncludePath
 
 
237
  */
238
  public function setUseIncludePath($useIncludePath)
239
  {
@@ -256,6 +339,8 @@ class ClassLoader
256
  * that have not been registered with the class map.
257
  *
258
  * @param bool $classMapAuthoritative
 
 
259
  */
260
  public function setClassMapAuthoritative($classMapAuthoritative)
261
  {
@@ -276,6 +361,8 @@ class ClassLoader
276
  * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
277
  *
278
  * @param string|null $apcuPrefix
 
 
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
@@ -296,25 +383,44 @@ class ClassLoader
296
  * Registers this instance as an autoloader.
297
  *
298
  * @param bool $prepend Whether to prepend the autoloader or not
 
 
299
  */
300
  public function register($prepend = false)
301
  {
302
  spl_autoload_register(array($this, 'loadClass'), true, $prepend);
 
 
 
 
 
 
 
 
 
 
 
303
  }
304
 
305
  /**
306
  * Unregisters this instance as an autoloader.
 
 
307
  */
308
  public function unregister()
309
  {
310
  spl_autoload_unregister(array($this, 'loadClass'));
 
 
 
 
311
  }
312
 
313
  /**
314
  * Loads the given class or interface.
315
  *
316
  * @param string $class The name of the class
317
- * @return bool|null True if loaded, null otherwise
318
  */
319
  public function loadClass($class)
320
  {
@@ -323,6 +429,8 @@ class ClassLoader
323
 
324
  return true;
325
  }
 
 
326
  }
327
 
328
  /**
@@ -367,6 +475,21 @@ class ClassLoader
367
  return $file;
368
  }
369
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
370
  private function findFileWithExtension($class, $ext)
371
  {
372
  // PSR-4 lookup
@@ -438,6 +561,10 @@ class ClassLoader
438
  * Scope isolated include.
439
  *
440
  * Prevents access to $this/self from included files.
 
 
 
 
441
  */
442
  function includeFile($file)
443
  {
37
  *
38
  * @author Fabien Potencier <fabien@symfony.com>
39
  * @author Jordi Boggiano <j.boggiano@seld.be>
40
+ * @see https://www.php-fig.org/psr/psr-0/
41
+ * @see https://www.php-fig.org/psr/psr-4/
42
  */
43
  class ClassLoader
44
  {
45
+ /** @var ?string */
46
+ private $vendorDir;
47
+
48
  // PSR-4
49
+ /**
50
+ * @var array[]
51
+ * @psalm-var array<string, array<string, int>>
52
+ */
53
  private $prefixLengthsPsr4 = array();
54
+ /**
55
+ * @var array[]
56
+ * @psalm-var array<string, array<int, string>>
57
+ */
58
  private $prefixDirsPsr4 = array();
59
+ /**
60
+ * @var array[]
61
+ * @psalm-var array<string, string>
62
+ */
63
  private $fallbackDirsPsr4 = array();
64
 
65
  // PSR-0
66
+ /**
67
+ * @var array[]
68
+ * @psalm-var array<string, array<string, string[]>>
69
+ */
70
  private $prefixesPsr0 = array();
71
+ /**
72
+ * @var array[]
73
+ * @psalm-var array<string, string>
74
+ */
75
  private $fallbackDirsPsr0 = array();
76
 
77
+ /** @var bool */
78
  private $useIncludePath = false;
79
+
80
+ /**
81
+ * @var string[]
82
+ * @psalm-var array<string, string>
83
+ */
84
  private $classMap = array();
85
+
86
+ /** @var bool */
87
  private $classMapAuthoritative = false;
88
+
89
+ /**
90
+ * @var bool[]
91
+ * @psalm-var array<string, bool>
92
+ */
93
  private $missingClasses = array();
94
+
95
+ /** @var ?string */
96
  private $apcuPrefix;
97
 
98
+ /**
99
+ * @var self[]
100
+ */
101
+ private static $registeredLoaders = array();
102
+
103
+ /**
104
+ * @param ?string $vendorDir
105
+ */
106
+ public function __construct($vendorDir = null)
107
+ {
108
+ $this->vendorDir = $vendorDir;
109
+ }
110
+
111
+ /**
112
+ * @return string[]
113
+ */
114
  public function getPrefixes()
115
  {
116
  if (!empty($this->prefixesPsr0)) {
117
+ return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
118
  }
119
 
120
  return array();
121
  }
122
 
123
+ /**
124
+ * @return array[]
125
+ * @psalm-return array<string, array<int, string>>
126
+ */
127
  public function getPrefixesPsr4()
128
  {
129
  return $this->prefixDirsPsr4;
130
  }
131
 
132
+ /**
133
+ * @return array[]
134
+ * @psalm-return array<string, string>
135
+ */
136
  public function getFallbackDirs()
137
  {
138
  return $this->fallbackDirsPsr0;
139
  }
140
 
141
+ /**
142
+ * @return array[]
143
+ * @psalm-return array<string, string>
144
+ */
145
  public function getFallbackDirsPsr4()
146
  {
147
  return $this->fallbackDirsPsr4;
148
  }
149
 
150
+ /**
151
+ * @return string[] Array of classname => path
152
+ * @psalm-return array<string, string>
153
+ */
154
  public function getClassMap()
155
  {
156
  return $this->classMap;
157
  }
158
 
159
  /**
160
+ * @param string[] $classMap Class to filename map
161
+ * @psalm-param array<string, string> $classMap
162
+ *
163
+ * @return void
164
  */
165
  public function addClassMap(array $classMap)
166
  {
175
  * Registers a set of PSR-0 directories for a given prefix, either
176
  * appending or prepending to the ones previously set for this prefix.
177
  *
178
+ * @param string $prefix The prefix
179
+ * @param string[]|string $paths The PSR-0 root directories
180
+ * @param bool $prepend Whether to prepend the directories
181
+ *
182
+ * @return void
183
  */
184
  public function add($prefix, $paths, $prepend = false)
185
  {
222
  * Registers a set of PSR-4 directories for a given namespace, either
223
  * appending or prepending to the ones previously set for this namespace.
224
  *
225
+ * @param string $prefix The prefix/namespace, with trailing '\\'
226
+ * @param string[]|string $paths The PSR-4 base directories
227
+ * @param bool $prepend Whether to prepend the directories
228
  *
229
  * @throws \InvalidArgumentException
230
+ *
231
+ * @return void
232
  */
233
  public function addPsr4($prefix, $paths, $prepend = false)
234
  {
272
  * Registers a set of PSR-0 directories for a given prefix,
273
  * replacing any others previously set for this prefix.
274
  *
275
+ * @param string $prefix The prefix
276
+ * @param string[]|string $paths The PSR-0 base directories
277
+ *
278
+ * @return void
279
  */
280
  public function set($prefix, $paths)
281
  {
290
  * Registers a set of PSR-4 directories for a given namespace,
291
  * replacing any others previously set for this namespace.
292
  *
293
+ * @param string $prefix The prefix/namespace, with trailing '\\'
294
+ * @param string[]|string $paths The PSR-4 base directories
295
  *
296
  * @throws \InvalidArgumentException
297
+ *
298
+ * @return void
299
  */
300
  public function setPsr4($prefix, $paths)
301
  {
315
  * Turns on searching the include path for class files.
316
  *
317
  * @param bool $useIncludePath
318
+ *
319
+ * @return void
320
  */
321
  public function setUseIncludePath($useIncludePath)
322
  {
339
  * that have not been registered with the class map.
340
  *
341
  * @param bool $classMapAuthoritative
342
+ *
343
+ * @return void
344
  */
345
  public function setClassMapAuthoritative($classMapAuthoritative)
346
  {
361
  * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
362
  *
363
  * @param string|null $apcuPrefix
364
+ *
365
+ * @return void
366
  */
367
  public function setApcuPrefix($apcuPrefix)
368
  {
383
  * Registers this instance as an autoloader.
384
  *
385
  * @param bool $prepend Whether to prepend the autoloader or not
386
+ *
387
+ * @return void
388
  */
389
  public function register($prepend = false)
390
  {
391
  spl_autoload_register(array($this, 'loadClass'), true, $prepend);
392
+
393
+ if (null === $this->vendorDir) {
394
+ return;
395
+ }
396
+
397
+ if ($prepend) {
398
+ self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
399
+ } else {
400
+ unset(self::$registeredLoaders[$this->vendorDir]);
401
+ self::$registeredLoaders[$this->vendorDir] = $this;
402
+ }
403
  }
404
 
405
  /**
406
  * Unregisters this instance as an autoloader.
407
+ *
408
+ * @return void
409
  */
410
  public function unregister()
411
  {
412
  spl_autoload_unregister(array($this, 'loadClass'));
413
+
414
+ if (null !== $this->vendorDir) {
415
+ unset(self::$registeredLoaders[$this->vendorDir]);
416
+ }
417
  }
418
 
419
  /**
420
  * Loads the given class or interface.
421
  *
422
  * @param string $class The name of the class
423
+ * @return true|null True if loaded, null otherwise
424
  */
425
  public function loadClass($class)
426
  {
429
 
430
  return true;
431
  }
432
+
433
+ return null;
434
  }
435
 
436
  /**
475
  return $file;
476
  }
477
 
478
+ /**
479
+ * Returns the currently registered loaders indexed by their corresponding vendor directories.
480
+ *
481
+ * @return self[]
482
+ */
483
+ public static function getRegisteredLoaders()
484
+ {
485
+ return self::$registeredLoaders;
486
+ }
487
+
488
+ /**
489
+ * @param string $class
490
+ * @param string $ext
491
+ * @return string|false
492
+ */
493
  private function findFileWithExtension($class, $ext)
494
  {
495
  // PSR-4 lookup
561
  * Scope isolated include.
562
  *
563
  * Prevents access to $this/self from included files.
564
+ *
565
+ * @param string $file
566
+ * @return void
567
+ * @private
568
  */
569
  function includeFile($file)
570
  {
vendor/composer/InstalledVersions.php ADDED
@@ -0,0 +1,350 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of Composer.
5
+ *
6
+ * (c) Nils Adermann <naderman@naderman.de>
7
+ * Jordi Boggiano <j.boggiano@seld.be>
8
+ *
9
+ * For the full copyright and license information, please view the LICENSE
10
+ * file that was distributed with this source code.
11
+ */
12
+
13
+ namespace Composer;
14
+
15
+ use Composer\Autoload\ClassLoader;
16
+ use Composer\Semver\VersionParser;
17
+
18
+ /**
19
+ * This class is copied in every Composer installed project and available to all
20
+ *
21
+ * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22
+ *
23
+ * To require its presence, you can require `composer-runtime-api ^2.0`
24
+ */
25
+ class InstalledVersions
26
+ {
27
+ /**
28
+ * @var mixed[]|null
29
+ * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
30
+ */
31
+ private static $installed;
32
+
33
+ /**
34
+ * @var bool|null
35
+ */
36
+ private static $canGetVendors;
37
+
38
+ /**
39
+ * @var array[]
40
+ * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
41
+ */
42
+ private static $installedByVendor = array();
43
+
44
+ /**
45
+ * Returns a list of all package names which are present, either by being installed, replaced or provided
46
+ *
47
+ * @return string[]
48
+ * @psalm-return list<string>
49
+ */
50
+ public static function getInstalledPackages()
51
+ {
52
+ $packages = array();
53
+ foreach (self::getInstalled() as $installed) {
54
+ $packages[] = array_keys($installed['versions']);
55
+ }
56
+
57
+ if (1 === \count($packages)) {
58
+ return $packages[0];
59
+ }
60
+
61
+ return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
62
+ }
63
+
64
+ /**
65
+ * Returns a list of all package names with a specific type e.g. 'library'
66
+ *
67
+ * @param string $type
68
+ * @return string[]
69
+ * @psalm-return list<string>
70
+ */
71
+ public static function getInstalledPackagesByType($type)
72
+ {
73
+ $packagesByType = array();
74
+
75
+ foreach (self::getInstalled() as $installed) {
76
+ foreach ($installed['versions'] as $name => $package) {
77
+ if (isset($package['type']) && $package['type'] === $type) {
78
+ $packagesByType[] = $name;
79
+ }
80
+ }
81
+ }
82
+
83
+ return $packagesByType;
84
+ }
85
+
86
+ /**
87
+ * Checks whether the given package is installed
88
+ *
89
+ * This also returns true if the package name is provided or replaced by another package
90
+ *
91
+ * @param string $packageName
92
+ * @param bool $includeDevRequirements
93
+ * @return bool
94
+ */
95
+ public static function isInstalled($packageName, $includeDevRequirements = true)
96
+ {
97
+ foreach (self::getInstalled() as $installed) {
98
+ if (isset($installed['versions'][$packageName])) {
99
+ return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
100
+ }
101
+ }
102
+
103
+ return false;
104
+ }
105
+
106
+ /**
107
+ * Checks whether the given package satisfies a version constraint
108
+ *
109
+ * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
110
+ *
111
+ * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
112
+ *
113
+ * @param VersionParser $parser Install composer/semver to have access to this class and functionality
114
+ * @param string $packageName
115
+ * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
116
+ * @return bool
117
+ */
118
+ public static function satisfies(VersionParser $parser, $packageName, $constraint)
119
+ {
120
+ $constraint = $parser->parseConstraints($constraint);
121
+ $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
122
+
123
+ return $provided->matches($constraint);
124
+ }
125
+
126
+ /**
127
+ * Returns a version constraint representing all the range(s) which are installed for a given package
128
+ *
129
+ * It is easier to use this via isInstalled() with the $constraint argument if you need to check
130
+ * whether a given version of a package is installed, and not just whether it exists
131
+ *
132
+ * @param string $packageName
133
+ * @return string Version constraint usable with composer/semver
134
+ */
135
+ public static function getVersionRanges($packageName)
136
+ {
137
+ foreach (self::getInstalled() as $installed) {
138
+ if (!isset($installed['versions'][$packageName])) {
139
+ continue;
140
+ }
141
+
142
+ $ranges = array();
143
+ if (isset($installed['versions'][$packageName]['pretty_version'])) {
144
+ $ranges[] = $installed['versions'][$packageName]['pretty_version'];
145
+ }
146
+ if (array_key_exists('aliases', $installed['versions'][$packageName])) {
147
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
148
+ }
149
+ if (array_key_exists('replaced', $installed['versions'][$packageName])) {
150
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
151
+ }
152
+ if (array_key_exists('provided', $installed['versions'][$packageName])) {
153
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
154
+ }
155
+
156
+ return implode(' || ', $ranges);
157
+ }
158
+
159
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
160
+ }
161
+
162
+ /**
163
+ * @param string $packageName
164
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
165
+ */
166
+ public static function getVersion($packageName)
167
+ {
168
+ foreach (self::getInstalled() as $installed) {
169
+ if (!isset($installed['versions'][$packageName])) {
170
+ continue;
171
+ }
172
+
173
+ if (!isset($installed['versions'][$packageName]['version'])) {
174
+ return null;
175
+ }
176
+
177
+ return $installed['versions'][$packageName]['version'];
178
+ }
179
+
180
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
181
+ }
182
+
183
+ /**
184
+ * @param string $packageName
185
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
186
+ */
187
+ public static function getPrettyVersion($packageName)
188
+ {
189
+ foreach (self::getInstalled() as $installed) {
190
+ if (!isset($installed['versions'][$packageName])) {
191
+ continue;
192
+ }
193
+
194
+ if (!isset($installed['versions'][$packageName]['pretty_version'])) {
195
+ return null;
196
+ }
197
+
198
+ return $installed['versions'][$packageName]['pretty_version'];
199
+ }
200
+
201
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
202
+ }
203
+
204
+ /**
205
+ * @param string $packageName
206
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
207
+ */
208
+ public static function getReference($packageName)
209
+ {
210
+ foreach (self::getInstalled() as $installed) {
211
+ if (!isset($installed['versions'][$packageName])) {
212
+ continue;
213
+ }
214
+
215
+ if (!isset($installed['versions'][$packageName]['reference'])) {
216
+ return null;
217
+ }
218
+
219
+ return $installed['versions'][$packageName]['reference'];
220
+ }
221
+
222
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
223
+ }
224
+
225
+ /**
226
+ * @param string $packageName
227
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
228
+ */
229
+ public static function getInstallPath($packageName)
230
+ {
231
+ foreach (self::getInstalled() as $installed) {
232
+ if (!isset($installed['versions'][$packageName])) {
233
+ continue;
234
+ }
235
+
236
+ return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
237
+ }
238
+
239
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
240
+ }
241
+
242
+ /**
243
+ * @return array
244
+ * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
245
+ */
246
+ public static function getRootPackage()
247
+ {
248
+ $installed = self::getInstalled();
249
+
250
+ return $installed[0]['root'];
251
+ }
252
+
253
+ /**
254
+ * Returns the raw installed.php data for custom implementations
255
+ *
256
+ * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
257
+ * @return array[]
258
+ * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
259
+ */
260
+ public static function getRawData()
261
+ {
262
+ @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);
263
+
264
+ if (null === self::$installed) {
265
+ // only require the installed.php file if this file is loaded from its dumped location,
266
+ // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
267
+ if (substr(__DIR__, -8, 1) !== 'C') {
268
+ self::$installed = include __DIR__ . '/installed.php';
269
+ } else {
270
+ self::$installed = array();
271
+ }
272
+ }
273
+
274
+ return self::$installed;
275
+ }
276
+
277
+ /**
278
+ * Returns the raw data of all installed.php which are currently loaded for custom implementations
279
+ *
280
+ * @return array[]
281
+ * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
282
+ */
283
+ public static function getAllRawData()
284
+ {
285
+ return self::getInstalled();
286
+ }
287
+
288
+ /**
289
+ * Lets you reload the static array from another file
290
+ *
291
+ * This is only useful for complex integrations in which a project needs to use
292
+ * this class but then also needs to execute another project's autoloader in process,
293
+ * and wants to ensure both projects have access to their version of installed.php.
294
+ *
295
+ * A typical case would be PHPUnit, where it would need to make sure it reads all
296
+ * the data it needs from this class, then call reload() with
297
+ * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
298
+ * the project in which it runs can then also use this class safely, without
299
+ * interference between PHPUnit's dependencies and the project's dependencies.
300
+ *
301
+ * @param array[] $data A vendor/composer/installed.php data set
302
+ * @return void
303
+ *
304
+ * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
305
+ */
306
+ public static function reload($data)
307
+ {
308
+ self::$installed = $data;
309
+ self::$installedByVendor = array();
310
+ }
311
+
312
+ /**
313
+ * @return array[]
314
+ * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
315
+ */
316
+ private static function getInstalled()
317
+ {
318
+ if (null === self::$canGetVendors) {
319
+ self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
320
+ }
321
+
322
+ $installed = array();
323
+
324
+ if (self::$canGetVendors) {
325
+ foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
326
+ if (isset(self::$installedByVendor[$vendorDir])) {
327
+ $installed[] = self::$installedByVendor[$vendorDir];
328
+ } elseif (is_file($vendorDir.'/composer/installed.php')) {
329
+ $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
330
+ if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
331
+ self::$installed = $installed[count($installed) - 1];
332
+ }
333
+ }
334
+ }
335
+ }
336
+
337
+ if (null === self::$installed) {
338
+ // only require the installed.php file if this file is loaded from its dumped location,
339
+ // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
340
+ if (substr(__DIR__, -8, 1) !== 'C') {
341
+ self::$installed = require __DIR__ . '/installed.php';
342
+ } else {
343
+ self::$installed = array();
344
+ }
345
+ }
346
+ $installed[] = self::$installed;
347
+
348
+ return $installed;
349
+ }
350
+ }
vendor/composer/autoload_classmap.php CHANGED
@@ -6,6 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
9
  'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
10
  'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
11
  'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
@@ -54,9 +55,11 @@ return array(
54
  'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
55
  'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
56
  'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
 
57
  'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
58
  'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
59
  'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
 
60
  'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
61
  'Composer\\Installers\\ModxInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
62
  'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
@@ -65,6 +68,7 @@ return array(
65
  'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
66
  'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
67
  'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
 
68
  'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
69
  'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
70
  'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
@@ -73,6 +77,7 @@ return array(
73
  'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
74
  'Composer\\Installers\\PortoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
75
  'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
 
76
  'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
77
  'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
78
  'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
@@ -84,17 +89,21 @@ return array(
84
  'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
85
  'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
86
  'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
 
87
  'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
 
88
  'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
89
  'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
90
  'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
91
  'Composer\\Installers\\TaoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
 
92
  'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
93
  'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
94
  'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
95
  'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
96
  'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
97
  'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
 
98
  'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
99
  'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
100
  'Composer\\Installers\\YawikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
+ 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
10
  'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php',
11
  'Composer\\Installers\\AimeosInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
12
  'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
55
  'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
56
  'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
57
  'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
58
+ 'Composer\\Installers\\MantisBTInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php',
59
  'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
60
  'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
61
  'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
62
+ 'Composer\\Installers\\MiaoxingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.php',
63
  'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
64
  'Composer\\Installers\\ModxInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
65
  'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
68
  'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
69
  'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
70
  'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
71
+ 'Composer\\Installers\\PantheonInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PantheonInstaller.php',
72
  'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
73
  'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
74
  'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
77
  'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
78
  'Composer\\Installers\\PortoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
79
  'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
80
+ 'Composer\\Installers\\ProcessWireInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php',
81
  'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
82
  'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
83
  'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
89
  'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
90
  'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
91
  'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
92
+ 'Composer\\Installers\\StarbugInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/StarbugInstaller.php',
93
  'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
94
+ 'Composer\\Installers\\SyliusInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyliusInstaller.php',
95
  'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
96
  'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
97
  'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
98
  'Composer\\Installers\\TaoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
99
+ 'Composer\\Installers\\TastyIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php',
100
  'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
101
  'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
102
  'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
103
  'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
104
  'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
105
  'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
106
+ 'Composer\\Installers\\WinterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WinterInstaller.php',
107
  'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
108
  'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
109
  'Composer\\Installers\\YawikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitf77dbf16c1d5206d8611943b09c0006d
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,17 @@ class ComposerAutoloaderInitf77dbf16c1d5206d8611943b09c0006d
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInitf77dbf16c1d5206d8611943b09c0006d', 'loadClassLoader'), true, true);
26
- self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInitf77dbf16c1d5206d8611943b09c0006d', 'loadClassLoader'));
 
 
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
- require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInite9d89234d494a7062686cbab29cd187e
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ require __DIR__ . '/platform_check.php';
26
+
27
+ spl_autoload_register(array('ComposerAutoloaderInite9d89234d494a7062686cbab29cd187e', 'loadClassLoader'), true, true);
28
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInite9d89234d494a7062686cbab29cd187e', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
+ require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInite9d89234d494a7062686cbab29cd187e::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'C' =>
@@ -21,6 +21,7 @@ class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
21
  );
22
 
23
  public static $classMap = array (
 
24
  'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
25
  'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
26
  'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
@@ -69,9 +70,11 @@ class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
69
  'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
70
  'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
71
  'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
 
72
  'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
73
  'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
74
  'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
 
75
  'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
76
  'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
77
  'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
@@ -80,6 +83,7 @@ class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
80
  'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
81
  'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
82
  'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
 
83
  'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
84
  'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
85
  'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
@@ -88,6 +92,7 @@ class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
88
  'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
89
  'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
90
  'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
 
91
  'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
92
  'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
93
  'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
@@ -99,17 +104,21 @@ class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
99
  'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
100
  'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
101
  'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
 
102
  'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
 
103
  'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
104
  'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
105
  'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
106
  'Composer\\Installers\\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
 
107
  'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
108
  'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
109
  'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
110
  'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
111
  'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
112
  'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
 
113
  'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
114
  'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
115
  'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
@@ -120,9 +129,9 @@ class ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d
120
  public static function getInitializer(ClassLoader $loader)
121
  {
122
  return \Closure::bind(function () use ($loader) {
123
- $loader->prefixLengthsPsr4 = ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d::$prefixLengthsPsr4;
124
- $loader->prefixDirsPsr4 = ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d::$prefixDirsPsr4;
125
- $loader->classMap = ComposerStaticInitf77dbf16c1d5206d8611943b09c0006d::$classMap;
126
 
127
  }, null, ClassLoader::class);
128
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInite9d89234d494a7062686cbab29cd187e
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'C' =>
21
  );
22
 
23
  public static $classMap = array (
24
+ 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
25
  'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
26
  'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
27
  'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
70
  'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
71
  'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
72
  'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
73
+ 'Composer\\Installers\\MantisBTInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php',
74
  'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
75
  'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
76
  'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
77
+ 'Composer\\Installers\\MiaoxingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.php',
78
  'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
79
  'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
80
  'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
83
  'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
84
  'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
85
  'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
86
+ 'Composer\\Installers\\PantheonInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PantheonInstaller.php',
87
  'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
88
  'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
89
  'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
92
  'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
93
  'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
94
  'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
95
+ 'Composer\\Installers\\ProcessWireInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php',
96
  'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
97
  'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
98
  'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
104
  'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
105
  'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
106
  'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
107
+ 'Composer\\Installers\\StarbugInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/StarbugInstaller.php',
108
  'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
109
+ 'Composer\\Installers\\SyliusInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyliusInstaller.php',
110
  'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
111
  'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
112
  'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
113
  'Composer\\Installers\\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
114
+ 'Composer\\Installers\\TastyIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php',
115
  'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
116
  'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
117
  'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
118
  'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
119
  'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
120
  'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
121
+ 'Composer\\Installers\\WinterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WinterInstaller.php',
122
  'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
123
  'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
124
  'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
129
  public static function getInitializer(ClassLoader $loader)
130
  {
131
  return \Closure::bind(function () use ($loader) {
132
+ $loader->prefixLengthsPsr4 = ComposerStaticInite9d89234d494a7062686cbab29cd187e::$prefixLengthsPsr4;
133
+ $loader->prefixDirsPsr4 = ComposerStaticInite9d89234d494a7062686cbab29cd187e::$prefixDirsPsr4;
134
+ $loader->classMap = ComposerStaticInite9d89234d494a7062686cbab29cd187e::$classMap;
135
 
136
  }, null, ClassLoader::class);
137
  }
vendor/composer/installed.json CHANGED
@@ -1,126 +1,161 @@
1
- [
2
- {
3
- "name": "composer/installers",
4
- "version": "v1.7.0",
5
- "version_normalized": "1.7.0.0",
6
- "source": {
7
- "type": "git",
8
- "url": "https://github.com/composer/installers.git",
9
- "reference": "141b272484481432cda342727a427dc1e206bfa0"
10
- },
11
- "dist": {
12
- "type": "zip",
13
- "url": "https://api.github.com/repos/composer/installers/zipball/141b272484481432cda342727a427dc1e206bfa0",
14
- "reference": "141b272484481432cda342727a427dc1e206bfa0",
15
- "shasum": ""
16
- },
17
- "require": {
18
- "composer-plugin-api": "^1.0"
19
- },
20
- "replace": {
21
- "roundcube/plugin-installer": "*",
22
- "shama/baton": "*"
23
- },
24
- "require-dev": {
25
- "composer/composer": "1.0.*@dev",
26
- "phpunit/phpunit": "^4.8.36"
27
- },
28
- "time": "2019-08-12T15:00:31+00:00",
29
- "type": "composer-plugin",
30
- "extra": {
31
- "class": "Composer\\Installers\\Plugin",
32
- "branch-alias": {
33
- "dev-master": "1.0-dev"
34
- }
35
- },
36
- "installation-source": "dist",
37
- "autoload": {
38
- "psr-4": {
39
- "Composer\\Installers\\": "src/Composer/Installers"
40
- }
41
- },
42
- "notification-url": "https://packagist.org/downloads/",
43
- "license": [
44
- "MIT"
45
- ],
46
- "authors": [
47
- {
48
- "name": "Kyle Robinson Young",
49
- "email": "kyle@dontkry.com",
50
- "homepage": "https://github.com/shama"
51
- }
52
- ],
53
- "description": "A multi-framework Composer library installer",
54
- "homepage": "https://composer.github.io/installers/",
55
- "keywords": [
56
- "Craft",
57
- "Dolibarr",
58
- "Eliasis",
59
- "Hurad",
60
- "ImageCMS",
61
- "Kanboard",
62
- "Lan Management System",
63
- "MODX Evo",
64
- "Mautic",
65
- "Maya",
66
- "OXID",
67
- "Plentymarkets",
68
- "Porto",
69
- "RadPHP",
70
- "SMF",
71
- "Thelia",
72
- "Whmcs",
73
- "WolfCMS",
74
- "agl",
75
- "aimeos",
76
- "annotatecms",
77
- "attogram",
78
- "bitrix",
79
- "cakephp",
80
- "chef",
81
- "cockpit",
82
- "codeigniter",
83
- "concrete5",
84
- "croogo",
85
- "dokuwiki",
86
- "drupal",
87
- "eZ Platform",
88
- "elgg",
89
- "expressionengine",
90
- "fuelphp",
91
- "grav",
92
- "installer",
93
- "itop",
94
- "joomla",
95
- "known",
96
- "kohana",
97
- "laravel",
98
- "lavalite",
99
- "lithium",
100
- "magento",
101
- "majima",
102
- "mako",
103
- "mediawiki",
104
- "modulework",
105
- "modx",
106
- "moodle",
107
- "osclass",
108
- "phpbb",
109
- "piwik",
110
- "ppi",
111
- "puppet",
112
- "pxcms",
113
- "reindex",
114
- "roundcube",
115
- "shopware",
116
- "silverstripe",
117
- "sydes",
118
- "symfony",
119
- "typo3",
120
- "wordpress",
121
- "yawik",
122
- "zend",
123
- "zikula"
124
- ]
125
- }
126
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "packages": [
3
+ {
4
+ "name": "composer/installers",
5
+ "version": "1.x-dev",
6
+ "version_normalized": "1.9999999.9999999.9999999-dev",
7
+ "source": {
8
+ "type": "git",
9
+ "url": "https://github.com/composer/installers.git",
10
+ "reference": "894a0b5c5d34c88b69b097f2aae1439730fa6836"
11
+ },
12
+ "dist": {
13
+ "type": "zip",
14
+ "url": "https://api.github.com/repos/composer/installers/zipball/894a0b5c5d34c88b69b097f2aae1439730fa6836",
15
+ "reference": "894a0b5c5d34c88b69b097f2aae1439730fa6836",
16
+ "shasum": ""
17
+ },
18
+ "require": {
19
+ "composer-plugin-api": "^1.0 || ^2.0"
20
+ },
21
+ "replace": {
22
+ "roundcube/plugin-installer": "*",
23
+ "shama/baton": "*"
24
+ },
25
+ "require-dev": {
26
+ "composer/composer": "1.6.* || ^2.0",
27
+ "composer/semver": "^1 || ^3",
28
+ "phpstan/phpstan": "^0.12.55",
29
+ "phpstan/phpstan-phpunit": "^0.12.16",
30
+ "symfony/phpunit-bridge": "^4.2 || ^5",
31
+ "symfony/process": "^2.3"
32
+ },
33
+ "time": "2022-03-15T21:23:54+00:00",
34
+ "type": "composer-plugin",
35
+ "extra": {
36
+ "class": "Composer\\Installers\\Plugin",
37
+ "branch-alias": {
38
+ "dev-main": "1.x-dev"
39
+ },
40
+ "plugin-modifies-install-path": true
41
+ },
42
+ "installation-source": "dist",
43
+ "autoload": {
44
+ "psr-4": {
45
+ "Composer\\Installers\\": "src/Composer/Installers"
46
+ }
47
+ },
48
+ "notification-url": "https://packagist.org/downloads/",
49
+ "license": [
50
+ "MIT"
51
+ ],
52
+ "authors": [
53
+ {
54
+ "name": "Kyle Robinson Young",
55
+ "email": "kyle@dontkry.com",
56
+ "homepage": "https://github.com/shama"
57
+ }
58
+ ],
59
+ "description": "A multi-framework Composer library installer",
60
+ "homepage": "https://composer.github.io/installers/",
61
+ "keywords": [
62
+ "Craft",
63
+ "Dolibarr",
64
+ "Eliasis",
65
+ "Hurad",
66
+ "ImageCMS",
67
+ "Kanboard",
68
+ "Lan Management System",
69
+ "MODX Evo",
70
+ "MantisBT",
71
+ "Mautic",
72
+ "Maya",
73
+ "OXID",
74
+ "Plentymarkets",
75
+ "Porto",
76
+ "RadPHP",
77
+ "SMF",
78
+ "Starbug",
79
+ "Thelia",
80
+ "Whmcs",
81
+ "WolfCMS",
82
+ "agl",
83
+ "aimeos",
84
+ "annotatecms",
85
+ "attogram",
86
+ "bitrix",
87
+ "cakephp",
88
+ "chef",
89
+ "cockpit",
90
+ "codeigniter",
91
+ "concrete5",
92
+ "croogo",
93
+ "dokuwiki",
94
+ "drupal",
95
+ "eZ Platform",
96
+ "elgg",
97
+ "expressionengine",
98
+ "fuelphp",
99
+ "grav",
100
+ "installer",
101
+ "itop",
102
+ "joomla",
103
+ "known",
104
+ "kohana",
105
+ "laravel",
106
+ "lavalite",
107
+ "lithium",
108
+ "magento",
109
+ "majima",
110
+ "mako",
111
+ "mediawiki",
112
+ "miaoxing",
113
+ "modulework",
114
+ "modx",
115
+ "moodle",
116
+ "osclass",
117
+ "pantheon",
118
+ "phpbb",
119
+ "piwik",
120
+ "ppi",
121
+ "processwire",
122
+ "puppet",
123
+ "pxcms",
124
+ "reindex",
125
+ "roundcube",
126
+ "shopware",
127
+ "silverstripe",
128
+ "sydes",
129
+ "sylius",
130
+ "symfony",
131
+ "tastyigniter",
132
+ "typo3",
133
+ "wordpress",
134
+ "yawik",
135
+ "zend",
136
+ "zikula"
137
+ ],
138
+ "support": {
139
+ "issues": "https://github.com/composer/installers/issues",
140
+ "source": "https://github.com/composer/installers/tree/1.x"
141
+ },
142
+ "funding": [
143
+ {
144
+ "url": "https://packagist.com",
145
+ "type": "custom"
146
+ },
147
+ {
148
+ "url": "https://github.com/composer",
149
+ "type": "github"
150
+ },
151
+ {
152
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
153
+ "type": "tidelift"
154
+ }
155
+ ],
156
+ "install-path": "./installers"
157
+ }
158
+ ],
159
+ "dev": false,
160
+ "dev-package-names": []
161
+ }
vendor/composer/installed.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php return array(
2
+ 'root' => array(
3
+ 'pretty_version' => '1.0.0+no-version-set',
4
+ 'version' => '1.0.0.0',
5
+ 'type' => 'wordpress-plugin',
6
+ 'install_path' => __DIR__ . '/../../',
7
+ 'aliases' => array(),
8
+ 'reference' => NULL,
9
+ 'name' => 'tareq1988/woocommerce-conversion-tracking',
10
+ 'dev' => false,
11
+ ),
12
+ 'versions' => array(
13
+ 'composer/installers' => array(
14
+ 'pretty_version' => '1.x-dev',
15
+ 'version' => '1.9999999.9999999.9999999-dev',
16
+ 'type' => 'composer-plugin',
17
+ 'install_path' => __DIR__ . '/./installers',
18
+ 'aliases' => array(),
19
+ 'reference' => '894a0b5c5d34c88b69b097f2aae1439730fa6836',
20
+ 'dev_requirement' => false,
21
+ ),
22
+ 'roundcube/plugin-installer' => array(
23
+ 'dev_requirement' => false,
24
+ 'replaced' => array(
25
+ 0 => '*',
26
+ ),
27
+ ),
28
+ 'shama/baton' => array(
29
+ 'dev_requirement' => false,
30
+ 'replaced' => array(
31
+ 0 => '*',
32
+ ),
33
+ ),
34
+ 'tareq1988/woocommerce-conversion-tracking' => array(
35
+ 'pretty_version' => '1.0.0+no-version-set',
36
+ 'version' => '1.0.0.0',
37
+ 'type' => 'wordpress-plugin',
38
+ 'install_path' => __DIR__ . '/../../',
39
+ 'aliases' => array(),
40
+ 'reference' => NULL,
41
+ 'dev_requirement' => false,
42
+ ),
43
+ ),
44
+ );
vendor/composer/installers/.github/workflows/continuous-integration.yml ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: "Continuous Integration"
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ env:
8
+ COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
9
+ SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT: "1"
10
+
11
+ jobs:
12
+ tests:
13
+ name: "CI"
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ strategy:
18
+ matrix:
19
+ php-version:
20
+ - "5.3"
21
+ - "5.4"
22
+ - "5.5"
23
+ - "5.6"
24
+ - "7.0"
25
+ - "7.1"
26
+ - "7.2"
27
+ - "7.3"
28
+ - "7.4"
29
+ - "8.0"
30
+ - "8.1"
31
+ dependencies: [locked]
32
+ include:
33
+ - php-version: "5.3"
34
+ dependencies: lowest
35
+ - php-version: "8.1"
36
+ dependencies: lowest
37
+
38
+ steps:
39
+ - name: "Checkout"
40
+ uses: "actions/checkout@v2"
41
+
42
+ - name: "Install PHP"
43
+ uses: "shivammathur/setup-php@v2"
44
+ with:
45
+ coverage: "none"
46
+ php-version: "${{ matrix.php-version }}"
47
+ tools: composer:snapshot
48
+
49
+ - name: Get composer cache directory
50
+ id: composercache
51
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
52
+
53
+ - name: Cache dependencies
54
+ uses: actions/cache@v2
55
+ with:
56
+ path: ${{ steps.composercache.outputs.dir }}
57
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
58
+ restore-keys: ${{ runner.os }}-composer-
59
+
60
+ - name: "Handle lowest dependencies update"
61
+ if: "contains(matrix.dependencies, 'lowest')"
62
+ run: "echo \"COMPOSER_FLAGS=$COMPOSER_FLAGS --prefer-lowest\" >> $GITHUB_ENV"
63
+
64
+ - name: "Upgrade phpunit-bridge if needed for php 8 lowest build"
65
+ if: "contains(matrix.php-version, '8.')"
66
+ run: |
67
+ composer require symfony/phpunit-bridge:^5.3.3 --dev --no-update
68
+
69
+ - name: "Install latest dependencies"
70
+ run: |
71
+ # Remove PHPStan as it requires a newer PHP
72
+ composer remove phpstan/phpstan phpstan/phpstan-phpunit --dev --no-update
73
+ composer update ${{ env.COMPOSER_FLAGS }}
74
+
75
+ - name: "Run tests"
76
+ run: "vendor/bin/simple-phpunit --verbose"
vendor/composer/installers/.github/workflows/lint.yml ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: "PHP Lint"
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ jobs:
8
+ tests:
9
+ name: "Lint"
10
+
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ php-version:
16
+ - "5.3"
17
+ - "8.0"
18
+
19
+ steps:
20
+ - name: "Checkout"
21
+ uses: "actions/checkout@v2"
22
+
23
+ - name: "Install PHP"
24
+ uses: "shivammathur/setup-php@v2"
25
+ with:
26
+ coverage: "none"
27
+ php-version: "${{ matrix.php-version }}"
28
+
29
+ - name: "Lint PHP files"
30
+ run: "find src/ -type f -name '*.php' -print0 | xargs -0 -L1 -P4 -- php -l -f"
vendor/composer/installers/.github/workflows/phpstan.yml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: "PHPStan"
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ env:
8
+ COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
9
+ SYMFONY_PHPUNIT_VERSION: ""
10
+
11
+ jobs:
12
+ tests:
13
+ name: "PHPStan"
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ strategy:
18
+ matrix:
19
+ php-version:
20
+ # pinned to 7.4 because we need PHPUnit 7.5 which does not support PHP 8
21
+ - "7.4"
22
+
23
+ steps:
24
+ - name: "Checkout"
25
+ uses: "actions/checkout@v2"
26
+
27
+ - name: "Install PHP"
28
+ uses: "shivammathur/setup-php@v2"
29
+ with:
30
+ coverage: "none"
31
+ php-version: "${{ matrix.php-version }}"
32
+
33
+ - name: Get composer cache directory
34
+ id: composercache
35
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
36
+
37
+ - name: Cache dependencies
38
+ uses: actions/cache@v2
39
+ with:
40
+ path: ${{ steps.composercache.outputs.dir }}
41
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
42
+ restore-keys: ${{ runner.os }}-composer-
43
+
44
+ - name: "Install latest dependencies"
45
+ run: "composer update ${{ env.COMPOSER_FLAGS }}"
46
+
47
+ - name: Run PHPStan
48
+ # Locked to phpunit 7.5 here as newer ones have void return types which break inheritance
49
+ run: |
50
+ composer require --dev phpunit/phpunit:^7.5.20 --with-all-dependencies ${{ env.COMPOSER_FLAGS }}
51
+ vendor/bin/phpstan analyse
vendor/composer/installers/composer.json CHANGED
@@ -31,7 +31,7 @@
31
  "iTop",
32
  "Joomla",
33
  "Kanboard",
34
- "Known",
35
  "Kohana",
36
  "Lan Management System",
37
  "Laravel",
@@ -40,15 +40,18 @@
40
  "Magento",
41
  "majima",
42
  "Mako",
 
43
  "Mautic",
44
  "Maya",
45
  "MODX",
46
  "MODX Evo",
47
  "MediaWiki",
 
48
  "OXID",
49
  "osclass",
50
  "MODULEWork",
51
  "Moodle",
 
52
  "Piwik",
53
  "pxcms",
54
  "phpBB",
@@ -56,14 +59,18 @@
56
  "PPI",
57
  "Puppet",
58
  "Porto",
 
59
  "RadPHP",
60
  "ReIndex",
61
  "Roundcube",
62
  "shopware",
63
  "SilverStripe",
64
  "SMF",
 
65
  "SyDES",
 
66
  "symfony",
 
67
  "Thelia",
68
  "TYPO3",
69
  "WHMCS",
@@ -84,24 +91,33 @@
84
  "autoload": {
85
  "psr-4": { "Composer\\Installers\\": "src/Composer/Installers" }
86
  },
 
 
 
87
  "extra": {
88
  "class": "Composer\\Installers\\Plugin",
89
  "branch-alias": {
90
- "dev-master": "1.0-dev"
91
- }
 
92
  },
93
  "replace": {
94
  "shama/baton": "*",
95
  "roundcube/plugin-installer": "*"
96
  },
97
  "require": {
98
- "composer-plugin-api": "^1.0"
99
  },
100
  "require-dev": {
101
- "composer/composer": "1.0.*@dev",
102
- "phpunit/phpunit": "^4.8.36"
 
 
 
 
103
  },
104
  "scripts": {
105
- "test": "phpunit"
 
106
  }
107
  }
31
  "iTop",
32
  "Joomla",
33
  "Kanboard",
34
+ "Known",
35
  "Kohana",
36
  "Lan Management System",
37
  "Laravel",
40
  "Magento",
41
  "majima",
42
  "Mako",
43
+ "MantisBT",
44
  "Mautic",
45
  "Maya",
46
  "MODX",
47
  "MODX Evo",
48
  "MediaWiki",
49
+ "Miaoxing",
50
  "OXID",
51
  "osclass",
52
  "MODULEWork",
53
  "Moodle",
54
+ "Pantheon",
55
  "Piwik",
56
  "pxcms",
57
  "phpBB",
59
  "PPI",
60
  "Puppet",
61
  "Porto",
62
+ "ProcessWire",
63
  "RadPHP",
64
  "ReIndex",
65
  "Roundcube",
66
  "shopware",
67
  "SilverStripe",
68
  "SMF",
69
+ "Starbug",
70
  "SyDES",
71
+ "Sylius",
72
  "symfony",
73
+ "TastyIgniter",
74
  "Thelia",
75
  "TYPO3",
76
  "WHMCS",
91
  "autoload": {
92
  "psr-4": { "Composer\\Installers\\": "src/Composer/Installers" }
93
  },
94
+ "autoload-dev": {
95
+ "psr-4": { "Composer\\Installers\\Test\\": "tests/Composer/Installers/Test" }
96
+ },
97
  "extra": {
98
  "class": "Composer\\Installers\\Plugin",
99
  "branch-alias": {
100
+ "dev-main": "1.x-dev"
101
+ },
102
+ "plugin-modifies-install-path": true
103
  },
104
  "replace": {
105
  "shama/baton": "*",
106
  "roundcube/plugin-installer": "*"
107
  },
108
  "require": {
109
+ "composer-plugin-api": "^1.0 || ^2.0"
110
  },
111
  "require-dev": {
112
+ "composer/composer": "1.6.* || ^2.0",
113
+ "composer/semver": "^1 || ^3",
114
+ "symfony/phpunit-bridge": "^4.2 || ^5",
115
+ "phpstan/phpstan": "^0.12.55",
116
+ "symfony/process": "^2.3",
117
+ "phpstan/phpstan-phpunit": "^0.12.16"
118
  },
119
  "scripts": {
120
+ "test": "SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT=1 vendor/bin/simple-phpunit",
121
+ "phpstan": "vendor/bin/phpstan analyse"
122
  }
123
  }
vendor/composer/installers/phpstan.neon.dist ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ parameters:
2
+ level: 5
3
+ paths:
4
+ - src
5
+ - tests
6
+ excludes_analyse:
7
+ - tests/Composer/Installers/Test/PolyfillTestCase.php
8
+
9
+ includes:
10
+ - vendor/phpstan/phpstan-phpunit/extension.neon
vendor/composer/installers/src/Composer/Installers/BaseInstaller.php CHANGED
@@ -74,8 +74,8 @@ abstract class BaseInstaller
74
  /**
75
  * For an installer to override to modify the vars per installer.
76
  *
77
- * @param array $vars
78
- * @return array
79
  */
80
  public function inflectPackageVars($vars)
81
  {
@@ -85,7 +85,7 @@ abstract class BaseInstaller
85
  /**
86
  * Gets the installer's locations
87
  *
88
- * @return array
89
  */
90
  public function getLocations()
91
  {
@@ -95,8 +95,8 @@ abstract class BaseInstaller
95
  /**
96
  * Replace vars in a path
97
  *
98
- * @param string $path
99
- * @param array $vars
100
  * @return string
101
  */
102
  protected function templatePath($path, array $vars = array())
@@ -121,11 +121,12 @@ abstract class BaseInstaller
121
  * @param string $name
122
  * @param string $type
123
  * @param string $vendor = NULL
124
- * @return string
125
  */
126
  protected function mapCustomInstallPaths(array $paths, $name, $type, $vendor = NULL)
127
  {
128
  foreach ($paths as $path => $names) {
 
129
  if (in_array($name, $names) || in_array('type:' . $type, $names) || in_array('vendor:' . $vendor, $names)) {
130
  return $path;
131
  }
74
  /**
75
  * For an installer to override to modify the vars per installer.
76
  *
77
+ * @param array<string, string> $vars This will normally receive array{name: string, vendor: string, type: string}
78
+ * @return array<string, string>
79
  */
80
  public function inflectPackageVars($vars)
81
  {
85
  /**
86
  * Gets the installer's locations
87
  *
88
+ * @return array<string, string> map of package types => install path
89
  */
90
  public function getLocations()
91
  {
95
  /**
96
  * Replace vars in a path
97
  *
98
+ * @param string $path
99
+ * @param array<string, string> $vars
100
  * @return string
101
  */
102
  protected function templatePath($path, array $vars = array())
121
  * @param string $name
122
  * @param string $type
123
  * @param string $vendor = NULL
124
+ * @return string|false
125
  */
126
  protected function mapCustomInstallPaths(array $paths, $name, $type, $vendor = NULL)
127
  {
128
  foreach ($paths as $path => $names) {
129
+ $names = (array) $names;
130
  if (in_array($name, $names) || in_array('type:' . $type, $names) || in_array('vendor:' . $vendor, $names)) {
131
  return $path;
132
  }
vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php CHANGED
@@ -2,6 +2,7 @@
2
  namespace Composer\Installers;
3
 
4
  use Composer\DependencyResolver\Pool;
 
5
 
6
  class CakePHPInstaller extends BaseInstaller
7
  {
@@ -46,37 +47,20 @@ class CakePHPInstaller extends BaseInstaller
46
  * @param string $matcher
47
  * @param string $version
48
  * @return bool
 
49
  */
50
  protected function matchesCakeVersion($matcher, $version)
51
  {
52
- if (class_exists('Composer\Semver\Constraint\MultiConstraint')) {
53
- $multiClass = 'Composer\Semver\Constraint\MultiConstraint';
54
- $constraintClass = 'Composer\Semver\Constraint\Constraint';
55
- } else {
56
- $multiClass = 'Composer\Package\LinkConstraint\MultiConstraint';
57
- $constraintClass = 'Composer\Package\LinkConstraint\VersionConstraint';
58
  }
59
 
60
- $repositoryManager = $this->composer->getRepositoryManager();
61
- if ($repositoryManager) {
62
- $repos = $repositoryManager->getLocalRepository();
63
- if (!$repos) {
64
- return false;
65
- }
66
- $cake3 = new $multiClass(array(
67
- new $constraintClass($matcher, $version),
68
- new $constraintClass('!=', '9999999-dev'),
69
- ));
70
- $pool = new Pool('dev');
71
- $pool->addRepository($repos);
72
- $packages = $pool->whatProvides('cakephp/cakephp');
73
- foreach ($packages as $package) {
74
- $installed = new $constraintClass('=', $package->getVersion());
75
- if ($cake3->matches($installed)) {
76
- return true;
77
- }
78
- }
79
  }
80
- return false;
 
81
  }
82
  }
2
  namespace Composer\Installers;
3
 
4
  use Composer\DependencyResolver\Pool;
5
+ use Composer\Semver\Constraint\Constraint;
6
 
7
  class CakePHPInstaller extends BaseInstaller
8
  {
47
  * @param string $matcher
48
  * @param string $version
49
  * @return bool
50
+ * @phpstan-param Constraint::STR_OP_* $matcher
51
  */
52
  protected function matchesCakeVersion($matcher, $version)
53
  {
54
+ $repositoryManager = $this->composer->getRepositoryManager();
55
+ if (! $repositoryManager) {
56
+ return false;
 
 
 
57
  }
58
 
59
+ $repos = $repositoryManager->getLocalRepository();
60
+ if (!$repos) {
61
+ return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  }
63
+
64
+ return $repos->findPackage('cakephp/cakephp', new Constraint($matcher, $version)) !== null;
65
  }
66
  }
vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php CHANGED
@@ -12,9 +12,7 @@ class CockpitInstaller extends BaseInstaller
12
  *
13
  * Strip `module-` prefix from package name.
14
  *
15
- * @param array @vars
16
- *
17
- * @return array
18
  */
19
  public function inflectPackageVars($vars)
20
  {
12
  *
13
  * Strip `module-` prefix from package name.
14
  *
15
+ * {@inheritDoc}
 
 
16
  */
17
  public function inflectPackageVars($vars)
18
  {
vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php CHANGED
@@ -9,12 +9,14 @@ class DrupalInstaller extends BaseInstaller
9
  'theme' => 'themes/{$name}/',
10
  'library' => 'libraries/{$name}/',
11
  'profile' => 'profiles/{$name}/',
 
12
  'drush' => 'drush/{$name}/',
13
  'custom-theme' => 'themes/custom/{$name}/',
14
  'custom-module' => 'modules/custom/{$name}/',
15
  'custom-profile' => 'profiles/custom/{$name}/',
16
  'drupal-multisite' => 'sites/{$name}/',
17
- 'console' => 'console/{$name}/',
18
  'console-language' => 'console/language/{$name}/',
 
19
  );
20
  }
9
  'theme' => 'themes/{$name}/',
10
  'library' => 'libraries/{$name}/',
11
  'profile' => 'profiles/{$name}/',
12
+ 'database-driver' => 'drivers/lib/Drupal/Driver/Database/{$name}/',
13
  'drush' => 'drush/{$name}/',
14
  'custom-theme' => 'themes/custom/{$name}/',
15
  'custom-module' => 'modules/custom/{$name}/',
16
  'custom-profile' => 'profiles/custom/{$name}/',
17
  'drupal-multisite' => 'sites/{$name}/',
18
+ 'console' => 'console/{$name}/',
19
  'console-language' => 'console/language/{$name}/',
20
+ 'config' => 'config/sync/',
21
  );
22
  }
vendor/composer/installers/src/Composer/Installers/Installer.php CHANGED
@@ -9,6 +9,7 @@ use Composer\IO\IOInterface;
9
  use Composer\Package\PackageInterface;
10
  use Composer\Repository\InstalledRepositoryInterface;
11
  use Composer\Util\Filesystem;
 
12
 
13
  class Installer extends LibraryInstaller
14
  {
@@ -49,6 +50,7 @@ class Installer extends LibraryInstaller
49
  'fuelphp' => 'FuelphpInstaller',
50
  'grav' => 'GravInstaller',
51
  'hurad' => 'HuradInstaller',
 
52
  'imagecms' => 'ImageCMSInstaller',
53
  'itop' => 'ItopInstaller',
54
  'joomla' => 'JoomlaInstaller',
@@ -63,10 +65,12 @@ class Installer extends LibraryInstaller
63
  'lithium' => 'LithiumInstaller',
64
  'magento' => 'MagentoInstaller',
65
  'majima' => 'MajimaInstaller',
 
66
  'mako' => 'MakoInstaller',
67
  'maya' => 'MayaInstaller',
68
  'mautic' => 'MauticInstaller',
69
  'mediawiki' => 'MediaWikiInstaller',
 
70
  'microweber' => 'MicroweberInstaller',
71
  'modulework' => 'MODULEWorkInstaller',
72
  'modx' => 'ModxInstaller',
@@ -75,7 +79,7 @@ class Installer extends LibraryInstaller
75
  'october' => 'OctoberInstaller',
76
  'ontowiki' => 'OntoWikiInstaller',
77
  'oxid' => 'OxidInstaller',
78
- 'osclass' => 'OsclassInstaller',
79
  'pxcms' => 'PxcmsInstaller',
80
  'phpbb' => 'PhpBBInstaller',
81
  'pimcore' => 'PimcoreInstaller',
@@ -86,6 +90,8 @@ class Installer extends LibraryInstaller
86
  'radphp' => 'RadPHPInstaller',
87
  'phifty' => 'PhiftyInstaller',
88
  'porto' => 'PortoInstaller',
 
 
89
  'redaxo' => 'RedaxoInstaller',
90
  'redaxo5' => 'Redaxo5Installer',
91
  'reindex' => 'ReIndexInstaller',
@@ -94,7 +100,9 @@ class Installer extends LibraryInstaller
94
  'sitedirect' => 'SiteDirectInstaller',
95
  'silverstripe' => 'SilverStripeInstaller',
96
  'smf' => 'SMFInstaller',
 
97
  'sydes' => 'SyDESInstaller',
 
98
  'symfony1' => 'Symfony1Installer',
99
  'tao' => 'TaoInstaller',
100
  'thelia' => 'TheliaInstaller',
@@ -104,6 +112,7 @@ class Installer extends LibraryInstaller
104
  'userfrosting' => 'UserFrostingInstaller',
105
  'vanilla' => 'VanillaInstaller',
106
  'whmcs' => 'WHMCSInstaller',
 
107
  'wolfcms' => 'WolfCMSInstaller',
108
  'wordpress' => 'WordPressInstaller',
109
  'yawik' => 'YawikInstaller',
@@ -158,9 +167,23 @@ class Installer extends LibraryInstaller
158
 
159
  public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
160
  {
161
- parent::uninstall($repo, $package);
162
  $installPath = $this->getPackageBasePath($package);
163
- $this->io->write(sprintf('Deleting %s - %s', $installPath, !file_exists($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  }
165
 
166
  /**
@@ -182,23 +205,20 @@ class Installer extends LibraryInstaller
182
  /**
183
  * Finds a supported framework type if it exists and returns it
184
  *
185
- * @param string $type
186
- * @return string
187
  */
188
  protected function findFrameworkType($type)
189
  {
190
- $frameworkType = false;
191
-
192
  krsort($this->supportedTypes);
193
 
194
  foreach ($this->supportedTypes as $key => $val) {
195
  if ($key === substr($type, 0, strlen($key))) {
196
- $frameworkType = substr($type, 0, strlen($key));
197
- break;
198
  }
199
  }
200
 
201
- return $frameworkType;
202
  }
203
 
204
  /**
9
  use Composer\Package\PackageInterface;
10
  use Composer\Repository\InstalledRepositoryInterface;
11
  use Composer\Util\Filesystem;
12
+ use React\Promise\PromiseInterface;
13
 
14
  class Installer extends LibraryInstaller
15
  {
50
  'fuelphp' => 'FuelphpInstaller',
51
  'grav' => 'GravInstaller',
52
  'hurad' => 'HuradInstaller',
53
+ 'tastyigniter' => 'TastyIgniterInstaller',
54
  'imagecms' => 'ImageCMSInstaller',
55
  'itop' => 'ItopInstaller',
56
  'joomla' => 'JoomlaInstaller',
65
  'lithium' => 'LithiumInstaller',
66
  'magento' => 'MagentoInstaller',
67
  'majima' => 'MajimaInstaller',
68
+ 'mantisbt' => 'MantisBTInstaller',
69
  'mako' => 'MakoInstaller',
70
  'maya' => 'MayaInstaller',
71
  'mautic' => 'MauticInstaller',
72
  'mediawiki' => 'MediaWikiInstaller',
73
+ 'miaoxing' => 'MiaoxingInstaller',
74
  'microweber' => 'MicroweberInstaller',
75
  'modulework' => 'MODULEWorkInstaller',
76
  'modx' => 'ModxInstaller',
79
  'october' => 'OctoberInstaller',
80
  'ontowiki' => 'OntoWikiInstaller',
81
  'oxid' => 'OxidInstaller',
82
+ 'osclass' => 'OsclassInstaller',
83
  'pxcms' => 'PxcmsInstaller',
84
  'phpbb' => 'PhpBBInstaller',
85
  'pimcore' => 'PimcoreInstaller',
90
  'radphp' => 'RadPHPInstaller',
91
  'phifty' => 'PhiftyInstaller',
92
  'porto' => 'PortoInstaller',
93
+ 'processwire' => 'ProcessWireInstaller',
94
+ 'quicksilver' => 'PantheonInstaller',
95
  'redaxo' => 'RedaxoInstaller',
96
  'redaxo5' => 'Redaxo5Installer',
97
  'reindex' => 'ReIndexInstaller',
100
  'sitedirect' => 'SiteDirectInstaller',
101
  'silverstripe' => 'SilverStripeInstaller',
102
  'smf' => 'SMFInstaller',
103
+ 'starbug' => 'StarbugInstaller',
104
  'sydes' => 'SyDESInstaller',
105
+ 'sylius' => 'SyliusInstaller',
106
  'symfony1' => 'Symfony1Installer',
107
  'tao' => 'TaoInstaller',
108
  'thelia' => 'TheliaInstaller',
112
  'userfrosting' => 'UserFrostingInstaller',
113
  'vanilla' => 'VanillaInstaller',
114
  'whmcs' => 'WHMCSInstaller',
115
+ 'winter' => 'WinterInstaller',
116
  'wolfcms' => 'WolfCMSInstaller',
117
  'wordpress' => 'WordPressInstaller',
118
  'yawik' => 'YawikInstaller',
167
 
168
  public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
169
  {
 
170
  $installPath = $this->getPackageBasePath($package);
171
+ $io = $this->io;
172
+ $outputStatus = function () use ($io, $installPath) {
173
+ $io->write(sprintf('Deleting %s - %s', $installPath, !file_exists($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
174
+ };
175
+
176
+ $promise = parent::uninstall($repo, $package);
177
+
178
+ // Composer v2 might return a promise here
179
+ if ($promise instanceof PromiseInterface) {
180
+ return $promise->then($outputStatus);
181
+ }
182
+
183
+ // If not, execute the code right away as parent::uninstall executed synchronously (composer v1, or v2 without async)
184
+ $outputStatus();
185
+
186
+ return null;
187
  }
188
 
189
  /**
205
  /**
206
  * Finds a supported framework type if it exists and returns it
207
  *
208
+ * @param string $type
209
+ * @return string|false
210
  */
211
  protected function findFrameworkType($type)
212
  {
 
 
213
  krsort($this->supportedTypes);
214
 
215
  foreach ($this->supportedTypes as $key => $val) {
216
  if ($key === substr($type, 0, strlen($key))) {
217
+ return substr($type, 0, strlen($key));
 
218
  }
219
  }
220
 
221
+ return false;
222
  }
223
 
224
  /**
vendor/composer/installers/src/Composer/Installers/MantisBTInstaller.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Composer\Installers;
3
+
4
+ use Composer\DependencyResolver\Pool;
5
+
6
+ class MantisBTInstaller extends BaseInstaller
7
+ {
8
+ protected $locations = array(
9
+ 'plugin' => 'plugins/{$name}/',
10
+ );
11
+
12
+ /**
13
+ * Format package name to CamelCase
14
+ */
15
+ public function inflectPackageVars($vars)
16
+ {
17
+ $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
18
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
19
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
20
+
21
+ return $vars;
22
+ }
23
+ }
vendor/composer/installers/src/Composer/Installers/MauticInstaller.php CHANGED
@@ -1,22 +1,45 @@
1
  <?php
2
  namespace Composer\Installers;
3
 
 
 
4
  class MauticInstaller extends BaseInstaller
5
  {
6
  protected $locations = array(
7
- 'plugin' => 'plugins/{$name}/',
8
- 'theme' => 'themes/{$name}/',
 
9
  );
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  /**
12
  * Format package name of mautic-plugins to CamelCase
13
  */
14
  public function inflectPackageVars($vars)
15
  {
16
- if ($vars['type'] == 'mautic-plugin') {
17
- $vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
18
- return strtoupper($matches[0][1]);
19
- }, ucfirst($vars['name']));
20
  }
21
 
22
  return $vars;
1
  <?php
2
  namespace Composer\Installers;
3
 
4
+ use Composer\Package\PackageInterface;
5
+
6
  class MauticInstaller extends BaseInstaller
7
  {
8
  protected $locations = array(
9
+ 'plugin' => 'plugins/{$name}/',
10
+ 'theme' => 'themes/{$name}/',
11
+ 'core' => 'app/',
12
  );
13
 
14
+ private function getDirectoryName()
15
+ {
16
+ $extra = $this->package->getExtra();
17
+ if (!empty($extra['install-directory-name'])) {
18
+ return $extra['install-directory-name'];
19
+ }
20
+
21
+ return $this->toCamelCase($this->package->getPrettyName());
22
+ }
23
+
24
+ /**
25
+ * @param string $packageName
26
+ *
27
+ * @return string
28
+ */
29
+ private function toCamelCase($packageName)
30
+ {
31
+ return str_replace(' ', '', ucwords(str_replace('-', ' ', basename($packageName))));
32
+ }
33
+
34
  /**
35
  * Format package name of mautic-plugins to CamelCase
36
  */
37
  public function inflectPackageVars($vars)
38
  {
39
+
40
+ if ($vars['type'] == 'mautic-plugin' || $vars['type'] == 'mautic-theme') {
41
+ $directoryName = $this->getDirectoryName();
42
+ $vars['name'] = $directoryName;
43
  }
44
 
45
  return $vars;
vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class MiaoxingInstaller extends BaseInstaller
6
+ {
7
+ protected $locations = array(
8
+ 'plugin' => 'plugins/{$name}/',
9
+ );
10
+ }
vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php CHANGED
@@ -18,6 +18,7 @@ class MoodleInstaller extends BaseInstaller
18
  'cachestore' => 'cache/stores/{$name}/',
19
  'cachelock' => 'cache/locks/{$name}/',
20
  'calendartype' => 'calendar/type/{$name}/',
 
21
  'format' => 'course/format/{$name}/',
22
  'coursereport' => 'course/report/{$name}/',
23
  'customcertelement' => 'mod/customcert/element/{$name}/',
18
  'cachestore' => 'cache/stores/{$name}/',
19
  'cachelock' => 'cache/locks/{$name}/',
20
  'calendartype' => 'calendar/type/{$name}/',
21
+ 'fileconverter' => 'files/converter/{$name}/',
22
  'format' => 'course/format/{$name}/',
23
  'coursereport' => 'course/report/{$name}/',
24
  'customcertelement' => 'mod/customcert/element/{$name}/',
vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php CHANGED
@@ -6,7 +6,7 @@ class OctoberInstaller extends BaseInstaller
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  'plugin' => 'plugins/{$vendor}/{$name}/',
9
- 'theme' => 'themes/{$name}/'
10
  );
11
 
12
  /**
@@ -41,6 +41,7 @@ class OctoberInstaller extends BaseInstaller
41
  protected function inflectThemeVars($vars)
42
  {
43
  $vars['name'] = preg_replace('/^oc-|-theme$/', '', $vars['name']);
 
44
 
45
  return $vars;
46
  }
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  'plugin' => 'plugins/{$vendor}/{$name}/',
9
+ 'theme' => 'themes/{$vendor}-{$name}/'
10
  );
11
 
12
  /**
41
  protected function inflectThemeVars($vars)
42
  {
43
  $vars['name'] = preg_replace('/^oc-|-theme$/', '', $vars['name']);
44
+ $vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
45
 
46
  return $vars;
47
  }
vendor/composer/installers/src/Composer/Installers/OxidInstaller.php CHANGED
@@ -18,7 +18,7 @@ class OxidInstaller extends BaseInstaller
18
  *
19
  * @param PackageInterface $package
20
  * @param string $frameworkType
21
- * @return void
22
  */
23
  public function getInstallPath(PackageInterface $package, $frameworkType = '')
24
  {
18
  *
19
  * @param PackageInterface $package
20
  * @param string $frameworkType
21
+ * @return string
22
  */
23
  public function getInstallPath(PackageInterface $package, $frameworkType = '')
24
  {
vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class PantheonInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'script' => 'web/private/scripts/quicksilver/{$name}',
10
+ 'module' => 'web/private/scripts/quicksilver/{$name}',
11
+ );
12
+ }
vendor/composer/installers/src/Composer/Installers/Plugin.php CHANGED
@@ -8,10 +8,20 @@ use Composer\Plugin\PluginInterface;
8
 
9
  class Plugin implements PluginInterface
10
  {
 
11
 
12
  public function activate(Composer $composer, IOInterface $io)
13
  {
14
- $installer = new Installer($io, $composer);
15
- $composer->getInstallationManager()->addInstaller($installer);
 
 
 
 
 
 
 
 
 
16
  }
17
  }
8
 
9
  class Plugin implements PluginInterface
10
  {
11
+ private $installer;
12
 
13
  public function activate(Composer $composer, IOInterface $io)
14
  {
15
+ $this->installer = new Installer($io, $composer);
16
+ $composer->getInstallationManager()->addInstaller($this->installer);
17
+ }
18
+
19
+ public function deactivate(Composer $composer, IOInterface $io)
20
+ {
21
+ $composer->getInstallationManager()->removeInstaller($this->installer);
22
+ }
23
+
24
+ public function uninstall(Composer $composer, IOInterface $io)
25
+ {
26
  }
27
  }
vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class ProcessWireInstaller extends BaseInstaller
6
+ {
7
+ protected $locations = array(
8
+ 'module' => 'site/modules/{$name}/',
9
+ );
10
+
11
+ /**
12
+ * Format package name to CamelCase
13
+ */
14
+ public function inflectPackageVars($vars)
15
+ {
16
+ $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
17
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
18
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
19
+
20
+ return $vars;
21
+ }
22
+ }
vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Composer\Installers;
3
+
4
+ class StarbugInstaller extends BaseInstaller
5
+ {
6
+ protected $locations = array(
7
+ 'module' => 'modules/{$name}/',
8
+ 'theme' => 'themes/{$name}/',
9
+ 'custom-module' => 'app/modules/{$name}/',
10
+ 'custom-theme' => 'app/themes/{$name}/'
11
+ );
12
+ }
vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php CHANGED
@@ -13,9 +13,7 @@ class SyDESInstaller extends BaseInstaller
13
  *
14
  * Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present.
15
  *
16
- * @param array @vars
17
- *
18
- * @return array
19
  */
20
  public function inflectPackageVars($vars)
21
  {
13
  *
14
  * Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present.
15
  *
16
+ * {@inerhitDoc}
 
 
17
  */
18
  public function inflectPackageVars($vars)
19
  {
vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Composer\Installers;
3
+
4
+ class SyliusInstaller extends BaseInstaller
5
+ {
6
+ protected $locations = array(
7
+ 'theme' => 'themes/{$name}/',
8
+ );
9
+ }
vendor/composer/installers/src/Composer/Installers/TaoInstaller.php CHANGED
@@ -6,7 +6,25 @@ namespace Composer\Installers;
6
  */
7
  class TaoInstaller extends BaseInstaller
8
  {
 
 
9
  protected $locations = array(
10
  'extension' => '{$name}'
11
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  }
6
  */
7
  class TaoInstaller extends BaseInstaller
8
  {
9
+ const EXTRA_TAO_EXTENSION_NAME = 'tao-extension-name';
10
+
11
  protected $locations = array(
12
  'extension' => '{$name}'
13
  );
14
+
15
+ public function inflectPackageVars($vars)
16
+ {
17
+ $extra = $this->package->getExtra();
18
+
19
+ if (array_key_exists(self::EXTRA_TAO_EXTENSION_NAME, $extra)) {
20
+ $vars['name'] = $extra[self::EXTRA_TAO_EXTENSION_NAME];
21
+ return $vars;
22
+ }
23
+
24
+ $vars['name'] = str_replace('extension-', '', $vars['name']);
25
+ $vars['name'] = str_replace('-', ' ', $vars['name']);
26
+ $vars['name'] = lcfirst(str_replace(' ', '', ucwords($vars['name'])));
27
+
28
+ return $vars;
29
+ }
30
  }
vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class TastyIgniterInstaller extends BaseInstaller
6
+ {
7
+ protected $locations = array(
8
+ 'extension' => 'extensions/{$vendor}/{$name}/',
9
+ 'theme' => 'themes/{$name}/',
10
+ );
11
+
12
+ /**
13
+ * Format package name.
14
+ *
15
+ * Cut off leading 'ti-ext-' or 'ti-theme-' if present.
16
+ * Strip vendor name of characters that is not alphanumeric or an underscore
17
+ *
18
+ */
19
+ public function inflectPackageVars($vars)
20
+ {
21
+ if ($vars['type'] === 'tastyigniter-extension') {
22
+ $vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
23
+ $vars['name'] = preg_replace('/^ti-ext-/', '', $vars['name']);
24
+ }
25
+
26
+ if ($vars['type'] === 'tastyigniter-theme') {
27
+ $vars['name'] = preg_replace('/^ti-theme-/', '', $vars['name']);
28
+ }
29
+
30
+ return $vars;
31
+ }
32
+ }
vendor/composer/installers/src/Composer/Installers/WinterInstaller.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Composer\Installers;
3
+
4
+ class WinterInstaller extends BaseInstaller
5
+ {
6
+ protected $locations = array(
7
+ 'module' => 'modules/{$name}/',
8
+ 'plugin' => 'plugins/{$vendor}/{$name}/',
9
+ 'theme' => 'themes/{$name}/'
10
+ );
11
+
12
+ /**
13
+ * Format package name.
14
+ *
15
+ * For package type winter-plugin, cut off a trailing '-plugin' if present.
16
+ *
17
+ * For package type winter-theme, cut off a trailing '-theme' if present.
18
+ *
19
+ */
20
+ public function inflectPackageVars($vars)
21
+ {
22
+ if ($vars['type'] === 'winter-module') {
23
+ return $this->inflectModuleVars($vars);
24
+ }
25
+
26
+ if ($vars['type'] === 'winter-plugin') {
27
+ return $this->inflectPluginVars($vars);
28
+ }
29
+
30
+ if ($vars['type'] === 'winter-theme') {
31
+ return $this->inflectThemeVars($vars);
32
+ }
33
+
34
+ return $vars;
35
+ }
36
+
37
+ protected function inflectModuleVars($vars)
38
+ {
39
+ $vars['name'] = preg_replace('/^wn-|-module$/', '', $vars['name']);
40
+
41
+ return $vars;
42
+ }
43
+
44
+ protected function inflectPluginVars($vars)
45
+ {
46
+ $vars['name'] = preg_replace('/^wn-|-plugin$/', '', $vars['name']);
47
+ $vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']);
48
+
49
+ return $vars;
50
+ }
51
+
52
+ protected function inflectThemeVars($vars)
53
+ {
54
+ $vars['name'] = preg_replace('/^wn-|-theme$/', '', $vars['name']);
55
+
56
+ return $vars;
57
+ }
58
+ }
vendor/composer/platform_check.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // platform_check.php @generated by Composer
4
+
5
+ $issues = array();
6
+
7
+ if (!(PHP_VERSION_ID >= 70000)) {
8
+ $issues[] = 'Your Composer dependencies require a PHP version ">= 7.0.0". You are running ' . PHP_VERSION . '.';
9
+ }
10
+
11
+ if ($issues) {
12
+ if (!headers_sent()) {
13
+ header('HTTP/1.1 500 Internal Server Error');
14
+ }
15
+ if (!ini_get('display_errors')) {
16
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
17
+ fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
18
+ } elseif (!headers_sent()) {
19
+ echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
20
+ }
21
+ }
22
+ trigger_error(
23
+ 'Composer detected issues in your platform: ' . implode(' ', $issues),
24
+ E_USER_ERROR
25
+ );
26
+ }