Google Analytics - Version 1.9.8

Version Description

  • Update composer packages and unit testing for CI
Download this release

Release Info

Developer webkinder
Plugin Icon 128x128 Google Analytics
Version 1.9.8
Comparing to
See all releases

Code changes from version 1.9.7 to 1.9.8

Files changed (116) hide show
  1. readme.txt +7 -3
  2. vendor/autoload.php +1 -1
  3. vendor/composer/ClassLoader.php +141 -14
  4. vendor/composer/InstalledVersions.php +350 -0
  5. vendor/composer/autoload_classmap.php +32 -8
  6. vendor/composer/autoload_real.php +8 -6
  7. vendor/composer/autoload_static.php +36 -12
  8. vendor/composer/installed.json +153 -111
  9. vendor/composer/installed.php +32 -0
  10. vendor/composer/installers/.travis.yml +0 -21
  11. vendor/composer/installers/phpstan.neon.dist +12 -0
  12. vendor/composer/installers/src/Composer/Installers/AglInstaller.php +10 -2
  13. vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php +0 -9
  14. vendor/composer/installers/src/Composer/Installers/AkauntingInstaller.php +23 -0
  15. vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php +2 -0
  16. vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php +15 -6
  17. vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php +2 -0
  18. vendor/composer/installers/src/Composer/Installers/BaseInstaller.php +34 -33
  19. vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php +10 -13
  20. vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php +2 -0
  21. vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +18 -35
  22. vendor/composer/installers/src/Composer/Installers/ChefInstaller.php +2 -1
  23. vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php +11 -0
  24. vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php +7 -5
  25. vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php +9 -7
  26. vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php +2 -0
  27. vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php +5 -2
  28. vendor/composer/installers/src/Composer/Installers/CraftInstaller.php +0 -35
  29. vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php +3 -1
  30. vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php +2 -0
  31. vendor/composer/installers/src/Composer/Installers/DframeInstaller.php +11 -0
  32. vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php +19 -12
  33. vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php +2 -0
  34. vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php +16 -8
  35. vendor/composer/installers/src/Composer/Installers/ElggInstaller.php +2 -0
  36. vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php +14 -0
  37. vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php +10 -8
  38. vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php +12 -0
  39. vendor/composer/installers/src/Composer/Installers/FuelInstaller.php +2 -0
  40. vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php +2 -0
  41. vendor/composer/installers/src/Composer/Installers/GravInstaller.php +5 -6
  42. vendor/composer/installers/src/Composer/Installers/HuradInstaller.php +4 -2
  43. vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php +2 -0
  44. vendor/composer/installers/src/Composer/Installers/Installer.php +127 -37
  45. vendor/composer/installers/src/Composer/Installers/ItopInstaller.php +11 -0
  46. vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php +0 -15
  47. vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php +20 -0
  48. vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php +0 -11
  49. vendor/composer/installers/src/Composer/Installers/KnownInstaller.php +13 -0
  50. vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php +3 -1
  51. vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php +2 -0
  52. vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php +27 -0
  53. vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php +2 -0
  54. vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php +12 -0
  55. vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php +2 -0
  56. vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php +2 -0
  57. vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php +2 -0
  58. vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php +2 -0
  59. vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php +46 -0
  60. vendor/composer/installers/src/Composer/Installers/MakoInstaller.php +2 -0
  61. vendor/composer/installers/src/Composer/Installers/{PimcoreInstaller.php → MantisBTInstaller.php} +7 -3
  62. vendor/composer/installers/src/Composer/Installers/MauticInstaller.php +26 -8
  63. vendor/composer/installers/src/Composer/Installers/MayaInstaller.php +38 -0
  64. vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php +16 -8
  65. vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php +11 -0
  66. vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php +89 -55
  67. vendor/composer/installers/src/Composer/Installers/ModxInstaller.php +14 -0
  68. vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php +11 -0
  69. vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php +19 -8
  70. vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php +26 -0
  71. vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php +14 -0
  72. vendor/composer/installers/src/Composer/Installers/OxidInstaller.php +34 -44
  73. vendor/composer/installers/src/Composer/Installers/PPIInstaller.php +2 -0
  74. vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php +12 -0
  75. vendor/composer/installers/src/Composer/Installers/PhiftyInstaller.php +2 -0
  76. vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php +2 -0
  77. vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php +4 -8
  78. vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php +8 -9
  79. vendor/composer/installers/src/Composer/Installers/Plugin.php +14 -3
  80. vendor/composer/installers/src/Composer/Installers/PortoInstaller.php +11 -0
  81. vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php +2 -0
  82. vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php +23 -0
  83. vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php +1 -0
  84. vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php +62 -0
  85. vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php +4 -2
  86. vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php +2 -0
  87. vendor/composer/installers/src/Composer/Installers/Redaxo5Installer.php +12 -0
  88. vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php +2 -0
  89. vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php +3 -4
  90. vendor/composer/installers/src/Composer/Installers/SMFInstaller.php +2 -0
  91. vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php +17 -11
  92. vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php +4 -7
  93. vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php +34 -0
  94. vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php +14 -0
  95. vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php +55 -0
  96. vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php +11 -0
  97. vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php +0 -26
  98. vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php +0 -16
  99. vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php +0 -38
  100. vendor/composer/installers/src/Composer/Installers/TaoInstaller.php +32 -0
  101. vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php +85 -0
  102. vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php +2 -0
  103. vendor/composer/installers/src/Composer/Installers/TuskInstaller.php +16 -13
  104. vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php +11 -0
  105. vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php +2 -0
  106. vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php +59 -0
  107. vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php +13 -1
  108. vendor/composer/installers/src/Composer/Installers/WinterInstaller.php +71 -0
  109. vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php +2 -0
  110. vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php +3 -0
  111. vendor/composer/installers/src/Composer/Installers/YawikInstaller.php +4 -13
  112. vendor/composer/installers/src/Composer/Installers/ZendInstaller.php +2 -0
  113. vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php +2 -0
  114. vendor/composer/installers/src/bootstrap.php +6 -1
  115. vendor/composer/platform_check.php +26 -0
  116. wk-ga.php +1 -1
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Google Analytics and Google Tag Manager ===
2
  Contributors: WEBKINDER
3
  Tags: google analytics, tracking code, analytics, anonymization, anonymize, anonymizeIp, cookie, Datenschutz, ga, gaoptout, google, googleanalytics, google tag manager, gtm, Datenschutz, datenschutzkonform, script, snippet
4
- Requires at least: 4.8
5
  Tested up to: 5.9.3
6
- Requires PHP: 7.1
7
- Stable tag: 1.9.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -33,6 +33,10 @@ If you have any questions or feature requests, feel free to contact us via suppo
33
 
34
  == Changelog ==
35
 
 
 
 
 
36
  = 1.9.7 =
37
 
38
  * Remove newsletter signup
1
  === Google Analytics and Google Tag Manager ===
2
  Contributors: WEBKINDER
3
  Tags: google analytics, tracking code, analytics, anonymization, anonymize, anonymizeIp, cookie, Datenschutz, ga, gaoptout, google, googleanalytics, google tag manager, gtm, Datenschutz, datenschutzkonform, script, snippet
4
+ Requires at least: 4.9
5
  Tested up to: 5.9.3
6
+ Requires PHP: 7.2
7
+ Stable tag: 1.9.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
33
 
34
  == Changelog ==
35
 
36
+ = 1.9.8 =
37
+
38
+ * Update composer packages and unit testing for CI
39
+
40
  = 1.9.7 =
41
 
42
  * Remove newsletter signup
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit32e57717e9721e837f04a955935c2ed8::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit607292fa727b35ff77acbc2a12eb9824::getLoader();
vendor/composer/ClassLoader.php CHANGED
@@ -37,26 +37,80 @@ 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)) {
@@ -66,28 +120,47 @@ class ClassLoader
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)) {
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-var 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,8 +6,9 @@ $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',
12
  'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
13
  'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
@@ -16,63 +17,86 @@ return array(
16
  'Composer\\Installers\\BonefishInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
17
  'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
18
  'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
 
19
  'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
20
  'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
21
  'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
22
  'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
23
- 'Composer\\Installers\\CraftInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
24
  'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
25
  'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
 
26
  'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
27
  'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
28
  'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
29
  'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
 
30
  'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
 
31
  'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
32
  'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
33
  'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
34
  'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
35
  'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
36
  'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
37
- 'Composer\\Installers\\JoomlaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
38
- 'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
 
39
  'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
40
  'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
 
41
  'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
 
42
  'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
43
  'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
44
  'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
45
  'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
 
46
  'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
 
47
  'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
 
48
  'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
 
49
  'Composer\\Installers\\MicroweberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
 
50
  'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
51
  'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
 
 
52
  'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
53
  'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
 
54
  'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
55
  'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
56
- 'Composer\\Installers\\PimcoreInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
57
  'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
58
  'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
59
  'Composer\\Installers\\Plugin' => $vendorDir . '/composer/installers/src/Composer/Installers/Plugin.php',
 
60
  'Composer\\Installers\\PrestashopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
 
61
  'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
 
62
  'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
63
  'Composer\\Installers\\ReIndexInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
 
64
  'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
65
  'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
66
  'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
67
  'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
68
  'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
69
- 'Composer\\Installers\\Symfony1Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
70
- 'Composer\\Installers\\TYPO3CmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
71
- 'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
 
 
 
72
  'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
73
  'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
 
74
  'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
 
75
  'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
 
76
  'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
77
  'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
78
  '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\\AkauntingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php',
12
  'Composer\\Installers\\AnnotateCmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
13
  'Composer\\Installers\\AsgardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
14
  'Composer\\Installers\\AttogramInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
17
  'Composer\\Installers\\BonefishInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
18
  'Composer\\Installers\\CakePHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
19
  'Composer\\Installers\\ChefInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
20
+ 'Composer\\Installers\\CiviCrmInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
21
  'Composer\\Installers\\ClanCatsFrameworkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
22
  'Composer\\Installers\\CockpitInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
23
  'Composer\\Installers\\CodeIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
24
  'Composer\\Installers\\Concrete5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
 
25
  'Composer\\Installers\\CroogoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
26
  'Composer\\Installers\\DecibelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
27
+ 'Composer\\Installers\\DframeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DframeInstaller.php',
28
  'Composer\\Installers\\DokuWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
29
  'Composer\\Installers\\DolibarrInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
30
  'Composer\\Installers\\DrupalInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
31
  'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
32
+ 'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
33
  'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
34
+ 'Composer\\Installers\\EzPlatformInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
35
  'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
36
  'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
37
  'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
38
  'Composer\\Installers\\HuradInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
39
  'Composer\\Installers\\ImageCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
40
  'Composer\\Installers\\Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Installer.php',
41
+ 'Composer\\Installers\\ItopInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
42
+ 'Composer\\Installers\\KanboardInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
43
+ 'Composer\\Installers\\KnownInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KnownInstaller.php',
44
  'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
45
  'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
46
+ 'Composer\\Installers\\LanManagementSystemInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
47
  'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
48
+ 'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
49
  'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
50
  'Composer\\Installers\\MODULEWorkInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
51
  'Composer\\Installers\\MODXEvoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
52
  'Composer\\Installers\\MagentoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
53
+ 'Composer\\Installers\\MajimaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
54
  'Composer\\Installers\\MakoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
55
+ 'Composer\\Installers\\MantisBTInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php',
56
  'Composer\\Installers\\MauticInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
57
+ 'Composer\\Installers\\MayaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
58
  'Composer\\Installers\\MediaWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
59
+ 'Composer\\Installers\\MiaoxingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.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',
63
  'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
64
+ 'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
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\\PantheonInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PantheonInstaller.php',
69
  'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
70
  'Composer\\Installers\\PhpBBInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
 
71
  'Composer\\Installers\\PiwikInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
72
  'Composer\\Installers\\PlentymarketsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
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\\ProcessWireInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php',
77
  'Composer\\Installers\\PuppetInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
78
+ 'Composer\\Installers\\PxcmsInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
79
  'Composer\\Installers\\RadPHPInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
80
  'Composer\\Installers\\ReIndexInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
81
+ 'Composer\\Installers\\Redaxo5Installer' => $vendorDir . '/composer/installers/src/Composer/Installers/Redaxo5Installer.php',
82
  'Composer\\Installers\\RedaxoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
83
  'Composer\\Installers\\RoundcubeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
84
  'Composer\\Installers\\SMFInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
85
  'Composer\\Installers\\ShopwareInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
86
  'Composer\\Installers\\SilverStripeInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
87
+ 'Composer\\Installers\\SiteDirectInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
88
+ 'Composer\\Installers\\StarbugInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/StarbugInstaller.php',
89
+ 'Composer\\Installers\\SyDESInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
90
+ 'Composer\\Installers\\SyliusInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/SyliusInstaller.php',
91
+ 'Composer\\Installers\\TaoInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
92
+ 'Composer\\Installers\\TastyIgniterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php',
93
  'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
94
  'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
95
+ 'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
96
  'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
97
+ 'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
98
  'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
99
+ 'Composer\\Installers\\WinterInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WinterInstaller.php',
100
  'Composer\\Installers\\WolfCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
101
  'Composer\\Installers\\WordPressInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
102
  '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 ComposerAutoloaderInit32e57717e9721e837f04a955935c2ed8
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,17 @@ class ComposerAutoloaderInit32e57717e9721e837f04a955935c2ed8
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit32e57717e9721e837f04a955935c2ed8', 'loadClassLoader'), true, true);
26
- self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit32e57717e9721e837f04a955935c2ed8', '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\ComposerStaticInit32e57717e9721e837f04a955935c2ed8::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 ComposerAutoloaderInit607292fa727b35ff77acbc2a12eb9824
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ require __DIR__ . '/platform_check.php';
26
+
27
+ spl_autoload_register(array('ComposerAutoloaderInit607292fa727b35ff77acbc2a12eb9824', 'loadClassLoader'), true, true);
28
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInit607292fa727b35ff77acbc2a12eb9824', '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\ComposerStaticInit607292fa727b35ff77acbc2a12eb9824::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 ComposerStaticInit32e57717e9721e837f04a955935c2ed8
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'W' =>
@@ -29,8 +29,9 @@ class ComposerStaticInit32e57717e9721e837f04a955935c2ed8
29
  );
30
 
31
  public static $classMap = array (
 
32
  'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
33
- 'Composer\\Installers\\AimeosInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AimeosInstaller.php',
34
  'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
35
  'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
36
  'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
@@ -39,63 +40,86 @@ class ComposerStaticInit32e57717e9721e837f04a955935c2ed8
39
  'Composer\\Installers\\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
40
  'Composer\\Installers\\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
41
  'Composer\\Installers\\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
 
42
  'Composer\\Installers\\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
43
  'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
44
  'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
45
  'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
46
- 'Composer\\Installers\\CraftInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CraftInstaller.php',
47
  'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
48
  'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
 
49
  'Composer\\Installers\\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
50
  'Composer\\Installers\\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
51
  'Composer\\Installers\\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
52
  'Composer\\Installers\\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
 
53
  'Composer\\Installers\\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
 
54
  'Composer\\Installers\\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
55
  'Composer\\Installers\\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
56
  'Composer\\Installers\\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php',
57
  'Composer\\Installers\\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
58
  'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
59
  'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php',
60
- 'Composer\\Installers\\JoomlaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/JoomlaInstaller.php',
61
- 'Composer\\Installers\\KirbyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
 
62
  'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
63
  'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
 
64
  'Composer\\Installers\\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
 
65
  'Composer\\Installers\\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
66
  'Composer\\Installers\\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
67
  'Composer\\Installers\\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
68
  'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
 
69
  'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
 
70
  'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
 
71
  'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
 
72
  'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
 
73
  'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
74
  'Composer\\Installers\\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
 
 
75
  'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
76
  'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
 
77
  'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
78
  'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
79
- 'Composer\\Installers\\PimcoreInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PimcoreInstaller.php',
80
  'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
81
  'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
82
  'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
 
83
  'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
 
84
  'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
 
85
  'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
86
  'Composer\\Installers\\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
 
87
  'Composer\\Installers\\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
88
  'Composer\\Installers\\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
89
  'Composer\\Installers\\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
90
  'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
91
  'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
92
- 'Composer\\Installers\\Symfony1Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Symfony1Installer.php',
93
- 'Composer\\Installers\\TYPO3CmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php',
94
- 'Composer\\Installers\\TYPO3FlowInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
 
 
 
95
  'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
96
  'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
 
97
  'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
 
98
  'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
 
99
  'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
100
  'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
101
  'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
@@ -110,9 +134,9 @@ class ComposerStaticInit32e57717e9721e837f04a955935c2ed8
110
  public static function getInitializer(ClassLoader $loader)
111
  {
112
  return \Closure::bind(function () use ($loader) {
113
- $loader->prefixLengthsPsr4 = ComposerStaticInit32e57717e9721e837f04a955935c2ed8::$prefixLengthsPsr4;
114
- $loader->prefixDirsPsr4 = ComposerStaticInit32e57717e9721e837f04a955935c2ed8::$prefixDirsPsr4;
115
- $loader->classMap = ComposerStaticInit32e57717e9721e837f04a955935c2ed8::$classMap;
116
 
117
  }, null, ClassLoader::class);
118
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit607292fa727b35ff77acbc2a12eb9824
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'W' =>
29
  );
30
 
31
  public static $classMap = array (
32
+ 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
33
  'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php',
34
+ 'Composer\\Installers\\AkauntingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AkauntingInstaller.php',
35
  'Composer\\Installers\\AnnotateCmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php',
36
  'Composer\\Installers\\AsgardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AsgardInstaller.php',
37
  'Composer\\Installers\\AttogramInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AttogramInstaller.php',
40
  'Composer\\Installers\\BonefishInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/BonefishInstaller.php',
41
  'Composer\\Installers\\CakePHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CakePHPInstaller.php',
42
  'Composer\\Installers\\ChefInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ChefInstaller.php',
43
+ 'Composer\\Installers\\CiviCrmInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CiviCrmInstaller.php',
44
  'Composer\\Installers\\ClanCatsFrameworkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php',
45
  'Composer\\Installers\\CockpitInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CockpitInstaller.php',
46
  'Composer\\Installers\\CodeIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php',
47
  'Composer\\Installers\\Concrete5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Concrete5Installer.php',
 
48
  'Composer\\Installers\\CroogoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/CroogoInstaller.php',
49
  'Composer\\Installers\\DecibelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DecibelInstaller.php',
50
+ 'Composer\\Installers\\DframeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DframeInstaller.php',
51
  'Composer\\Installers\\DokuWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DokuWikiInstaller.php',
52
  'Composer\\Installers\\DolibarrInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DolibarrInstaller.php',
53
  'Composer\\Installers\\DrupalInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/DrupalInstaller.php',
54
  'Composer\\Installers\\ElggInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
55
+ 'Composer\\Installers\\EliasisInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
56
  'Composer\\Installers\\ExpressionEngineInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
57
+ 'Composer\\Installers\\EzPlatformInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
58
  'Composer\\Installers\\FuelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
59
  'Composer\\Installers\\FuelphpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
60
  'Composer\\Installers\\GravInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/GravInstaller.php',
61
  'Composer\\Installers\\HuradInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/HuradInstaller.php',
62
  'Composer\\Installers\\ImageCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ImageCMSInstaller.php',
63
  'Composer\\Installers\\Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Installer.php',
64
+ 'Composer\\Installers\\ItopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ItopInstaller.php',
65
+ 'Composer\\Installers\\KanboardInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KanboardInstaller.php',
66
+ 'Composer\\Installers\\KnownInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KnownInstaller.php',
67
  'Composer\\Installers\\KodiCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
68
  'Composer\\Installers\\KohanaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
69
+ 'Composer\\Installers\\LanManagementSystemInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
70
  'Composer\\Installers\\LaravelInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
71
+ 'Composer\\Installers\\LavaLiteInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
72
  'Composer\\Installers\\LithiumInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
73
  'Composer\\Installers\\MODULEWorkInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php',
74
  'Composer\\Installers\\MODXEvoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MODXEvoInstaller.php',
75
  'Composer\\Installers\\MagentoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MagentoInstaller.php',
76
+ 'Composer\\Installers\\MajimaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MajimaInstaller.php',
77
  'Composer\\Installers\\MakoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MakoInstaller.php',
78
+ 'Composer\\Installers\\MantisBTInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MantisBTInstaller.php',
79
  'Composer\\Installers\\MauticInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MauticInstaller.php',
80
+ 'Composer\\Installers\\MayaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MayaInstaller.php',
81
  'Composer\\Installers\\MediaWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MediaWikiInstaller.php',
82
+ 'Composer\\Installers\\MiaoxingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MiaoxingInstaller.php',
83
  'Composer\\Installers\\MicroweberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php',
84
+ 'Composer\\Installers\\ModxInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ModxInstaller.php',
85
  'Composer\\Installers\\MoodleInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
86
  'Composer\\Installers\\OctoberInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
87
+ 'Composer\\Installers\\OntoWikiInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
88
+ 'Composer\\Installers\\OsclassInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
89
  'Composer\\Installers\\OxidInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
90
  'Composer\\Installers\\PPIInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
91
+ 'Composer\\Installers\\PantheonInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PantheonInstaller.php',
92
  'Composer\\Installers\\PhiftyInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
93
  'Composer\\Installers\\PhpBBInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PhpBBInstaller.php',
 
94
  'Composer\\Installers\\PiwikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PiwikInstaller.php',
95
  'Composer\\Installers\\PlentymarketsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php',
96
  'Composer\\Installers\\Plugin' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Plugin.php',
97
+ 'Composer\\Installers\\PortoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PortoInstaller.php',
98
  'Composer\\Installers\\PrestashopInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PrestashopInstaller.php',
99
+ 'Composer\\Installers\\ProcessWireInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ProcessWireInstaller.php',
100
  'Composer\\Installers\\PuppetInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PuppetInstaller.php',
101
+ 'Composer\\Installers\\PxcmsInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/PxcmsInstaller.php',
102
  'Composer\\Installers\\RadPHPInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RadPHPInstaller.php',
103
  'Composer\\Installers\\ReIndexInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ReIndexInstaller.php',
104
+ 'Composer\\Installers\\Redaxo5Installer' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/Redaxo5Installer.php',
105
  'Composer\\Installers\\RedaxoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RedaxoInstaller.php',
106
  'Composer\\Installers\\RoundcubeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/RoundcubeInstaller.php',
107
  'Composer\\Installers\\SMFInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SMFInstaller.php',
108
  'Composer\\Installers\\ShopwareInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/ShopwareInstaller.php',
109
  'Composer\\Installers\\SilverStripeInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SilverStripeInstaller.php',
110
+ 'Composer\\Installers\\SiteDirectInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SiteDirectInstaller.php',
111
+ 'Composer\\Installers\\StarbugInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/StarbugInstaller.php',
112
+ 'Composer\\Installers\\SyDESInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyDESInstaller.php',
113
+ 'Composer\\Installers\\SyliusInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/SyliusInstaller.php',
114
+ 'Composer\\Installers\\TaoInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TaoInstaller.php',
115
+ 'Composer\\Installers\\TastyIgniterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php',
116
  'Composer\\Installers\\TheliaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
117
  'Composer\\Installers\\TuskInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
118
+ 'Composer\\Installers\\UserFrostingInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
119
  'Composer\\Installers\\VanillaInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
120
+ 'Composer\\Installers\\VgmcpInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
121
  'Composer\\Installers\\WHMCSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
122
+ 'Composer\\Installers\\WinterInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WinterInstaller.php',
123
  'Composer\\Installers\\WolfCMSInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WolfCMSInstaller.php',
124
  'Composer\\Installers\\WordPressInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/WordPressInstaller.php',
125
  'Composer\\Installers\\YawikInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/YawikInstaller.php',
134
  public static function getInitializer(ClassLoader $loader)
135
  {
136
  return \Closure::bind(function () use ($loader) {
137
+ $loader->prefixLengthsPsr4 = ComposerStaticInit607292fa727b35ff77acbc2a12eb9824::$prefixLengthsPsr4;
138
+ $loader->prefixDirsPsr4 = ComposerStaticInit607292fa727b35ff77acbc2a12eb9824::$prefixDirsPsr4;
139
+ $loader->classMap = ComposerStaticInit607292fa727b35ff77acbc2a12eb9824::$classMap;
140
 
141
  }, null, ClassLoader::class);
142
  }
vendor/composer/installed.json CHANGED
@@ -1,111 +1,153 @@
1
- [
2
- {
3
- "name": "composer/installers",
4
- "version": "v1.2.0",
5
- "version_normalized": "1.2.0.0",
6
- "source": {
7
- "type": "git",
8
- "url": "https://github.com/composer/installers.git",
9
- "reference": "d78064c68299743e0161004f2de3a0204e33b804"
10
- },
11
- "dist": {
12
- "type": "zip",
13
- "url": "https://api.github.com/repos/composer/installers/zipball/d78064c68299743e0161004f2de3a0204e33b804",
14
- "reference": "d78064c68299743e0161004f2de3a0204e33b804",
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.1.*"
27
- },
28
- "time": "2016-08-13T20:53:52+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
- "Hurad",
59
- "ImageCMS",
60
- "MODX Evo",
61
- "Mautic",
62
- "OXID",
63
- "Plentymarkets",
64
- "RadPHP",
65
- "SMF",
66
- "Thelia",
67
- "WolfCMS",
68
- "agl",
69
- "aimeos",
70
- "annotatecms",
71
- "attogram",
72
- "bitrix",
73
- "cakephp",
74
- "chef",
75
- "cockpit",
76
- "codeigniter",
77
- "concrete5",
78
- "croogo",
79
- "dokuwiki",
80
- "drupal",
81
- "elgg",
82
- "expressionengine",
83
- "fuelphp",
84
- "grav",
85
- "installer",
86
- "joomla",
87
- "kohana",
88
- "laravel",
89
- "lithium",
90
- "magento",
91
- "mako",
92
- "mediawiki",
93
- "modulework",
94
- "moodle",
95
- "phpbb",
96
- "piwik",
97
- "ppi",
98
- "puppet",
99
- "reindex",
100
- "roundcube",
101
- "shopware",
102
- "silverstripe",
103
- "symfony",
104
- "typo3",
105
- "wordpress",
106
- "yawik",
107
- "zend",
108
- "zikula"
109
- ]
110
- }
111
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "packages": [
3
+ {
4
+ "name": "composer/installers",
5
+ "version": "v2.1.0",
6
+ "version_normalized": "2.1.0.0",
7
+ "source": {
8
+ "type": "git",
9
+ "url": "https://github.com/composer/installers.git",
10
+ "reference": "75e5ef05436c90ac565a48176cc7465991908352"
11
+ },
12
+ "dist": {
13
+ "type": "zip",
14
+ "url": "https://api.github.com/repos/composer/installers/zipball/75e5ef05436c90ac565a48176cc7465991908352",
15
+ "reference": "75e5ef05436c90ac565a48176cc7465991908352",
16
+ "shasum": ""
17
+ },
18
+ "require": {
19
+ "composer-plugin-api": "^1.0 || ^2.0",
20
+ "php": "^7.2 || ^8.0"
21
+ },
22
+ "require-dev": {
23
+ "composer/composer": "1.6.* || ^2.0",
24
+ "composer/semver": "^1 || ^3",
25
+ "phpstan/phpstan": "^0.12.55",
26
+ "phpstan/phpstan-phpunit": "^0.12.16",
27
+ "symfony/phpunit-bridge": "^5.3",
28
+ "symfony/process": "^5"
29
+ },
30
+ "time": "2022-03-18T12:27:54+00:00",
31
+ "type": "composer-plugin",
32
+ "extra": {
33
+ "class": "Composer\\Installers\\Plugin",
34
+ "branch-alias": {
35
+ "dev-main": "2.x-dev"
36
+ },
37
+ "plugin-modifies-install-path": true
38
+ },
39
+ "installation-source": "dist",
40
+ "autoload": {
41
+ "psr-4": {
42
+ "Composer\\Installers\\": "src/Composer/Installers"
43
+ }
44
+ },
45
+ "notification-url": "https://packagist.org/downloads/",
46
+ "license": [
47
+ "MIT"
48
+ ],
49
+ "authors": [
50
+ {
51
+ "name": "Kyle Robinson Young",
52
+ "email": "kyle@dontkry.com",
53
+ "homepage": "https://github.com/shama"
54
+ }
55
+ ],
56
+ "description": "A multi-framework Composer library installer",
57
+ "homepage": "https://composer.github.io/installers/",
58
+ "keywords": [
59
+ "Dolibarr",
60
+ "Eliasis",
61
+ "Hurad",
62
+ "ImageCMS",
63
+ "Kanboard",
64
+ "Lan Management System",
65
+ "MODX Evo",
66
+ "MantisBT",
67
+ "Mautic",
68
+ "Maya",
69
+ "OXID",
70
+ "Plentymarkets",
71
+ "Porto",
72
+ "RadPHP",
73
+ "SMF",
74
+ "Starbug",
75
+ "Thelia",
76
+ "Whmcs",
77
+ "WolfCMS",
78
+ "agl",
79
+ "annotatecms",
80
+ "attogram",
81
+ "bitrix",
82
+ "cakephp",
83
+ "chef",
84
+ "cockpit",
85
+ "codeigniter",
86
+ "concrete5",
87
+ "croogo",
88
+ "dokuwiki",
89
+ "drupal",
90
+ "eZ Platform",
91
+ "elgg",
92
+ "expressionengine",
93
+ "fuelphp",
94
+ "grav",
95
+ "installer",
96
+ "itop",
97
+ "known",
98
+ "kohana",
99
+ "laravel",
100
+ "lavalite",
101
+ "lithium",
102
+ "magento",
103
+ "majima",
104
+ "mako",
105
+ "mediawiki",
106
+ "miaoxing",
107
+ "modulework",
108
+ "modx",
109
+ "moodle",
110
+ "osclass",
111
+ "pantheon",
112
+ "phpbb",
113
+ "piwik",
114
+ "ppi",
115
+ "processwire",
116
+ "puppet",
117
+ "pxcms",
118
+ "reindex",
119
+ "roundcube",
120
+ "shopware",
121
+ "silverstripe",
122
+ "sydes",
123
+ "sylius",
124
+ "tastyigniter",
125
+ "wordpress",
126
+ "yawik",
127
+ "zend",
128
+ "zikula"
129
+ ],
130
+ "support": {
131
+ "issues": "https://github.com/composer/installers/issues",
132
+ "source": "https://github.com/composer/installers/tree/v2.1.0"
133
+ },
134
+ "funding": [
135
+ {
136
+ "url": "https://packagist.com",
137
+ "type": "custom"
138
+ },
139
+ {
140
+ "url": "https://github.com/composer",
141
+ "type": "github"
142
+ },
143
+ {
144
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
145
+ "type": "tidelift"
146
+ }
147
+ ],
148
+ "install-path": "./installers"
149
+ }
150
+ ],
151
+ "dev": false,
152
+ "dev-package-names": []
153
+ }
vendor/composer/installed.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php return array(
2
+ 'root' => array(
3
+ 'pretty_version' => '1.9.8',
4
+ 'version' => '1.9.8.0',
5
+ 'type' => 'wordpress-plugin',
6
+ 'install_path' => __DIR__ . '/../../',
7
+ 'aliases' => array(),
8
+ 'reference' => NULL,
9
+ 'name' => 'webkinder/wk-google-analytics',
10
+ 'dev' => false,
11
+ ),
12
+ 'versions' => array(
13
+ 'composer/installers' => array(
14
+ 'pretty_version' => 'v2.1.0',
15
+ 'version' => '2.1.0.0',
16
+ 'type' => 'composer-plugin',
17
+ 'install_path' => __DIR__ . '/./installers',
18
+ 'aliases' => array(),
19
+ 'reference' => '75e5ef05436c90ac565a48176cc7465991908352',
20
+ 'dev_requirement' => false,
21
+ ),
22
+ 'webkinder/wk-google-analytics' => array(
23
+ 'pretty_version' => '1.9.8',
24
+ 'version' => '1.9.8.0',
25
+ 'type' => 'wordpress-plugin',
26
+ 'install_path' => __DIR__ . '/../../',
27
+ 'aliases' => array(),
28
+ 'reference' => NULL,
29
+ 'dev_requirement' => false,
30
+ ),
31
+ ),
32
+ );
vendor/composer/installers/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- language: php
2
-
3
- php:
4
- - 5.3
5
- - 5.4
6
- - 5.5
7
- - 5.6
8
- - 7.0
9
- - hhvm
10
-
11
- matrix:
12
- fast_finish: true
13
- allow_failures:
14
- - php: 7.0
15
-
16
- before_script:
17
- - composer self-update
18
- - composer install
19
-
20
- script:
21
- - composer test
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/phpstan.neon.dist ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ parameters:
2
+ level: 8
3
+ paths:
4
+ - src
5
+ - tests
6
+ excludes_analyse:
7
+ - tests/Composer/Installers/Test/PolyfillTestCase.php
8
+ ignoreErrors:
9
+ - '~Test::[a-zA-Z0-9]+Provider\(\) return type~'
10
+
11
+ includes:
12
+ - vendor/phpstan/phpstan-phpunit/extension.neon
vendor/composer/installers/src/Composer/Installers/AglInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class AglInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'More/{$name}/',
8
  );
@@ -10,12 +12,18 @@ class AglInstaller extends BaseInstaller
10
  /**
11
  * Format package name to CamelCase
12
  */
13
- public function inflectPackageVars($vars)
14
  {
15
- $vars['name'] = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) {
16
  return strtoupper($matches[1]);
17
  }, $vars['name']);
18
 
 
 
 
 
 
 
19
  return $vars;
20
  }
21
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class AglInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'More/{$name}/',
10
  );
12
  /**
13
  * Format package name to CamelCase
14
  */
15
+ public function inflectPackageVars(array $vars): array
16
  {
17
+ $name = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) {
18
  return strtoupper($matches[1]);
19
  }, $vars['name']);
20
 
21
+ if (null === $name) {
22
+ throw new \RuntimeException('Failed to run preg_replace_callback: '.preg_last_error());
23
+ }
24
+
25
+ $vars['name'] = $name;
26
+
27
  return $vars;
28
  }
29
  }
vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- class AimeosInstaller extends BaseInstaller
5
- {
6
- protected $locations = array(
7
- 'extension' => 'ext/{$name}/',
8
- );
9
- }
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/AkauntingInstaller.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class AkauntingInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'modules/{$name}',
10
+ );
11
+
12
+ /**
13
+ * Format package name to CamelCase
14
+ */
15
+ public function inflectPackageVars(array $vars): array
16
+ {
17
+ $vars['name'] = strtolower($this->pregReplace('/(?<=\\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/AnnotateCmsInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class AnnotateCmsInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'addons/modules/{$name}/',
8
  'component' => 'addons/components/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class AnnotateCmsInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'addons/modules/{$name}/',
10
  'component' => 'addons/components/{$name}/',
vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class AsgardInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'Modules/{$name}/',
8
  'theme' => 'Themes/{$name}/'
@@ -14,9 +16,8 @@ class AsgardInstaller extends BaseInstaller
14
  * For package type asgard-module, cut off a trailing '-plugin' if present.
15
  *
16
  * For package type asgard-theme, cut off a trailing '-theme' if present.
17
- *
18
  */
19
- public function inflectPackageVars($vars)
20
  {
21
  if ($vars['type'] === 'asgard-module') {
22
  return $this->inflectPluginVars($vars);
@@ -29,18 +30,26 @@ class AsgardInstaller extends BaseInstaller
29
  return $vars;
30
  }
31
 
32
- protected function inflectPluginVars($vars)
 
 
 
 
33
  {
34
- $vars['name'] = preg_replace('/-module$/', '', $vars['name']);
35
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
36
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
37
 
38
  return $vars;
39
  }
40
 
41
- protected function inflectThemeVars($vars)
 
 
 
 
42
  {
43
- $vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
44
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
45
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
46
 
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class AsgardInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'Modules/{$name}/',
10
  'theme' => 'Themes/{$name}/'
16
  * For package type asgard-module, cut off a trailing '-plugin' if present.
17
  *
18
  * For package type asgard-theme, cut off a trailing '-theme' if present.
 
19
  */
20
+ public function inflectPackageVars(array $vars): array
21
  {
22
  if ($vars['type'] === 'asgard-module') {
23
  return $this->inflectPluginVars($vars);
30
  return $vars;
31
  }
32
 
33
+ /**
34
+ * @param array<string, string> $vars
35
+ * @return array<string, string>
36
+ */
37
+ protected function inflectPluginVars(array $vars): array
38
  {
39
+ $vars['name'] = $this->pregReplace('/-module$/', '', $vars['name']);
40
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
41
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
42
 
43
  return $vars;
44
  }
45
 
46
+ /**
47
+ * @param array<string, string> $vars
48
+ * @return array<string, string>
49
+ */
50
+ protected function inflectThemeVars(array $vars): array
51
  {
52
+ $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']);
53
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
54
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
55
 
vendor/composer/installers/src/Composer/Installers/AttogramInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class AttogramInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class AttogramInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/BaseInstaller.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  use Composer\IO\IOInterface;
@@ -7,19 +8,19 @@ use Composer\Package\PackageInterface;
7
 
8
  abstract class BaseInstaller
9
  {
 
10
  protected $locations = array();
 
11
  protected $composer;
 
12
  protected $package;
 
13
  protected $io;
14
 
15
  /**
16
  * Initializes base installer.
17
- *
18
- * @param PackageInterface $package
19
- * @param Composer $composer
20
- * @param IOInterface $io
21
  */
22
- public function __construct(PackageInterface $package = null, Composer $composer = null, IOInterface $io = null)
23
  {
24
  $this->composer = $composer;
25
  $this->package = $package;
@@ -28,12 +29,8 @@ abstract class BaseInstaller
28
 
29
  /**
30
  * Return the install path based on package type.
31
- *
32
- * @param PackageInterface $package
33
- * @param string $frameworkType
34
- * @return string
35
  */
36
- public function getInstallPath(PackageInterface $package, $frameworkType = '')
37
  {
38
  $type = $this->package->getType();
39
 
@@ -52,18 +49,16 @@ abstract class BaseInstaller
52
  $availableVars['name'] = $extra['installer-name'];
53
  }
54
 
55
- if ($this->composer->getPackage()) {
56
- $extra = $this->composer->getPackage()->getExtra();
57
- if (!empty($extra['installer-paths'])) {
58
- $customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type, $vendor);
59
- if ($customPath !== false) {
60
- return $this->templatePath($customPath, $availableVars);
61
- }
62
  }
63
  }
64
 
65
  $packageType = substr($type, strlen($frameworkType) + 1);
66
- $locations = $this->getLocations();
67
  if (!isset($locations[$packageType])) {
68
  throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
69
  }
@@ -74,10 +69,10 @@ 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
  {
82
  return $vars;
83
  }
@@ -85,9 +80,9 @@ abstract class BaseInstaller
85
  /**
86
  * Gets the installer's locations
87
  *
88
- * @return array
89
  */
90
- public function getLocations()
91
  {
92
  return $this->locations;
93
  }
@@ -95,11 +90,9 @@ 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())
103
  {
104
  if (strpos($path, '{') !== false) {
105
  extract($vars);
@@ -117,15 +110,13 @@ abstract class BaseInstaller
117
  /**
118
  * Search through a passed paths array for a custom install path.
119
  *
120
- * @param array $paths
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
  }
@@ -133,4 +124,14 @@ abstract class BaseInstaller
133
 
134
  return false;
135
  }
 
 
 
 
 
 
 
 
 
 
136
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  use Composer\IO\IOInterface;
8
 
9
  abstract class BaseInstaller
10
  {
11
+ /** @var array<string, string> */
12
  protected $locations = array();
13
+ /** @var Composer */
14
  protected $composer;
15
+ /** @var PackageInterface */
16
  protected $package;
17
+ /** @var IOInterface */
18
  protected $io;
19
 
20
  /**
21
  * Initializes base installer.
 
 
 
 
22
  */
23
+ public function __construct(PackageInterface $package, Composer $composer, IOInterface $io)
24
  {
25
  $this->composer = $composer;
26
  $this->package = $package;
29
 
30
  /**
31
  * Return the install path based on package type.
 
 
 
 
32
  */
33
+ public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string
34
  {
35
  $type = $this->package->getType();
36
 
49
  $availableVars['name'] = $extra['installer-name'];
50
  }
51
 
52
+ $extra = $this->composer->getPackage()->getExtra();
53
+ if (!empty($extra['installer-paths'])) {
54
+ $customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type, $vendor);
55
+ if ($customPath !== false) {
56
+ return $this->templatePath($customPath, $availableVars);
 
 
57
  }
58
  }
59
 
60
  $packageType = substr($type, strlen($frameworkType) + 1);
61
+ $locations = $this->getLocations($frameworkType);
62
  if (!isset($locations[$packageType])) {
63
  throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
64
  }
69
  /**
70
  * For an installer to override to modify the vars per installer.
71
  *
72
+ * @param array<string, string> $vars This will normally receive array{name: string, vendor: string, type: string}
73
+ * @return array<string, string>
74
  */
75
+ public function inflectPackageVars(array $vars): array
76
  {
77
  return $vars;
78
  }
80
  /**
81
  * Gets the installer's locations
82
  *
83
+ * @return array<string, string> map of package types => install path
84
  */
85
+ public function getLocations(string $frameworkType)
86
  {
87
  return $this->locations;
88
  }
90
  /**
91
  * Replace vars in a path
92
  *
93
+ * @param array<string, string> $vars
 
 
94
  */
95
+ protected function templatePath(string $path, array $vars = array()): string
96
  {
97
  if (strpos($path, '{') !== false) {
98
  extract($vars);
110
  /**
111
  * Search through a passed paths array for a custom install path.
112
  *
113
+ * @param array<string, string[]|string> $paths
114
+ * @return string|false
 
 
 
115
  */
116
+ protected function mapCustomInstallPaths(array $paths, string $name, string $type, ?string $vendor = null)
117
  {
118
  foreach ($paths as $path => $names) {
119
+ $names = (array) $names;
120
  if (in_array($name, $names) || in_array('type:' . $type, $names) || in_array('vendor:' . $vendor, $names)) {
121
  return $path;
122
  }
124
 
125
  return false;
126
  }
127
+
128
+ protected function pregReplace(string $pattern, string $replacement, string $subject): string
129
+ {
130
+ $result = preg_replace($pattern, $replacement, $subject);
131
+ if (null === $result) {
132
+ throw new \RuntimeException('Failed to run preg_replace with '.$pattern.': '.preg_last_error());
133
+ }
134
+
135
+ return $result;
136
+ }
137
  }
vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php CHANGED
@@ -9,9 +9,9 @@ use Composer\Util\Filesystem;
9
  * - `bitrix-d7-module` — copy the module to directory `bitrix/modules/<vendor>.<name>`.
10
  * - `bitrix-d7-component` — copy the component to directory `bitrix/components/<vendor>/<name>`.
11
  * - `bitrix-d7-template` — copy the template to directory `bitrix/templates/<vendor>_<name>`.
12
- *
13
  * You can set custom path to directory with Bitrix kernel in `composer.json`:
14
- *
15
  * ```json
16
  * {
17
  * "extra": {
@@ -25,6 +25,7 @@ use Composer\Util\Filesystem;
25
  */
26
  class BitrixInstaller extends BaseInstaller
27
  {
 
28
  protected $locations = array(
29
  'module' => '{$bitrix_dir}/modules/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
30
  'component' => '{$bitrix_dir}/components/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
@@ -35,15 +36,13 @@ class BitrixInstaller extends BaseInstaller
35
  );
36
 
37
  /**
38
- * @var array Storage for informations about duplicates at all the time of installation packages.
39
  */
40
  private static $checkedDuplicates = array();
41
 
42
- /**
43
- * {@inheritdoc}
44
- */
45
- public function inflectPackageVars($vars)
46
  {
 
47
  if ($this->composer->getPackage()) {
48
  $extra = $this->composer->getPackage()->getExtra();
49
 
@@ -62,7 +61,7 @@ class BitrixInstaller extends BaseInstaller
62
  /**
63
  * {@inheritdoc}
64
  */
65
- protected function templatePath($path, array $vars = array())
66
  {
67
  $templatePath = parent::templatePath($path, $vars);
68
  $this->checkDuplicates($templatePath, $vars);
@@ -73,10 +72,9 @@ class BitrixInstaller extends BaseInstaller
73
  /**
74
  * Duplicates search packages.
75
  *
76
- * @param string $path
77
- * @param array $vars
78
  */
79
- protected function checkDuplicates($path, array $vars = array())
80
  {
81
  $packageType = substr($vars['type'], strlen('bitrix') + 1);
82
  $localDir = explode('/', $vars['bitrix_dir']);
@@ -94,8 +92,7 @@ class BitrixInstaller extends BaseInstaller
94
  return;
95
  }
96
 
97
- if ($oldPath !== $path && file_exists($oldPath) && $this->io && $this->io->isInteractive()) {
98
-
99
  $this->io->writeError(' <error>Duplication of packages:</error>');
100
  $this->io->writeError(' <info>Package ' . $oldPath . ' will be called instead package ' . $path . '</info>');
101
 
9
  * - `bitrix-d7-module` — copy the module to directory `bitrix/modules/<vendor>.<name>`.
10
  * - `bitrix-d7-component` — copy the component to directory `bitrix/components/<vendor>/<name>`.
11
  * - `bitrix-d7-template` — copy the template to directory `bitrix/templates/<vendor>_<name>`.
12
+ *
13
  * You can set custom path to directory with Bitrix kernel in `composer.json`:
14
+ *
15
  * ```json
16
  * {
17
  * "extra": {
25
  */
26
  class BitrixInstaller extends BaseInstaller
27
  {
28
+ /** @var array<string, string> */
29
  protected $locations = array(
30
  'module' => '{$bitrix_dir}/modules/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
31
  'component' => '{$bitrix_dir}/components/{$name}/', // deprecated, remove on the major release (Backward compatibility will be broken)
36
  );
37
 
38
  /**
39
+ * @var string[] Storage for informations about duplicates at all the time of installation packages.
40
  */
41
  private static $checkedDuplicates = array();
42
 
43
+ public function inflectPackageVars(array $vars): array
 
 
 
44
  {
45
+ /** @phpstan-ignore-next-line */
46
  if ($this->composer->getPackage()) {
47
  $extra = $this->composer->getPackage()->getExtra();
48
 
61
  /**
62
  * {@inheritdoc}
63
  */
64
+ protected function templatePath(string $path, array $vars = array()): string
65
  {
66
  $templatePath = parent::templatePath($path, $vars);
67
  $this->checkDuplicates($templatePath, $vars);
72
  /**
73
  * Duplicates search packages.
74
  *
75
+ * @param array<string, string> $vars
 
76
  */
77
+ protected function checkDuplicates(string $path, array $vars = array()): void
78
  {
79
  $packageType = substr($vars['type'], strlen('bitrix') + 1);
80
  $localDir = explode('/', $vars['bitrix_dir']);
92
  return;
93
  }
94
 
95
+ if ($oldPath !== $path && file_exists($oldPath) && $this->io->isInteractive()) {
 
96
  $this->io->writeError(' <error>Duplication of packages:</error>');
97
  $this->io->writeError(' <info>Package ' . $oldPath . ' will be called instead package ' . $path . '</info>');
98
 
vendor/composer/installers/src/Composer/Installers/BonefishInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class BonefishInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'package' => 'Packages/{$vendor}/{$name}/'
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class BonefishInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'package' => 'Packages/{$vendor}/{$name}/'
10
  );
vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  use Composer\DependencyResolver\Pool;
5
- use Composer\Package\PackageInterface;
6
 
7
  class CakePHPInstaller extends BaseInstaller
8
  {
 
9
  protected $locations = array(
10
  'plugin' => 'Plugin/{$name}/',
11
  );
@@ -13,7 +15,7 @@ class CakePHPInstaller extends BaseInstaller
13
  /**
14
  * Format package name to CamelCase
15
  */
16
- public function inflectPackageVars($vars)
17
  {
18
  if ($this->matchesCakeVersion('>=', '3.0.0')) {
19
  return $vars;
@@ -21,7 +23,7 @@ class CakePHPInstaller extends BaseInstaller
21
 
22
  $nameParts = explode('/', $vars['name']);
23
  foreach ($nameParts as &$value) {
24
- $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
25
  $value = str_replace(array('-', '_'), ' ', $value);
26
  $value = str_replace(' ', '', ucwords($value));
27
  }
@@ -33,7 +35,7 @@ class CakePHPInstaller extends BaseInstaller
33
  /**
34
  * Change the default plugin location when cakephp >= 3.0
35
  */
36
- public function getLocations()
37
  {
38
  if ($this->matchesCakeVersion('>=', '3.0.0')) {
39
  $this->locations['plugin'] = $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/';
@@ -44,41 +46,22 @@ class CakePHPInstaller extends BaseInstaller
44
  /**
45
  * Check if CakePHP version matches against a version
46
  *
47
- * @param string $matcher
48
- * @param string $version
49
- * @return bool
50
  */
51
- protected function matchesCakeVersion($matcher, $version)
52
  {
53
- if (class_exists('Composer\Semver\Constraint\MultiConstraint')) {
54
- $multiClass = 'Composer\Semver\Constraint\MultiConstraint';
55
- $constraintClass = 'Composer\Semver\Constraint\Constraint';
56
- } else {
57
- $multiClass = 'Composer\Package\LinkConstraint\MultiConstraint';
58
- $constraintClass = 'Composer\Package\LinkConstraint\VersionConstraint';
59
  }
60
 
61
- $repositoryManager = $this->composer->getRepositoryManager();
62
- if ($repositoryManager) {
63
- $repos = $repositoryManager->getLocalRepository();
64
- if (!$repos) {
65
- return false;
66
- }
67
- $cake3 = new $multiClass(array(
68
- new $constraintClass($matcher, $version),
69
- new $constraintClass('!=', '9999999-dev'),
70
- ));
71
- $pool = new Pool('dev');
72
- $pool->addRepository($repos);
73
- $packages = $pool->whatProvides('cakephp/cakephp');
74
- foreach ($packages as $package) {
75
- $installed = new $constraintClass('=', $package->getVersion());
76
- if ($cake3->matches($installed)) {
77
- return true;
78
- break;
79
- }
80
- }
81
  }
82
- return false;
 
83
  }
84
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  use Composer\DependencyResolver\Pool;
6
+ use Composer\Semver\Constraint\Constraint;
7
 
8
  class CakePHPInstaller extends BaseInstaller
9
  {
10
+ /** @var array<string, string> */
11
  protected $locations = array(
12
  'plugin' => 'Plugin/{$name}/',
13
  );
15
  /**
16
  * Format package name to CamelCase
17
  */
18
+ public function inflectPackageVars(array $vars): array
19
  {
20
  if ($this->matchesCakeVersion('>=', '3.0.0')) {
21
  return $vars;
23
 
24
  $nameParts = explode('/', $vars['name']);
25
  foreach ($nameParts as &$value) {
26
+ $value = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $value));
27
  $value = str_replace(array('-', '_'), ' ', $value);
28
  $value = str_replace(' ', '', ucwords($value));
29
  }
35
  /**
36
  * Change the default plugin location when cakephp >= 3.0
37
  */
38
+ public function getLocations(string $frameworkType): array
39
  {
40
  if ($this->matchesCakeVersion('>=', '3.0.0')) {
41
  $this->locations['plugin'] = $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/';
46
  /**
47
  * Check if CakePHP version matches against a version
48
  *
49
+ * @phpstan-param Constraint::STR_OP_* $matcher
 
 
50
  */
51
+ protected function matchesCakeVersion(string $matcher, string $version): bool
52
  {
53
+ $repositoryManager = $this->composer->getRepositoryManager();
54
+ /** @phpstan-ignore-next-line */
55
+ if (!$repositoryManager) {
56
+ return false;
 
 
57
  }
58
 
59
+ $repos = $repositoryManager->getLocalRepository();
60
+ /** @phpstan-ignore-next-line */
61
+ if (!$repos) {
62
+ return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  }
64
+
65
+ return $repos->findPackage('cakephp/cakephp', new Constraint($matcher, $version)) !== null;
66
  }
67
  }
vendor/composer/installers/src/Composer/Installers/ChefInstaller.php CHANGED
@@ -1,11 +1,12 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ChefInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'cookbook' => 'Chef/{$vendor}/{$name}/',
8
  'role' => 'Chef/roles/{$name}/',
9
  );
10
  }
11
-
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ChefInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'cookbook' => 'Chef/{$vendor}/{$name}/',
10
  'role' => 'Chef/roles/{$name}/',
11
  );
12
  }
 
vendor/composer/installers/src/Composer/Installers/CiviCrmInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class CiviCrmInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'ext' => 'ext/{$name}/'
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php CHANGED
@@ -1,10 +1,12 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ClanCatsFrameworkInstaller extends BaseInstaller
5
  {
6
- protected $locations = array(
7
- 'ship' => 'CCF/orbit/{$name}/',
8
- 'theme' => 'CCF/app/themes/{$name}/',
9
- );
10
- }
 
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ClanCatsFrameworkInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'ship' => 'CCF/orbit/{$name}/',
10
+ 'theme' => 'CCF/app/themes/{$name}/',
11
+ );
12
+ }
vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class CockpitInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'cockpit/modules/addons/{$name}/',
8
  );
@@ -11,12 +13,8 @@ class CockpitInstaller extends BaseInstaller
11
  * Format module name.
12
  *
13
  * Strip `module-` prefix from package name.
14
- *
15
- * @param array @vars
16
- *
17
- * @return array
18
  */
19
- public function inflectPackageVars($vars)
20
  {
21
  if ($vars['type'] == 'cockpit-module') {
22
  return $this->inflectModuleVars($vars);
@@ -25,9 +23,13 @@ class CockpitInstaller extends BaseInstaller
25
  return $vars;
26
  }
27
 
28
- public function inflectModuleVars($vars)
 
 
 
 
29
  {
30
- $vars['name'] = ucfirst(preg_replace('/cockpit-/i', '', $vars['name']));
31
 
32
  return $vars;
33
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class CockpitInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'cockpit/modules/addons/{$name}/',
10
  );
13
  * Format module name.
14
  *
15
  * Strip `module-` prefix from package name.
 
 
 
 
16
  */
17
+ public function inflectPackageVars(array $vars): array
18
  {
19
  if ($vars['type'] == 'cockpit-module') {
20
  return $this->inflectModuleVars($vars);
23
  return $vars;
24
  }
25
 
26
+ /**
27
+ * @param array<string, string> $vars
28
+ * @return array<string, string>
29
+ */
30
+ public function inflectModuleVars(array $vars): array
31
  {
32
+ $vars['name'] = ucfirst($this->pregReplace('/cockpit-/i', '', $vars['name']));
33
 
34
  return $vars;
35
  }
vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class CodeIgniterInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'library' => 'application/libraries/{$name}/',
8
  'third-party' => 'application/third_party/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class CodeIgniterInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'library' => 'application/libraries/{$name}/',
10
  'third-party' => 'application/third_party/{$name}/',
vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php CHANGED
@@ -1,12 +1,15 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class Concrete5Installer extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
- 'block' => 'blocks/{$name}/',
 
8
  'package' => 'packages/{$name}/',
9
- 'theme' => 'themes/{$name}/',
10
  'update' => 'updates/{$name}/',
11
  );
12
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class Concrete5Installer extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
+ 'core' => 'concrete/',
10
+ 'block' => 'application/blocks/{$name}/',
11
  'package' => 'packages/{$name}/',
12
+ 'theme' => 'application/themes/{$name}/',
13
  'update' => 'updates/{$name}/',
14
  );
15
  }
vendor/composer/installers/src/Composer/Installers/CraftInstaller.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- /**
5
- * Installer for Craft Plugins
6
- */
7
- class CraftInstaller extends BaseInstaller
8
- {
9
- const NAME_PREFIX = 'craft';
10
- const NAME_SUFFIX = 'plugin';
11
-
12
- protected $locations = array(
13
- 'plugin' => 'craft/plugins/{$name}/',
14
- );
15
-
16
- /**
17
- * Strip `craft-` prefix and/or `-plugin` suffix from package names
18
- *
19
- * @param array $vars
20
- *
21
- * @return array
22
- */
23
- final public function inflectPackageVars($vars)
24
- {
25
- return $this->inflectPluginVars($vars);
26
- }
27
-
28
- private function inflectPluginVars($vars)
29
- {
30
- $vars['name'] = preg_replace('/-' . self::NAME_SUFFIX . '$/i', '', $vars['name']);
31
- $vars['name'] = preg_replace('/^' . self::NAME_PREFIX . '-/i', '', $vars['name']);
32
-
33
- return $vars;
34
- }
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class CroogoInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'Plugin/{$name}/',
8
  'theme' => 'View/Themed/{$name}/',
@@ -11,7 +13,7 @@ class CroogoInstaller extends BaseInstaller
11
  /**
12
  * Format package name to CamelCase
13
  */
14
- public function inflectPackageVars($vars)
15
  {
16
  $vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
17
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class CroogoInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'Plugin/{$name}/',
10
  'theme' => 'View/Themed/{$name}/',
13
  /**
14
  * Format package name to CamelCase
15
  */
16
+ public function inflectPackageVars(array $vars): array
17
  {
18
  $vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
19
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
vendor/composer/installers/src/Composer/Installers/DecibelInstaller.php CHANGED
@@ -1,9 +1,11 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class DecibelInstaller extends BaseInstaller
5
  {
6
  /** @var array */
 
7
  protected $locations = array(
8
  'app' => 'app/{$name}/',
9
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class DecibelInstaller extends BaseInstaller
6
  {
7
  /** @var array */
8
+ /** @var array<string, string> */
9
  protected $locations = array(
10
  'app' => 'app/{$name}/',
11
  );
vendor/composer/installers/src/Composer/Installers/DframeInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class DframeInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'modules/{$vendor}/{$name}/',
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class DokuWikiInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'lib/plugins/{$name}/',
8
  'template' => 'lib/tpl/{$name}/',
@@ -11,15 +13,13 @@ class DokuWikiInstaller extends BaseInstaller
11
  /**
12
  * Format package name.
13
  *
14
- * For package type dokuwiki-plugin, cut off a trailing '-plugin',
15
  * or leading dokuwiki_ if present.
16
- *
17
- * For package type dokuwiki-template, cut off a trailing '-template' if present.
18
  *
 
19
  */
20
- public function inflectPackageVars($vars)
21
  {
22
-
23
  if ($vars['type'] === 'dokuwiki-plugin') {
24
  return $this->inflectPluginVars($vars);
25
  }
@@ -31,20 +31,27 @@ class DokuWikiInstaller extends BaseInstaller
31
  return $vars;
32
  }
33
 
34
- protected function inflectPluginVars($vars)
 
 
 
 
35
  {
36
- $vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
37
- $vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
38
 
39
  return $vars;
40
  }
41
 
42
- protected function inflectTemplateVars($vars)
 
 
 
 
43
  {
44
- $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
45
- $vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
46
 
47
  return $vars;
48
  }
49
-
50
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class DokuWikiInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'lib/plugins/{$name}/',
10
  'template' => 'lib/tpl/{$name}/',
13
  /**
14
  * Format package name.
15
  *
16
+ * For package type dokuwiki-plugin, cut off a trailing '-plugin',
17
  * or leading dokuwiki_ if present.
 
 
18
  *
19
+ * For package type dokuwiki-template, cut off a trailing '-template' if present.
20
  */
21
+ public function inflectPackageVars(array $vars): array
22
  {
 
23
  if ($vars['type'] === 'dokuwiki-plugin') {
24
  return $this->inflectPluginVars($vars);
25
  }
31
  return $vars;
32
  }
33
 
34
+ /**
35
+ * @param array<string, string> $vars
36
+ * @return array<string, string>
37
+ */
38
+ protected function inflectPluginVars(array $vars): array
39
  {
40
+ $vars['name'] = $this->pregReplace('/-plugin$/', '', $vars['name']);
41
+ $vars['name'] = $this->pregReplace('/^dokuwiki_?-?/', '', $vars['name']);
42
 
43
  return $vars;
44
  }
45
 
46
+ /**
47
+ * @param array<string, string> $vars
48
+ * @return array<string, string>
49
+ */
50
+ protected function inflectTemplateVars(array $vars): array
51
  {
52
+ $vars['name'] = $this->pregReplace('/-template$/', '', $vars['name']);
53
+ $vars['name'] = $this->pregReplace('/^dokuwiki_?-?/', '', $vars['name']);
54
 
55
  return $vars;
56
  }
 
57
  }
vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  /**
@@ -10,6 +11,7 @@ namespace Composer\Installers;
10
  class DolibarrInstaller extends BaseInstaller
11
  {
12
  //TODO: Add support for scripts and themes
 
13
  protected $locations = array(
14
  'module' => 'htdocs/custom/{$name}/',
15
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  /**
11
  class DolibarrInstaller extends BaseInstaller
12
  {
13
  //TODO: Add support for scripts and themes
14
+ /** @var array<string, string> */
15
  protected $locations = array(
16
  'module' => 'htdocs/custom/{$name}/',
17
  );
vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php CHANGED
@@ -1,16 +1,24 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class DrupalInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
- 'core' => 'core/',
8
- 'module' => 'modules/{$name}/',
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
  );
16
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class DrupalInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
+ 'core' => 'core/',
10
+ 'module' => 'modules/{$name}/',
11
+ 'theme' => 'themes/{$name}/',
12
+ 'library' => 'libraries/{$name}/',
13
+ 'profile' => 'profiles/{$name}/',
14
+ 'database-driver' => 'drivers/lib/Drupal/Driver/Database/{$name}/',
15
+ 'drush' => 'drush/{$name}/',
16
+ 'custom-theme' => 'themes/custom/{$name}/',
17
+ 'custom-module' => 'modules/custom/{$name}/',
18
+ 'custom-profile' => 'profiles/custom/{$name}/',
19
+ 'drupal-multisite' => 'sites/{$name}/',
20
+ 'console' => 'console/{$name}/',
21
+ 'console-language' => 'console/language/{$name}/',
22
+ 'config' => 'config/sync/',
23
  );
24
  }
vendor/composer/installers/src/Composer/Installers/ElggInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ElggInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'mod/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ElggInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'mod/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/EliasisInstaller.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class EliasisInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'component' => 'components/{$name}/',
10
+ 'module' => 'modules/{$name}/',
11
+ 'plugin' => 'plugins/{$name}/',
12
+ 'template' => 'templates/{$name}/',
13
+ );
14
+ }
vendor/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php CHANGED
@@ -1,29 +1,31 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  use Composer\Package\PackageInterface;
5
 
6
  class ExpressionEngineInstaller extends BaseInstaller
7
  {
8
-
9
- protected $locations = array();
10
-
11
  private $ee2Locations = array(
12
  'addon' => 'system/expressionengine/third_party/{$name}/',
13
  'theme' => 'themes/third_party/{$name}/',
14
  );
15
 
 
16
  private $ee3Locations = array(
17
  'addon' => 'system/user/addons/{$name}/',
18
  'theme' => 'themes/user/{$name}/',
19
  );
20
 
21
- public function getInstallPath(PackageInterface $package, $frameworkType = '')
22
  {
 
 
 
 
 
23
 
24
- $version = "{$frameworkType}Locations";
25
- $this->locations = $this->$version;
26
-
27
- return parent::getInstallPath($package, $frameworkType);
28
  }
29
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  use Composer\Package\PackageInterface;
6
 
7
  class ExpressionEngineInstaller extends BaseInstaller
8
  {
9
+ /** @var array<string, string> */
 
 
10
  private $ee2Locations = array(
11
  'addon' => 'system/expressionengine/third_party/{$name}/',
12
  'theme' => 'themes/third_party/{$name}/',
13
  );
14
 
15
+ /** @var array<string, string> */
16
  private $ee3Locations = array(
17
  'addon' => 'system/user/addons/{$name}/',
18
  'theme' => 'themes/user/{$name}/',
19
  );
20
 
21
+ public function getLocations(string $frameworkType): array
22
  {
23
+ if ($frameworkType === 'ee2') {
24
+ $this->locations = $this->ee2Locations;
25
+ } else {
26
+ $this->locations = $this->ee3Locations;
27
+ }
28
 
29
+ return $this->locations;
 
 
 
30
  }
31
  }
vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class EzPlatformInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'meta-assets' => 'web/assets/ezplatform/',
10
+ 'assets' => 'web/assets/ezplatform/{$name}/',
11
+ );
12
+ }
vendor/composer/installers/src/Composer/Installers/FuelInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class FuelInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'fuel/app/modules/{$name}/',
8
  'package' => 'fuel/packages/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class FuelInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'fuel/app/modules/{$name}/',
10
  'package' => 'fuel/packages/{$name}/',
vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class FuelphpInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'component' => 'components/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class FuelphpInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'component' => 'components/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/GravInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class GravInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'user/plugins/{$name}/',
8
  'theme' => 'user/themes/{$name}/',
@@ -10,17 +12,14 @@ class GravInstaller extends BaseInstaller
10
 
11
  /**
12
  * Format package name
13
- *
14
- * @param array $vars
15
- *
16
- * @return array
17
  */
18
- public function inflectPackageVars($vars)
19
  {
20
  $restrictedWords = implode('|', array_keys($this->locations));
21
 
22
  $vars['name'] = strtolower($vars['name']);
23
- $vars['name'] = preg_replace('/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui',
 
24
  '$1',
25
  $vars['name']
26
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class GravInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'user/plugins/{$name}/',
10
  'theme' => 'user/themes/{$name}/',
12
 
13
  /**
14
  * Format package name
 
 
 
 
15
  */
16
+ public function inflectPackageVars(array $vars): array
17
  {
18
  $restrictedWords = implode('|', array_keys($this->locations));
19
 
20
  $vars['name'] = strtolower($vars['name']);
21
+ $vars['name'] = $this->pregReplace(
22
+ '/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui',
23
  '$1',
24
  $vars['name']
25
  );
vendor/composer/installers/src/Composer/Installers/HuradInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class HuradInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'plugins/{$name}/',
8
  'theme' => 'plugins/{$name}/',
@@ -11,11 +13,11 @@ class HuradInstaller extends BaseInstaller
11
  /**
12
  * Format package name to CamelCase
13
  */
14
- public function inflectPackageVars($vars)
15
  {
16
  $nameParts = explode('/', $vars['name']);
17
  foreach ($nameParts as &$value) {
18
- $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
19
  $value = str_replace(array('-', '_'), ' ', $value);
20
  $value = str_replace(' ', '', ucwords($value));
21
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class HuradInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'plugins/{$name}/',
10
  'theme' => 'plugins/{$name}/',
13
  /**
14
  * Format package name to CamelCase
15
  */
16
+ public function inflectPackageVars(array $vars): array
17
  {
18
  $nameParts = explode('/', $vars['name']);
19
  foreach ($nameParts as &$value) {
20
+ $value = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $value));
21
  $value = str_replace(array('-', '_'), ' ', $value);
22
  $value = str_replace(' ', '', ucwords($value));
23
  }
vendor/composer/installers/src/Composer/Installers/ImageCMSInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ImageCMSInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'template' => 'templates/{$name}/',
8
  'module' => 'application/modules/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ImageCMSInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'template' => 'templates/{$name}/',
10
  'module' => 'application/modules/{$name}/',
vendor/composer/installers/src/Composer/Installers/Installer.php CHANGED
@@ -1,20 +1,26 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
- use Composer\IO\IOInterface;
 
5
  use Composer\Installer\LibraryInstaller;
 
 
6
  use Composer\Package\PackageInterface;
7
  use Composer\Repository\InstalledRepositoryInterface;
 
 
8
 
9
  class Installer extends LibraryInstaller
10
  {
11
  /**
12
  * Package types to installer class map
13
  *
14
- * @var array
15
  */
16
  private $supportedTypes = array(
17
- 'aimeos' => 'AimeosInstaller',
18
  'asgard' => 'AsgardInstaller',
19
  'attogram' => 'AttogramInstaller',
20
  'agl' => 'AglInstaller',
@@ -23,61 +29,83 @@ class Installer extends LibraryInstaller
23
  'bonefish' => 'BonefishInstaller',
24
  'cakephp' => 'CakePHPInstaller',
25
  'chef' => 'ChefInstaller',
 
26
  'ccframework' => 'ClanCatsFrameworkInstaller',
27
  'cockpit' => 'CockpitInstaller',
28
  'codeigniter' => 'CodeIgniterInstaller',
29
  'concrete5' => 'Concrete5Installer',
30
- 'craft' => 'CraftInstaller',
31
  'croogo' => 'CroogoInstaller',
 
32
  'dokuwiki' => 'DokuWikiInstaller',
33
  'dolibarr' => 'DolibarrInstaller',
34
  'decibel' => 'DecibelInstaller',
35
  'drupal' => 'DrupalInstaller',
36
  'elgg' => 'ElggInstaller',
 
37
  'ee3' => 'ExpressionEngineInstaller',
38
  'ee2' => 'ExpressionEngineInstaller',
 
39
  'fuel' => 'FuelInstaller',
40
  'fuelphp' => 'FuelphpInstaller',
41
  'grav' => 'GravInstaller',
42
  'hurad' => 'HuradInstaller',
 
43
  'imagecms' => 'ImageCMSInstaller',
44
- 'joomla' => 'JoomlaInstaller',
45
- 'kirby' => 'KirbyInstaller',
 
46
  'kodicms' => 'KodiCMSInstaller',
47
  'kohana' => 'KohanaInstaller',
 
48
  'laravel' => 'LaravelInstaller',
 
49
  'lithium' => 'LithiumInstaller',
50
  'magento' => 'MagentoInstaller',
 
 
51
  'mako' => 'MakoInstaller',
 
52
  'mautic' => 'MauticInstaller',
53
  'mediawiki' => 'MediaWikiInstaller',
 
54
  'microweber' => 'MicroweberInstaller',
55
  'modulework' => 'MODULEWorkInstaller',
 
56
  'modxevo' => 'MODXEvoInstaller',
57
  'moodle' => 'MoodleInstaller',
58
  'october' => 'OctoberInstaller',
 
59
  'oxid' => 'OxidInstaller',
 
 
60
  'phpbb' => 'PhpBBInstaller',
61
- 'pimcore' => 'PimcoreInstaller',
62
  'piwik' => 'PiwikInstaller',
63
  'plentymarkets'=> 'PlentymarketsInstaller',
64
  'ppi' => 'PPIInstaller',
65
  'puppet' => 'PuppetInstaller',
66
  'radphp' => 'RadPHPInstaller',
67
  'phifty' => 'PhiftyInstaller',
 
 
 
68
  'redaxo' => 'RedaxoInstaller',
 
69
  'reindex' => 'ReIndexInstaller',
70
  'roundcube' => 'RoundcubeInstaller',
71
  'shopware' => 'ShopwareInstaller',
 
72
  'silverstripe' => 'SilverStripeInstaller',
73
  'smf' => 'SMFInstaller',
74
- 'symfony1' => 'Symfony1Installer',
 
 
 
75
  'thelia' => 'TheliaInstaller',
76
  'tusk' => 'TuskInstaller',
77
- 'typo3-cms' => 'TYPO3CmsInstaller',
78
- 'typo3-flow' => 'TYPO3FlowInstaller',
79
  'vanilla' => 'VanillaInstaller',
80
  'whmcs' => 'WHMCSInstaller',
 
81
  'wolfcms' => 'WolfCMSInstaller',
82
  'wordpress' => 'WordPressInstaller',
83
  'yawik' => 'YawikInstaller',
@@ -86,6 +114,21 @@ class Installer extends LibraryInstaller
86
  'prestashop' => 'PrestashopInstaller'
87
  );
88
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  /**
90
  * {@inheritDoc}
91
  */
@@ -103,19 +146,33 @@ class Installer extends LibraryInstaller
103
  $class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
104
  $installer = new $class($package, $this->composer, $this->getIO());
105
 
106
- return $installer->getInstallPath($package, $frameworkType);
 
 
 
 
 
107
  }
108
 
109
  public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
110
  {
111
- if (!$repo->hasPackage($package)) {
112
- throw new \InvalidArgumentException('Package is not installed: '.$package);
 
 
 
 
 
 
 
 
 
113
  }
114
 
115
- $repo->removePackage($package);
 
116
 
117
- $installPath = $this->getInstallPath($package);
118
- $this->io->write(sprintf('Deleting %s - %s', $installPath, $this->filesystem->removeDirectory($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
119
  }
120
 
121
  /**
@@ -137,53 +194,86 @@ class Installer extends LibraryInstaller
137
  /**
138
  * Finds a supported framework type if it exists and returns it
139
  *
140
- * @param string $type
141
- * @return string
142
  */
143
- protected function findFrameworkType($type)
144
  {
145
- $frameworkType = false;
146
-
147
  krsort($this->supportedTypes);
148
 
149
  foreach ($this->supportedTypes as $key => $val) {
150
  if ($key === substr($type, 0, strlen($key))) {
151
- $frameworkType = substr($type, 0, strlen($key));
152
- break;
153
  }
154
  }
155
 
156
- return $frameworkType;
157
  }
158
 
159
  /**
160
  * Get the second part of the regular expression to check for support of a
161
  * package type
162
- *
163
- * @param string $frameworkType
164
- * @return string
165
  */
166
- protected function getLocationPattern($frameworkType)
167
  {
168
- $pattern = false;
169
  if (!empty($this->supportedTypes[$frameworkType])) {
170
  $frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
171
  /** @var BaseInstaller $framework */
172
- $framework = new $frameworkClass(null, $this->composer, $this->getIO());
173
- $locations = array_keys($framework->getLocations());
174
- $pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
 
 
175
  }
176
 
177
- return $pattern ? : '(\w+)';
 
 
 
 
 
178
  }
179
 
180
  /**
181
- * Get I/O object
 
182
  *
183
- * @return IOInterface
 
 
 
184
  */
185
- private function getIO()
186
  {
187
- return $this->io;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
  }
189
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
+ use Composer\Composer;
6
+ use Composer\Installer\BinaryInstaller;
7
  use Composer\Installer\LibraryInstaller;
8
+ use Composer\IO\IOInterface;
9
+ use Composer\Package\Package;
10
  use Composer\Package\PackageInterface;
11
  use Composer\Repository\InstalledRepositoryInterface;
12
+ use Composer\Util\Filesystem;
13
+ use React\Promise\PromiseInterface;
14
 
15
  class Installer extends LibraryInstaller
16
  {
17
  /**
18
  * Package types to installer class map
19
  *
20
+ * @var array<string, string>
21
  */
22
  private $supportedTypes = array(
23
+ 'akaunting' => 'AkauntingInstaller',
24
  'asgard' => 'AsgardInstaller',
25
  'attogram' => 'AttogramInstaller',
26
  'agl' => 'AglInstaller',
29
  'bonefish' => 'BonefishInstaller',
30
  'cakephp' => 'CakePHPInstaller',
31
  'chef' => 'ChefInstaller',
32
+ 'civicrm' => 'CiviCrmInstaller',
33
  'ccframework' => 'ClanCatsFrameworkInstaller',
34
  'cockpit' => 'CockpitInstaller',
35
  'codeigniter' => 'CodeIgniterInstaller',
36
  'concrete5' => 'Concrete5Installer',
 
37
  'croogo' => 'CroogoInstaller',
38
+ 'dframe' => 'DframeInstaller',
39
  'dokuwiki' => 'DokuWikiInstaller',
40
  'dolibarr' => 'DolibarrInstaller',
41
  'decibel' => 'DecibelInstaller',
42
  'drupal' => 'DrupalInstaller',
43
  'elgg' => 'ElggInstaller',
44
+ 'eliasis' => 'EliasisInstaller',
45
  'ee3' => 'ExpressionEngineInstaller',
46
  'ee2' => 'ExpressionEngineInstaller',
47
+ 'ezplatform' => 'EzPlatformInstaller',
48
  'fuel' => 'FuelInstaller',
49
  'fuelphp' => 'FuelphpInstaller',
50
  'grav' => 'GravInstaller',
51
  'hurad' => 'HuradInstaller',
52
+ 'tastyigniter' => 'TastyIgniterInstaller',
53
  'imagecms' => 'ImageCMSInstaller',
54
+ 'itop' => 'ItopInstaller',
55
+ 'kanboard' => 'KanboardInstaller',
56
+ 'known' => 'KnownInstaller',
57
  'kodicms' => 'KodiCMSInstaller',
58
  'kohana' => 'KohanaInstaller',
59
+ 'lms' => 'LanManagementSystemInstaller',
60
  'laravel' => 'LaravelInstaller',
61
+ 'lavalite' => 'LavaLiteInstaller',
62
  'lithium' => 'LithiumInstaller',
63
  'magento' => 'MagentoInstaller',
64
+ 'majima' => 'MajimaInstaller',
65
+ 'mantisbt' => 'MantisBTInstaller',
66
  'mako' => 'MakoInstaller',
67
+ 'maya' => 'MayaInstaller',
68
  'mautic' => 'MauticInstaller',
69
  'mediawiki' => 'MediaWikiInstaller',
70
+ 'miaoxing' => 'MiaoxingInstaller',
71
  'microweber' => 'MicroweberInstaller',
72
  'modulework' => 'MODULEWorkInstaller',
73
+ 'modx' => 'ModxInstaller',
74
  'modxevo' => 'MODXEvoInstaller',
75
  'moodle' => 'MoodleInstaller',
76
  'october' => 'OctoberInstaller',
77
+ 'ontowiki' => 'OntoWikiInstaller',
78
  'oxid' => 'OxidInstaller',
79
+ 'osclass' => 'OsclassInstaller',
80
+ 'pxcms' => 'PxcmsInstaller',
81
  'phpbb' => 'PhpBBInstaller',
 
82
  'piwik' => 'PiwikInstaller',
83
  'plentymarkets'=> 'PlentymarketsInstaller',
84
  'ppi' => 'PPIInstaller',
85
  'puppet' => 'PuppetInstaller',
86
  'radphp' => 'RadPHPInstaller',
87
  'phifty' => 'PhiftyInstaller',
88
+ 'porto' => 'PortoInstaller',
89
+ 'processwire' => 'ProcessWireInstaller',
90
+ 'quicksilver' => 'PantheonInstaller',
91
  'redaxo' => 'RedaxoInstaller',
92
+ 'redaxo5' => 'Redaxo5Installer',
93
  'reindex' => 'ReIndexInstaller',
94
  'roundcube' => 'RoundcubeInstaller',
95
  'shopware' => 'ShopwareInstaller',
96
+ 'sitedirect' => 'SiteDirectInstaller',
97
  'silverstripe' => 'SilverStripeInstaller',
98
  'smf' => 'SMFInstaller',
99
+ 'starbug' => 'StarbugInstaller',
100
+ 'sydes' => 'SyDESInstaller',
101
+ 'sylius' => 'SyliusInstaller',
102
+ 'tao' => 'TaoInstaller',
103
  'thelia' => 'TheliaInstaller',
104
  'tusk' => 'TuskInstaller',
105
+ 'userfrosting' => 'UserFrostingInstaller',
 
106
  'vanilla' => 'VanillaInstaller',
107
  'whmcs' => 'WHMCSInstaller',
108
+ 'winter' => 'WinterInstaller',
109
  'wolfcms' => 'WolfCMSInstaller',
110
  'wordpress' => 'WordPressInstaller',
111
  'yawik' => 'YawikInstaller',
114
  'prestashop' => 'PrestashopInstaller'
115
  );
116
 
117
+ /**
118
+ * Disables installers specified in main composer extra installer-disable
119
+ * list
120
+ */
121
+ public function __construct(
122
+ IOInterface $io,
123
+ Composer $composer,
124
+ string $type = 'library',
125
+ ?Filesystem $filesystem = null,
126
+ ?BinaryInstaller $binaryInstaller = null
127
+ ) {
128
+ parent::__construct($io, $composer, $type, $filesystem, $binaryInstaller);
129
+ $this->removeDisabledInstallers();
130
+ }
131
+
132
  /**
133
  * {@inheritDoc}
134
  */
146
  $class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
147
  $installer = new $class($package, $this->composer, $this->getIO());
148
 
149
+ $path = $installer->getInstallPath($package, $frameworkType);
150
+ if (!$this->filesystem->isAbsolutePath($path)) {
151
+ $path = getcwd() . '/' . $path;
152
+ }
153
+
154
+ return $path;
155
  }
156
 
157
  public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
158
  {
159
+ $installPath = $this->getPackageBasePath($package);
160
+ $io = $this->io;
161
+ $outputStatus = function () use ($io, $installPath) {
162
+ $io->write(sprintf('Deleting %s - %s', $installPath, !file_exists($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
163
+ };
164
+
165
+ $promise = parent::uninstall($repo, $package);
166
+
167
+ // Composer v2 might return a promise here
168
+ if ($promise instanceof PromiseInterface) {
169
+ return $promise->then($outputStatus);
170
  }
171
 
172
+ // If not, execute the code right away as parent::uninstall executed synchronously (composer v1, or v2 without async)
173
+ $outputStatus();
174
 
175
+ return null;
 
176
  }
177
 
178
  /**
194
  /**
195
  * Finds a supported framework type if it exists and returns it
196
  *
197
+ * @return string|false
 
198
  */
199
+ protected function findFrameworkType(string $type)
200
  {
 
 
201
  krsort($this->supportedTypes);
202
 
203
  foreach ($this->supportedTypes as $key => $val) {
204
  if ($key === substr($type, 0, strlen($key))) {
205
+ return substr($type, 0, strlen($key));
 
206
  }
207
  }
208
 
209
+ return false;
210
  }
211
 
212
  /**
213
  * Get the second part of the regular expression to check for support of a
214
  * package type
 
 
 
215
  */
216
+ protected function getLocationPattern(string $frameworkType): string
217
  {
218
+ $pattern = null;
219
  if (!empty($this->supportedTypes[$frameworkType])) {
220
  $frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
221
  /** @var BaseInstaller $framework */
222
+ $framework = new $frameworkClass(new Package('dummy/pkg', '1.0.0.0', '1.0.0'), $this->composer, $this->getIO());
223
+ $locations = array_keys($framework->getLocations($frameworkType));
224
+ if ($locations) {
225
+ $pattern = '(' . implode('|', $locations) . ')';
226
+ }
227
  }
228
 
229
+ return $pattern ?: '(\w+)';
230
+ }
231
+
232
+ private function getIO(): IOInterface
233
+ {
234
+ return $this->io;
235
  }
236
 
237
  /**
238
+ * Look for installers set to be disabled in composer's extra config and
239
+ * remove them from the list of supported installers.
240
  *
241
+ * Globals:
242
+ * - true, "all", and "*" - disable all installers.
243
+ * - false - enable all installers (useful with
244
+ * wikimedia/composer-merge-plugin or similar)
245
  */
246
+ protected function removeDisabledInstallers(): void
247
  {
248
+ $extra = $this->composer->getPackage()->getExtra();
249
+
250
+ if (!isset($extra['installer-disable']) || $extra['installer-disable'] === false) {
251
+ // No installers are disabled
252
+ return;
253
+ }
254
+
255
+ // Get installers to disable
256
+ $disable = $extra['installer-disable'];
257
+
258
+ // Ensure $disabled is an array
259
+ if (!is_array($disable)) {
260
+ $disable = array($disable);
261
+ }
262
+
263
+ // Check which installers should be disabled
264
+ $all = array(true, "all", "*");
265
+ $intersect = array_intersect($all, $disable);
266
+ if (!empty($intersect)) {
267
+ // Disable all installers
268
+ $this->supportedTypes = array();
269
+ return;
270
+ }
271
+
272
+ // Disable specified installers
273
+ foreach ($disable as $key => $installer) {
274
+ if (is_string($installer) && key_exists($installer, $this->supportedTypes)) {
275
+ unset($this->supportedTypes[$installer]);
276
+ }
277
+ }
278
  }
279
  }
vendor/composer/installers/src/Composer/Installers/ItopInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class ItopInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'extension' => 'extensions/{$name}/',
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- class JoomlaInstaller extends BaseInstaller
5
- {
6
- protected $locations = array(
7
- 'component' => 'components/{$name}/',
8
- 'module' => 'modules/{$name}/',
9
- 'template' => 'templates/{$name}/',
10
- 'plugin' => 'plugins/{$name}/',
11
- 'library' => 'libraries/{$name}/',
12
- );
13
-
14
- // TODO: Add inflector for mod_ and com_ names
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ /**
6
+ *
7
+ * Installer for kanboard plugins
8
+ *
9
+ * kanboard.net
10
+ *
11
+ * Class KanboardInstaller
12
+ * @package Composer\Installers
13
+ */
14
+ class KanboardInstaller extends BaseInstaller
15
+ {
16
+ /** @var array<string, string> */
17
+ protected $locations = array(
18
+ 'plugin' => 'plugins/{$name}/',
19
+ );
20
+ }
vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php DELETED
@@ -1,11 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- class KirbyInstaller extends BaseInstaller
5
- {
6
- protected $locations = array(
7
- 'plugin' => 'site/plugins/{$name}/',
8
- 'field' => 'site/fields/{$name}/',
9
- 'tag' => 'site/tags/{$name}/'
10
- );
11
- }
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/KnownInstaller.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class KnownInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'plugin' => 'IdnoPlugins/{$name}/',
10
+ 'theme' => 'Themes/{$name}/',
11
+ 'console' => 'ConsolePlugins/{$name}/',
12
+ );
13
+ }
vendor/composer/installers/src/Composer/Installers/KodiCMSInstaller.php CHANGED
@@ -1,10 +1,12 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class KodiCMSInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'cms/plugins/{$name}/',
8
  'media' => 'cms/media/vendor/{$name}/'
9
  );
10
- }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class KodiCMSInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'cms/plugins/{$name}/',
10
  'media' => 'cms/media/vendor/{$name}/'
11
  );
12
+ }
vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class KohanaInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class KohanaInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class LanManagementSystemInstaller extends BaseInstaller
6
+ {
7
+
8
+ /** @var array<string, string> */
9
+ protected $locations = array(
10
+ 'plugin' => 'plugins/{$name}/',
11
+ 'template' => 'templates/{$name}/',
12
+ 'document-template' => 'documents/templates/{$name}/',
13
+ 'userpanel-module' => 'userpanel/modules/{$name}/',
14
+ );
15
+
16
+ /**
17
+ * Format package name to CamelCase
18
+ */
19
+ public function inflectPackageVars(array $vars): array
20
+ {
21
+ $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
22
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
23
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
24
+
25
+ return $vars;
26
+ }
27
+ }
vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class LaravelInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'library' => 'libraries/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class LaravelInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'library' => 'libraries/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class LavaLiteInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'package' => 'packages/{$vendor}/{$name}/',
10
+ 'theme' => 'public/themes/{$name}/',
11
+ );
12
+ }
vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class LithiumInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'library' => 'libraries/{$name}/',
8
  'source' => 'libraries/_source/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class LithiumInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'library' => 'libraries/{$name}/',
10
  'source' => 'libraries/_source/{$name}/',
vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class MODULEWorkInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class MODULEWorkInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  /**
@@ -6,6 +7,7 @@ namespace Composer\Installers;
6
  */
7
  class MODXEvoInstaller extends BaseInstaller
8
  {
 
9
  protected $locations = array(
10
  'snippet' => 'assets/snippets/{$name}/',
11
  'plugin' => 'assets/plugins/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  /**
7
  */
8
  class MODXEvoInstaller extends BaseInstaller
9
  {
10
+ /** @var array<string, string> */
11
  protected $locations = array(
12
  'snippet' => 'assets/snippets/{$name}/',
13
  'plugin' => 'assets/plugins/{$name}/',
vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class MagentoInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'theme' => 'app/design/frontend/{$name}/',
8
  'skin' => 'skin/frontend/default/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class MagentoInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'theme' => 'app/design/frontend/{$name}/',
10
  'skin' => 'skin/frontend/default/{$name}/',
vendor/composer/installers/src/Composer/Installers/MajimaInstaller.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ /**
6
+ * Plugin/theme installer for majima
7
+ * @author David Neustadt
8
+ */
9
+ class MajimaInstaller extends BaseInstaller
10
+ {
11
+ /** @var array<string, string> */
12
+ protected $locations = array(
13
+ 'plugin' => 'plugins/{$name}/',
14
+ );
15
+
16
+ /**
17
+ * Transforms the names
18
+ *
19
+ * @param array<string, string> $vars
20
+ * @return array<string, string>
21
+ */
22
+ public function inflectPackageVars(array $vars): array
23
+ {
24
+ return $this->correctPluginName($vars);
25
+ }
26
+
27
+ /**
28
+ * Change hyphenated names to camelcase
29
+ *
30
+ * @param array<string, string> $vars
31
+ * @return array<string, string>
32
+ */
33
+ private function correctPluginName(array $vars): array
34
+ {
35
+ $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
36
+ return strtoupper($matches[0][1]);
37
+ }, $vars['name']);
38
+
39
+ if (null === $camelCasedName) {
40
+ throw new \RuntimeException('Failed to run preg_replace_callback: '.preg_last_error());
41
+ }
42
+
43
+ $vars['name'] = ucfirst($camelCasedName);
44
+ return $vars;
45
+ }
46
+ }
vendor/composer/installers/src/Composer/Installers/MakoInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class MakoInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'package' => 'app/packages/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class MakoInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'package' => 'app/packages/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/{PimcoreInstaller.php → MantisBTInstaller.php} RENAMED
@@ -1,8 +1,12 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
- class PimcoreInstaller extends BaseInstaller
 
 
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'plugins/{$name}/',
8
  );
@@ -10,9 +14,9 @@ class PimcoreInstaller extends BaseInstaller
10
  /**
11
  * Format package name to CamelCase
12
  */
13
- public function inflectPackageVars($vars)
14
  {
15
- $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
16
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
17
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
18
 
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
+ use Composer\DependencyResolver\Pool;
6
+
7
+ class MantisBTInstaller extends BaseInstaller
8
  {
9
+ /** @var array<string, string> */
10
  protected $locations = array(
11
  'plugin' => 'plugins/{$name}/',
12
  );
14
  /**
15
  * Format package name to CamelCase
16
  */
17
+ public function inflectPackageVars(array $vars): array
18
  {
19
+ $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
20
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
21
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
22
 
vendor/composer/installers/src/Composer/Installers/MauticInstaller.php CHANGED
@@ -1,25 +1,43 @@
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;
23
  }
24
-
25
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
+ use Composer\Package\PackageInterface;
6
+
7
  class MauticInstaller extends BaseInstaller
8
  {
9
+ /** @var array<string, string> */
10
  protected $locations = array(
11
+ 'plugin' => 'plugins/{$name}/',
12
+ 'theme' => 'themes/{$name}/',
13
+ 'core' => 'app/',
14
  );
15
 
16
+ private function getDirectoryName(): string
17
+ {
18
+ $extra = $this->package->getExtra();
19
+ if (!empty($extra['install-directory-name'])) {
20
+ return $extra['install-directory-name'];
21
+ }
22
+
23
+ return $this->toCamelCase($this->package->getPrettyName());
24
+ }
25
+
26
+ private function toCamelCase(string $packageName): string
27
+ {
28
+ return str_replace(' ', '', ucwords(str_replace('-', ' ', basename($packageName))));
29
+ }
30
+
31
  /**
32
  * Format package name of mautic-plugins to CamelCase
33
  */
34
+ public function inflectPackageVars(array $vars): array
35
  {
36
+ if ($vars['type'] == 'mautic-plugin' || $vars['type'] == 'mautic-theme') {
37
+ $directoryName = $this->getDirectoryName();
38
+ $vars['name'] = $directoryName;
 
39
  }
40
 
41
  return $vars;
42
  }
 
43
  }
vendor/composer/installers/src/Composer/Installers/MayaInstaller.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class MayaInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'modules/{$name}/',
10
+ );
11
+
12
+ /**
13
+ * Format package name.
14
+ *
15
+ * For package type maya-module, cut off a trailing '-module' if present.
16
+ */
17
+ public function inflectPackageVars(array $vars): array
18
+ {
19
+ if ($vars['type'] === 'maya-module') {
20
+ return $this->inflectModuleVars($vars);
21
+ }
22
+
23
+ return $vars;
24
+ }
25
+
26
+ /**
27
+ * @param array<string, string> $vars
28
+ * @return array<string, string>
29
+ */
30
+ protected function inflectModuleVars(array $vars): array
31
+ {
32
+ $vars['name'] = $this->pregReplace('/-module$/', '', $vars['name']);
33
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
34
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
35
+
36
+ return $vars;
37
+ }
38
+ }
vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php CHANGED
@@ -1,9 +1,12 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class MediaWikiInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
 
7
  'extension' => 'extensions/{$name}/',
8
  'skin' => 'skins/{$name}/',
9
  );
@@ -15,11 +18,9 @@ class MediaWikiInstaller extends BaseInstaller
15
  * to CamelCase keeping existing uppercase chars.
16
  *
17
  * For package type mediawiki-skin, cut off a trailing '-skin' if present.
18
- *
19
  */
20
- public function inflectPackageVars($vars)
21
  {
22
-
23
  if ($vars['type'] === 'mediawiki-extension') {
24
  return $this->inflectExtensionVars($vars);
25
  }
@@ -31,20 +32,27 @@ class MediaWikiInstaller extends BaseInstaller
31
  return $vars;
32
  }
33
 
34
- protected function inflectExtensionVars($vars)
 
 
 
 
35
  {
36
- $vars['name'] = preg_replace('/-extension$/', '', $vars['name']);
37
  $vars['name'] = str_replace('-', ' ', $vars['name']);
38
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
39
 
40
  return $vars;
41
  }
42
 
43
- protected function inflectSkinVars($vars)
 
 
 
 
44
  {
45
- $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
46
 
47
  return $vars;
48
  }
49
-
50
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class MediaWikiInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
+ 'core' => 'core/',
10
  'extension' => 'extensions/{$name}/',
11
  'skin' => 'skins/{$name}/',
12
  );
18
  * to CamelCase keeping existing uppercase chars.
19
  *
20
  * For package type mediawiki-skin, cut off a trailing '-skin' if present.
 
21
  */
22
+ public function inflectPackageVars(array $vars): array
23
  {
 
24
  if ($vars['type'] === 'mediawiki-extension') {
25
  return $this->inflectExtensionVars($vars);
26
  }
32
  return $vars;
33
  }
34
 
35
+ /**
36
+ * @param array<string, string> $vars
37
+ * @return array<string, string>
38
+ */
39
+ protected function inflectExtensionVars(array $vars): array
40
  {
41
+ $vars['name'] = $this->pregReplace('/-extension$/', '', $vars['name']);
42
  $vars['name'] = str_replace('-', ' ', $vars['name']);
43
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
44
 
45
  return $vars;
46
  }
47
 
48
+ /**
49
+ * @param array<string, string> $vars
50
+ * @return array<string, string>
51
+ */
52
+ protected function inflectSkinVars(array $vars): array
53
  {
54
+ $vars['name'] = $this->pregReplace('/-skin$/', '', $vars['name']);
55
 
56
  return $vars;
57
  }
 
58
  }
vendor/composer/installers/src/Composer/Installers/MiaoxingInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class MiaoxingInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'plugin' => 'plugins/{$name}/',
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php CHANGED
@@ -1,15 +1,17 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class MicroweberInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
- 'module' => 'userfiles/modules/{$name}/',
8
- 'module-skin' => 'userfiles/modules/{$name}/templates/',
9
- 'template' => 'userfiles/templates/{$name}/',
10
- 'element' => 'userfiles/elements/{$name}/',
11
- 'vendor' => 'vendor/{$name}/',
12
- 'components' => 'components/{$name}/'
13
  );
14
 
15
  /**
@@ -18,93 +20,125 @@ class MicroweberInstaller extends BaseInstaller
18
  * For package type microweber-module, cut off a trailing '-module' if present
19
  *
20
  * For package type microweber-template, cut off a trailing '-template' if present.
21
- *
22
  */
23
- public function inflectPackageVars($vars)
24
  {
25
- if ($vars['type'] === 'microweber-template') {
26
- return $this->inflectTemplateVars($vars);
27
- }
28
- if ($vars['type'] === 'microweber-templates') {
29
- return $this->inflectTemplatesVars($vars);
30
- }
31
- if ($vars['type'] === 'microweber-core') {
32
- return $this->inflectCoreVars($vars);
33
- }
34
- if ($vars['type'] === 'microweber-adapter') {
35
- return $this->inflectCoreVars($vars);
36
- }
37
- if ($vars['type'] === 'microweber-module') {
38
- return $this->inflectModuleVars($vars);
39
- }
40
- if ($vars['type'] === 'microweber-modules') {
41
- return $this->inflectModulesVars($vars);
42
- }
43
- if ($vars['type'] === 'microweber-skin') {
44
- return $this->inflectSkinVars($vars);
45
- }
46
- if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
47
- return $this->inflectElementVars($vars);
 
 
 
 
 
48
  }
49
 
50
  return $vars;
51
  }
52
 
53
- protected function inflectTemplateVars($vars)
 
 
 
 
54
  {
55
- $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
56
- $vars['name'] = preg_replace('/template-$/', '', $vars['name']);
57
 
58
  return $vars;
59
  }
60
 
61
- protected function inflectTemplatesVars($vars)
 
 
 
 
62
  {
63
- $vars['name'] = preg_replace('/-templates$/', '', $vars['name']);
64
- $vars['name'] = preg_replace('/templates-$/', '', $vars['name']);
65
 
66
  return $vars;
67
  }
68
 
69
- protected function inflectCoreVars($vars)
 
 
 
 
70
  {
71
- $vars['name'] = preg_replace('/-providers$/', '', $vars['name']);
72
- $vars['name'] = preg_replace('/-provider$/', '', $vars['name']);
73
- $vars['name'] = preg_replace('/-adapter$/', '', $vars['name']);
74
 
75
  return $vars;
76
  }
77
 
78
- protected function inflectModuleVars($vars)
 
 
 
 
79
  {
80
- $vars['name'] = preg_replace('/-module$/', '', $vars['name']);
81
- $vars['name'] = preg_replace('/module-$/', '', $vars['name']);
82
 
83
  return $vars;
84
  }
85
 
86
- protected function inflectModulesVars($vars)
 
 
 
 
87
  {
88
- $vars['name'] = preg_replace('/-modules$/', '', $vars['name']);
89
- $vars['name'] = preg_replace('/modules-$/', '', $vars['name']);
90
 
91
  return $vars;
92
  }
93
 
94
- protected function inflectSkinVars($vars)
 
 
 
 
95
  {
96
- $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
97
- $vars['name'] = preg_replace('/skin-$/', '', $vars['name']);
98
 
99
  return $vars;
100
  }
101
 
102
- protected function inflectElementVars($vars)
 
 
 
 
103
  {
104
- $vars['name'] = preg_replace('/-elements$/', '', $vars['name']);
105
- $vars['name'] = preg_replace('/elements-$/', '', $vars['name']);
106
- $vars['name'] = preg_replace('/-element$/', '', $vars['name']);
107
- $vars['name'] = preg_replace('/element-$/', '', $vars['name']);
108
 
109
  return $vars;
110
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class MicroweberInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
+ 'module' => 'userfiles/modules/{$install_item_dir}/',
10
+ 'module-skin' => 'userfiles/modules/{$install_item_dir}/templates/',
11
+ 'template' => 'userfiles/templates/{$install_item_dir}/',
12
+ 'element' => 'userfiles/elements/{$install_item_dir}/',
13
+ 'vendor' => 'vendor/{$install_item_dir}/',
14
+ 'components' => 'components/{$install_item_dir}/'
15
  );
16
 
17
  /**
20
  * For package type microweber-module, cut off a trailing '-module' if present
21
  *
22
  * For package type microweber-template, cut off a trailing '-template' if present.
 
23
  */
24
+ public function inflectPackageVars(array $vars): array
25
  {
26
+ if ($this->package->getTargetDir() !== null && $this->package->getTargetDir() !== '') {
27
+ $vars['install_item_dir'] = $this->package->getTargetDir();
28
+ } else {
29
+ $vars['install_item_dir'] = $vars['name'];
30
+ if ($vars['type'] === 'microweber-template') {
31
+ return $this->inflectTemplateVars($vars);
32
+ }
33
+ if ($vars['type'] === 'microweber-templates') {
34
+ return $this->inflectTemplatesVars($vars);
35
+ }
36
+ if ($vars['type'] === 'microweber-core') {
37
+ return $this->inflectCoreVars($vars);
38
+ }
39
+ if ($vars['type'] === 'microweber-adapter') {
40
+ return $this->inflectCoreVars($vars);
41
+ }
42
+ if ($vars['type'] === 'microweber-module') {
43
+ return $this->inflectModuleVars($vars);
44
+ }
45
+ if ($vars['type'] === 'microweber-modules') {
46
+ return $this->inflectModulesVars($vars);
47
+ }
48
+ if ($vars['type'] === 'microweber-skin') {
49
+ return $this->inflectSkinVars($vars);
50
+ }
51
+ if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
52
+ return $this->inflectElementVars($vars);
53
+ }
54
  }
55
 
56
  return $vars;
57
  }
58
 
59
+ /**
60
+ * @param array<string, string> $vars
61
+ * @return array<string, string>
62
+ */
63
+ protected function inflectTemplateVars(array $vars): array
64
  {
65
+ $vars['install_item_dir'] = $this->pregReplace('/-template$/', '', $vars['install_item_dir']);
66
+ $vars['install_item_dir'] = $this->pregReplace('/template-$/', '', $vars['install_item_dir']);
67
 
68
  return $vars;
69
  }
70
 
71
+ /**
72
+ * @param array<string, string> $vars
73
+ * @return array<string, string>
74
+ */
75
+ protected function inflectTemplatesVars(array $vars): array
76
  {
77
+ $vars['install_item_dir'] = $this->pregReplace('/-templates$/', '', $vars['install_item_dir']);
78
+ $vars['install_item_dir'] = $this->pregReplace('/templates-$/', '', $vars['install_item_dir']);
79
 
80
  return $vars;
81
  }
82
 
83
+ /**
84
+ * @param array<string, string> $vars
85
+ * @return array<string, string>
86
+ */
87
+ protected function inflectCoreVars(array $vars): array
88
  {
89
+ $vars['install_item_dir'] = $this->pregReplace('/-providers$/', '', $vars['install_item_dir']);
90
+ $vars['install_item_dir'] = $this->pregReplace('/-provider$/', '', $vars['install_item_dir']);
91
+ $vars['install_item_dir'] = $this->pregReplace('/-adapter$/', '', $vars['install_item_dir']);
92
 
93
  return $vars;
94
  }
95
 
96
+ /**
97
+ * @param array<string, string> $vars
98
+ * @return array<string, string>
99
+ */
100
+ protected function inflectModuleVars(array $vars): array
101
  {
102
+ $vars['install_item_dir'] = $this->pregReplace('/-module$/', '', $vars['install_item_dir']);
103
+ $vars['install_item_dir'] = $this->pregReplace('/module-$/', '', $vars['install_item_dir']);
104
 
105
  return $vars;
106
  }
107
 
108
+ /**
109
+ * @param array<string, string> $vars
110
+ * @return array<string, string>
111
+ */
112
+ protected function inflectModulesVars(array $vars): array
113
  {
114
+ $vars['install_item_dir'] = $this->pregReplace('/-modules$/', '', $vars['install_item_dir']);
115
+ $vars['install_item_dir'] = $this->pregReplace('/modules-$/', '', $vars['install_item_dir']);
116
 
117
  return $vars;
118
  }
119
 
120
+ /**
121
+ * @param array<string, string> $vars
122
+ * @return array<string, string>
123
+ */
124
+ protected function inflectSkinVars(array $vars): array
125
  {
126
+ $vars['install_item_dir'] = $this->pregReplace('/-skin$/', '', $vars['install_item_dir']);
127
+ $vars['install_item_dir'] = $this->pregReplace('/skin-$/', '', $vars['install_item_dir']);
128
 
129
  return $vars;
130
  }
131
 
132
+ /**
133
+ * @param array<string, string> $vars
134
+ * @return array<string, string>
135
+ */
136
+ protected function inflectElementVars(array $vars): array
137
  {
138
+ $vars['install_item_dir'] = $this->pregReplace('/-elements$/', '', $vars['install_item_dir']);
139
+ $vars['install_item_dir'] = $this->pregReplace('/elements-$/', '', $vars['install_item_dir']);
140
+ $vars['install_item_dir'] = $this->pregReplace('/-element$/', '', $vars['install_item_dir']);
141
+ $vars['install_item_dir'] = $this->pregReplace('/element-$/', '', $vars['install_item_dir']);
142
 
143
  return $vars;
144
  }
vendor/composer/installers/src/Composer/Installers/ModxInstaller.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ /**
6
+ * An installer to handle MODX specifics when installing packages.
7
+ */
8
+ class ModxInstaller extends BaseInstaller
9
+ {
10
+ /** @var array<string, string> */
11
+ protected $locations = array(
12
+ 'extra' => 'core/packages/{$name}/'
13
+ );
14
+ }
vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class MoodleInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'mod' => 'mod/{$name}/',
8
  'admin_report' => 'admin/report/{$name}/',
@@ -11,6 +13,7 @@ class MoodleInstaller extends BaseInstaller
11
  'assignment' => 'mod/assignment/type/{$name}/',
12
  'assignsubmission' => 'mod/assign/submission/{$name}/',
13
  'assignfeedback' => 'mod/assign/feedback/{$name}/',
 
14
  'auth' => 'auth/{$name}/',
15
  'availability' => 'availability/condition/{$name}/',
16
  'block' => 'blocks/{$name}/',
@@ -18,9 +21,14 @@ 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
  'datafield' => 'mod/data/field/{$name}/',
 
24
  'datapreset' => 'mod/data/preset/{$name}/',
25
  'editor' => 'lib/editor/{$name}/',
26
  'enrol' => 'enrol/{$name}/',
@@ -33,8 +41,10 @@ class MoodleInstaller extends BaseInstaller
33
  'logstore' => 'admin/tool/log/store/{$name}/',
34
  'ltisource' => 'mod/lti/source/{$name}/',
35
  'ltiservice' => 'mod/lti/service/{$name}/',
 
36
  'message' => 'message/output/{$name}/',
37
  'mnetservice' => 'mnet/service/{$name}/',
 
38
  'plagiarism' => 'plagiarism/{$name}/',
39
  'portfolio' => 'portfolio/{$name}/',
40
  'qbehaviour' => 'question/behaviour/{$name}/',
@@ -45,6 +55,7 @@ class MoodleInstaller extends BaseInstaller
45
  'report' => 'report/{$name}/',
46
  'repository' => 'repository/{$name}/',
47
  'scormreport' => 'mod/scorm/report/{$name}/',
 
48
  'theme' => 'theme/{$name}/',
49
  'tinymce' => 'lib/editor/tinymce/plugins/{$name}/',
50
  'profilefield' => 'user/profile/field/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class MoodleInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'mod' => 'mod/{$name}/',
10
  'admin_report' => 'admin/report/{$name}/',
13
  'assignment' => 'mod/assignment/type/{$name}/',
14
  'assignsubmission' => 'mod/assign/submission/{$name}/',
15
  'assignfeedback' => 'mod/assign/feedback/{$name}/',
16
+ 'antivirus' => 'lib/antivirus/{$name}/',
17
  'auth' => 'auth/{$name}/',
18
  'availability' => 'availability/condition/{$name}/',
19
  'block' => 'blocks/{$name}/',
21
  'cachestore' => 'cache/stores/{$name}/',
22
  'cachelock' => 'cache/locks/{$name}/',
23
  'calendartype' => 'calendar/type/{$name}/',
24
+ 'customfield' => 'customfield/field/{$name}/',
25
+ 'fileconverter' => 'files/converter/{$name}/',
26
  'format' => 'course/format/{$name}/',
27
  'coursereport' => 'course/report/{$name}/',
28
+ 'contenttype' => 'contentbank/contenttype/{$name}/',
29
+ 'customcertelement' => 'mod/customcert/element/{$name}/',
30
  'datafield' => 'mod/data/field/{$name}/',
31
+ 'dataformat' => 'dataformat/{$name}/',
32
  'datapreset' => 'mod/data/preset/{$name}/',
33
  'editor' => 'lib/editor/{$name}/',
34
  'enrol' => 'enrol/{$name}/',
41
  'logstore' => 'admin/tool/log/store/{$name}/',
42
  'ltisource' => 'mod/lti/source/{$name}/',
43
  'ltiservice' => 'mod/lti/service/{$name}/',
44
+ 'media' => 'media/player/{$name}/',
45
  'message' => 'message/output/{$name}/',
46
  'mnetservice' => 'mnet/service/{$name}/',
47
+ 'paygw' => 'payment/gateway/{$name}/',
48
  'plagiarism' => 'plagiarism/{$name}/',
49
  'portfolio' => 'portfolio/{$name}/',
50
  'qbehaviour' => 'question/behaviour/{$name}/',
55
  'report' => 'report/{$name}/',
56
  'repository' => 'repository/{$name}/',
57
  'scormreport' => 'mod/scorm/report/{$name}/',
58
+ 'search' => 'search/engine/{$name}/',
59
  'theme' => 'theme/{$name}/',
60
  'tinymce' => 'lib/editor/tinymce/plugins/{$name}/',
61
  'profilefield' => 'user/profile/field/{$name}/',
vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php CHANGED
@@ -1,12 +1,14 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class OctoberInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  'plugin' => 'plugins/{$vendor}/{$name}/',
9
- 'theme' => 'themes/{$name}/'
10
  );
11
 
12
  /**
@@ -15,9 +17,8 @@ class OctoberInstaller extends BaseInstaller
15
  * For package type october-plugin, cut off a trailing '-plugin' if present.
16
  *
17
  * For package type october-theme, cut off a trailing '-theme' if present.
18
- *
19
  */
20
- public function inflectPackageVars($vars)
21
  {
22
  if ($vars['type'] === 'october-plugin') {
23
  return $this->inflectPluginVars($vars);
@@ -30,17 +31,27 @@ class OctoberInstaller extends BaseInstaller
30
  return $vars;
31
  }
32
 
33
- protected function inflectPluginVars($vars)
 
 
 
 
34
  {
35
- $vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
 
36
 
37
  return $vars;
38
  }
39
 
40
- protected function inflectThemeVars($vars)
 
 
 
 
41
  {
42
- $vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
 
43
 
44
  return $vars;
45
  }
46
- }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class OctoberInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  'plugin' => 'plugins/{$vendor}/{$name}/',
11
+ 'theme' => 'themes/{$vendor}-{$name}/'
12
  );
13
 
14
  /**
17
  * For package type october-plugin, cut off a trailing '-plugin' if present.
18
  *
19
  * For package type october-theme, cut off a trailing '-theme' if present.
 
20
  */
21
+ public function inflectPackageVars(array $vars): array
22
  {
23
  if ($vars['type'] === 'october-plugin') {
24
  return $this->inflectPluginVars($vars);
31
  return $vars;
32
  }
33
 
34
+ /**
35
+ * @param array<string, string> $vars
36
+ * @return array<string, string>
37
+ */
38
+ protected function inflectPluginVars(array $vars): array
39
  {
40
+ $vars['name'] = $this->pregReplace('/^oc-|-plugin$/', '', $vars['name']);
41
+ $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']);
42
 
43
  return $vars;
44
  }
45
 
46
+ /**
47
+ * @param array<string, string> $vars
48
+ * @return array<string, string>
49
+ */
50
+ protected function inflectThemeVars(array $vars): array
51
  {
52
+ $vars['name'] = $this->pregReplace('/^oc-|-theme$/', '', $vars['name']);
53
+ $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']);
54
 
55
  return $vars;
56
  }
57
+ }
vendor/composer/installers/src/Composer/Installers/OntoWikiInstaller.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class OntoWikiInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'extension' => 'extensions/{$name}/',
10
+ 'theme' => 'extensions/themes/{$name}/',
11
+ 'translation' => 'extensions/translations/{$name}/',
12
+ );
13
+
14
+ /**
15
+ * Format package name to lower case and remove ".ontowiki" suffix
16
+ */
17
+ public function inflectPackageVars(array $vars): array
18
+ {
19
+ $vars['name'] = strtolower($vars['name']);
20
+ $vars['name'] = $this->pregReplace('/.ontowiki$/', '', $vars['name']);
21
+ $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']);
22
+ $vars['name'] = $this->pregReplace('/-translation$/', '', $vars['name']);
23
+
24
+ return $vars;
25
+ }
26
+ }
vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class OsclassInstaller extends BaseInstaller
6
+ {
7
+
8
+ /** @var array<string, string> */
9
+ protected $locations = array(
10
+ 'plugin' => 'oc-content/plugins/{$name}/',
11
+ 'theme' => 'oc-content/themes/{$name}/',
12
+ 'language' => 'oc-content/languages/{$name}/',
13
+ );
14
+ }
vendor/composer/installers/src/Composer/Installers/OxidInstaller.php CHANGED
@@ -1,59 +1,49 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  use Composer\Package\PackageInterface;
5
 
6
  class OxidInstaller extends BaseInstaller
7
  {
8
- const VENDOR_PATTERN = '/^modules\/(?P<vendor>.+)\/.+/';
9
 
 
10
  protected $locations = array(
11
  'module' => 'modules/{$name}/',
12
  'theme' => 'application/views/{$name}/',
13
  'out' => 'out/{$name}/',
14
  );
15
 
16
- /**
17
- * getInstallPath
18
- *
19
- * @param PackageInterface $package
20
- * @param string $frameworkType
21
- * @return void
22
- */
23
- public function getInstallPath(PackageInterface $package, $frameworkType = '')
24
- {
25
- $installPath = parent::getInstallPath($package, $frameworkType);
26
- $type = $this->package->getType();
27
- if ($type === 'oxid-module') {
28
- $this->prepareVendorDirectory($installPath);
29
- }
30
- return $installPath;
31
- }
32
-
33
- /**
34
- * prepareVendorDirectory
35
- *
36
- * Makes sure there is a vendormetadata.php file inside
37
- * the vendor folder if there is a vendor folder.
38
- *
39
- * @param string $installPath
40
- * @return void
41
- */
42
- protected function prepareVendorDirectory($installPath)
43
- {
44
- $matches = '';
45
- $hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches);
46
- if (!$hasVendorDirectory) {
47
- return;
48
- }
49
-
50
- $vendorDirectory = $matches['vendor'];
51
- $vendorPath = getcwd() . '/modules/' . $vendorDirectory;
52
- if (!file_exists($vendorPath)) {
53
- mkdir($vendorPath, 0755, true);
54
- }
55
-
56
- $vendorMetaDataPath = $vendorPath . '/vendormetadata.php';
57
- touch($vendorMetaDataPath);
58
- }
59
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  use Composer\Package\PackageInterface;
6
 
7
  class OxidInstaller extends BaseInstaller
8
  {
9
+ const VENDOR_PATTERN = '/^modules\/(?P<vendor>.+)\/.+/';
10
 
11
+ /** @var array<string, string> */
12
  protected $locations = array(
13
  'module' => 'modules/{$name}/',
14
  'theme' => 'application/views/{$name}/',
15
  'out' => 'out/{$name}/',
16
  );
17
 
18
+ public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string
19
+ {
20
+ $installPath = parent::getInstallPath($package, $frameworkType);
21
+ $type = $this->package->getType();
22
+ if ($type === 'oxid-module') {
23
+ $this->prepareVendorDirectory($installPath);
24
+ }
25
+ return $installPath;
26
+ }
27
+
28
+ /**
29
+ * Makes sure there is a vendormetadata.php file inside
30
+ * the vendor folder if there is a vendor folder.
31
+ */
32
+ protected function prepareVendorDirectory(string $installPath): void
33
+ {
34
+ $matches = '';
35
+ $hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches);
36
+ if (!$hasVendorDirectory) {
37
+ return;
38
+ }
39
+
40
+ $vendorDirectory = $matches['vendor'];
41
+ $vendorPath = getcwd() . '/modules/' . $vendorDirectory;
42
+ if (!file_exists($vendorPath)) {
43
+ mkdir($vendorPath, 0755, true);
44
+ }
45
+
46
+ $vendorMetaDataPath = $vendorPath . '/vendormetadata.php';
47
+ touch($vendorMetaDataPath);
48
+ }
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
vendor/composer/installers/src/Composer/Installers/PPIInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class PPIInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class PPIInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  );
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/PhiftyInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class PhiftyInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'bundle' => 'bundles/{$name}/',
8
  'library' => 'libraries/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class PhiftyInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'bundle' => 'bundles/{$name}/',
10
  'library' => 'libraries/{$name}/',
vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class PhpBBInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'extension' => 'ext/{$vendor}/{$name}/',
8
  'language' => 'language/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class PhpBBInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'extension' => 'ext/{$vendor}/{$name}/',
10
  'language' => 'language/{$name}/',
vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  /**
@@ -8,22 +9,17 @@ namespace Composer\Installers;
8
  */
9
  class PiwikInstaller extends BaseInstaller
10
  {
11
- /**
12
- * @var array
13
- */
14
  protected $locations = array(
15
  'plugin' => 'plugins/{$name}/',
16
  );
17
 
18
  /**
19
  * Format package name to CamelCase
20
- * @param array $vars
21
- *
22
- * @return array
23
  */
24
- public function inflectPackageVars($vars)
25
  {
26
- $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
27
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
28
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
29
 
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  /**
9
  */
10
  class PiwikInstaller extends BaseInstaller
11
  {
12
+ /** @var array<string, string> */
 
 
13
  protected $locations = array(
14
  'plugin' => 'plugins/{$name}/',
15
  );
16
 
17
  /**
18
  * Format package name to CamelCase
 
 
 
19
  */
20
+ public function inflectPackageVars(array $vars): array
21
  {
22
+ $vars['name'] = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
23
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
24
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
25
 
vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php CHANGED
@@ -1,28 +1,27 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class PlentymarketsInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => '{$name}/'
8
  );
9
 
10
  /**
11
  * Remove hyphen, "plugin" and format to camelcase
12
- * @param array $vars
13
- *
14
- * @return array
15
  */
16
- public function inflectPackageVars($vars)
17
  {
18
- $vars['name'] = explode("-", $vars['name']);
19
- foreach ($vars['name'] as $key => $name) {
20
- $vars['name'][$key] = ucfirst($vars['name'][$key]);
21
  if (strcasecmp($name, "Plugin") == 0) {
22
- unset($vars['name'][$key]);
23
  }
24
  }
25
- $vars['name'] = implode("",$vars['name']);
26
 
27
  return $vars;
28
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class PlentymarketsInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => '{$name}/'
10
  );
11
 
12
  /**
13
  * Remove hyphen, "plugin" and format to camelcase
 
 
 
14
  */
15
+ public function inflectPackageVars(array $vars): array
16
  {
17
+ $nameBits = explode("-", $vars['name']);
18
+ foreach ($nameBits as $key => $name) {
19
+ $nameBits[$key] = ucfirst($name);
20
  if (strcasecmp($name, "Plugin") == 0) {
21
+ unset($nameBits[$key]);
22
  }
23
  }
24
+ $vars['name'] = implode('', $nameBits);
25
 
26
  return $vars;
27
  }
vendor/composer/installers/src/Composer/Installers/Plugin.php CHANGED
@@ -8,10 +8,21 @@ 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
+ /** @var Installer */
12
+ private $installer;
13
 
14
+ public function activate(Composer $composer, IOInterface $io): void
15
+ {
16
+ $this->installer = new Installer($io, $composer);
17
+ $composer->getInstallationManager()->addInstaller($this->installer);
18
+ }
19
+
20
+ public function deactivate(Composer $composer, IOInterface $io): void
21
+ {
22
+ $composer->getInstallationManager()->removeInstaller($this->installer);
23
+ }
24
+
25
+ public function uninstall(Composer $composer, IOInterface $io): void
26
  {
 
 
27
  }
28
  }
vendor/composer/installers/src/Composer/Installers/PortoInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class PortoInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'container' => 'app/Containers/{$name}/',
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class PrestashopInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$name}/',
8
  'theme' => 'themes/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class PrestashopInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  'theme' => 'themes/{$name}/',
vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class ProcessWireInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'site/modules/{$name}/',
10
+ );
11
+
12
+ /**
13
+ * Format package name to CamelCase
14
+ */
15
+ public function inflectPackageVars(array $vars): array
16
+ {
17
+ $vars['name'] = strtolower($this->pregReplace('/(?<=\\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/PuppetInstaller.php CHANGED
@@ -5,6 +5,7 @@ namespace Composer\Installers;
5
  class PuppetInstaller extends BaseInstaller
6
  {
7
 
 
8
  protected $locations = array(
9
  'module' => 'modules/{$name}/',
10
  );
5
  class PuppetInstaller extends BaseInstaller
6
  {
7
 
8
+ /** @var array<string, string> */
9
  protected $locations = array(
10
  'module' => 'modules/{$name}/',
11
  );
vendor/composer/installers/src/Composer/Installers/PxcmsInstaller.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class PxcmsInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'app/Modules/{$name}/',
10
+ 'theme' => 'themes/{$name}/',
11
+ );
12
+
13
+ /**
14
+ * Format package name.
15
+ */
16
+ public function inflectPackageVars(array $vars): array
17
+ {
18
+ if ($vars['type'] === 'pxcms-module') {
19
+ return $this->inflectModuleVars($vars);
20
+ }
21
+
22
+ if ($vars['type'] === 'pxcms-theme') {
23
+ return $this->inflectThemeVars($vars);
24
+ }
25
+
26
+ return $vars;
27
+ }
28
+
29
+ /**
30
+ * For package type pxcms-module, cut off a trailing '-plugin' if present.
31
+ *
32
+ * @param array<string, string> $vars
33
+ * @return array<string, string>
34
+ */
35
+ protected function inflectModuleVars(array $vars): array
36
+ {
37
+ $vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy)
38
+ $vars['name'] = str_replace('module-', '', $vars['name']); // strip out module-
39
+ $vars['name'] = $this->pregReplace('/-module$/', '', $vars['name']); // strip out -module
40
+ $vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s
41
+ $vars['name'] = ucwords($vars['name']); // make module name camelcased
42
+
43
+ return $vars;
44
+ }
45
+
46
+ /**
47
+ * For package type pxcms-module, cut off a trailing '-plugin' if present.
48
+ *
49
+ * @param array<string, string> $vars
50
+ * @return array<string, string>
51
+ */
52
+ protected function inflectThemeVars(array $vars): array
53
+ {
54
+ $vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy)
55
+ $vars['name'] = str_replace('theme-', '', $vars['name']); // strip out theme-
56
+ $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']); // strip out -theme
57
+ $vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s
58
+ $vars['name'] = ucwords($vars['name']); // make module name camelcased
59
+
60
+ return $vars;
61
+ }
62
+ }
vendor/composer/installers/src/Composer/Installers/RadPHPInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class RadPHPInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'bundle' => 'src/{$name}/'
8
  );
@@ -10,11 +12,11 @@ class RadPHPInstaller extends BaseInstaller
10
  /**
11
  * Format package name to CamelCase
12
  */
13
- public function inflectPackageVars($vars)
14
  {
15
  $nameParts = explode('/', $vars['name']);
16
  foreach ($nameParts as &$value) {
17
- $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
18
  $value = str_replace(array('-', '_'), ' ', $value);
19
  $value = str_replace(' ', '', ucwords($value));
20
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class RadPHPInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'bundle' => 'src/{$name}/'
10
  );
12
  /**
13
  * Format package name to CamelCase
14
  */
15
+ public function inflectPackageVars(array $vars): array
16
  {
17
  $nameParts = explode('/', $vars['name']);
18
  foreach ($nameParts as &$value) {
19
+ $value = strtolower($this->pregReplace('/(?<=\\w)([A-Z])/', '_\\1', $value));
20
  $value = str_replace(array('-', '_'), ' ', $value);
21
  $value = str_replace(' ', '', ucwords($value));
22
  }
vendor/composer/installers/src/Composer/Installers/ReIndexInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ReIndexInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'theme' => 'themes/{$name}/',
8
  'plugin' => 'plugins/{$name}/'
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ReIndexInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'theme' => 'themes/{$name}/',
10
  'plugin' => 'plugins/{$name}/'
vendor/composer/installers/src/Composer/Installers/Redaxo5Installer.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class Redaxo5Installer extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'addon' => 'redaxo/src/addons/{$name}/',
10
+ 'bestyle-plugin' => 'redaxo/src/addons/be_style/plugins/{$name}/'
11
+ );
12
+ }
vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class RedaxoInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'addon' => 'redaxo/include/addons/{$name}/',
8
  'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class RedaxoInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'addon' => 'redaxo/include/addons/{$name}/',
10
  'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'
vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php CHANGED
@@ -1,19 +1,18 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class RoundcubeInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'plugins/{$name}/',
8
  );
9
 
10
  /**
11
  * Lowercase name and changes the name to a underscores
12
- *
13
- * @param array $vars
14
- * @return array
15
  */
16
- public function inflectPackageVars($vars)
17
  {
18
  $vars['name'] = strtolower(str_replace('-', '_', $vars['name']));
19
 
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class RoundcubeInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'plugins/{$name}/',
10
  );
11
 
12
  /**
13
  * Lowercase name and changes the name to a underscores
 
 
 
14
  */
15
+ public function inflectPackageVars(array $vars): array
16
  {
17
  $vars['name'] = strtolower(str_replace('-', '_', $vars['name']));
18
 
vendor/composer/installers/src/Composer/Installers/SMFInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class SMFInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'Sources/{$name}/',
8
  'theme' => 'Themes/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class SMFInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'Sources/{$name}/',
10
  'theme' => 'Themes/{$name}/',
vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  /**
@@ -7,6 +8,7 @@ namespace Composer\Installers;
7
  */
8
  class ShopwareInstaller extends BaseInstaller
9
  {
 
10
  protected $locations = array(
11
  'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
12
  'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
@@ -18,29 +20,32 @@ class ShopwareInstaller extends BaseInstaller
18
 
19
  /**
20
  * Transforms the names
21
- * @param array $vars
22
- * @return array
23
  */
24
- public function inflectPackageVars($vars)
25
  {
26
  if ($vars['type'] === 'shopware-theme') {
27
  return $this->correctThemeName($vars);
28
- } else {
29
- return $this->correctPluginName($vars);
30
  }
 
 
31
  }
32
 
33
  /**
34
  * Changes the name to a camelcased combination of vendor and name
35
- * @param array $vars
36
- * @return array
 
37
  */
38
- private function correctPluginName($vars)
39
  {
40
  $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
41
  return strtoupper($matches[0][1]);
42
  }, $vars['name']);
43
 
 
 
 
 
44
  $vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
45
 
46
  return $vars;
@@ -48,10 +53,11 @@ class ShopwareInstaller extends BaseInstaller
48
 
49
  /**
50
  * Changes the name to a underscore separated name
51
- * @param array $vars
52
- * @return array
 
53
  */
54
- private function correctThemeName($vars)
55
  {
56
  $vars['name'] = str_replace('-', '_', $vars['name']);
57
 
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  /**
8
  */
9
  class ShopwareInstaller extends BaseInstaller
10
  {
11
+ /** @var array<string, string> */
12
  protected $locations = array(
13
  'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
14
  'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
20
 
21
  /**
22
  * Transforms the names
 
 
23
  */
24
+ public function inflectPackageVars(array $vars): array
25
  {
26
  if ($vars['type'] === 'shopware-theme') {
27
  return $this->correctThemeName($vars);
 
 
28
  }
29
+
30
+ return $this->correctPluginName($vars);
31
  }
32
 
33
  /**
34
  * Changes the name to a camelcased combination of vendor and name
35
+ *
36
+ * @param array<string, string> $vars
37
+ * @return array<string, string>
38
  */
39
+ private function correctPluginName(array $vars): array
40
  {
41
  $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
42
  return strtoupper($matches[0][1]);
43
  }, $vars['name']);
44
 
45
+ if (null === $camelCasedName) {
46
+ throw new \RuntimeException('Failed to run preg_replace_callback: '.preg_last_error());
47
+ }
48
+
49
  $vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
50
 
51
  return $vars;
53
 
54
  /**
55
  * Changes the name to a underscore separated name
56
+ *
57
+ * @param array<string, string> $vars
58
+ * @return array<string, string>
59
  */
60
+ private function correctThemeName(array $vars): array
61
  {
62
  $vars['name'] = str_replace('-', '_', $vars['name']);
63
 
vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php CHANGED
@@ -1,10 +1,12 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  use Composer\Package\PackageInterface;
5
 
6
  class SilverStripeInstaller extends BaseInstaller
7
  {
 
8
  protected $locations = array(
9
  'module' => '{$name}/',
10
  'theme' => 'themes/{$name}/',
@@ -15,12 +17,8 @@ class SilverStripeInstaller extends BaseInstaller
15
  *
16
  * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
17
  * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
18
- *
19
- * @param PackageInterface $package
20
- * @param string $frameworkType
21
- * @return string
22
  */
23
- public function getInstallPath(PackageInterface $package, $frameworkType = '')
24
  {
25
  if (
26
  $package->getName() == 'silverstripe/framework'
@@ -28,9 +26,8 @@ class SilverStripeInstaller extends BaseInstaller
28
  && version_compare($package->getVersion(), '2.999.999') < 0
29
  ) {
30
  return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
31
- } else {
32
- return parent::getInstallPath($package, $frameworkType);
33
  }
34
 
 
35
  }
36
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  use Composer\Package\PackageInterface;
6
 
7
  class SilverStripeInstaller extends BaseInstaller
8
  {
9
+ /** @var array<string, string> */
10
  protected $locations = array(
11
  'module' => '{$name}/',
12
  'theme' => 'themes/{$name}/',
17
  *
18
  * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
19
  * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
 
 
 
 
20
  */
21
+ public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string
22
  {
23
  if (
24
  $package->getName() == 'silverstripe/framework'
26
  && version_compare($package->getVersion(), '2.999.999') < 0
27
  ) {
28
  return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
 
 
29
  }
30
 
31
+ return parent::getInstallPath($package, $frameworkType);
32
  }
33
  }
vendor/composer/installers/src/Composer/Installers/SiteDirectInstaller.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class SiteDirectInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'modules/{$vendor}/{$name}/',
10
+ 'plugin' => 'plugins/{$vendor}/{$name}/'
11
+ );
12
+
13
+ /**
14
+ * @param array<string, string> $vars
15
+ * @return array<string, string>
16
+ */
17
+ public function inflectPackageVars(array $vars): array
18
+ {
19
+ return $this->parseVars($vars);
20
+ }
21
+
22
+ /**
23
+ * @param array<string, string> $vars
24
+ * @return array<string, string>
25
+ */
26
+ protected function parseVars(array $vars): array
27
+ {
28
+ $vars['vendor'] = strtolower($vars['vendor']) == 'sitedirect' ? 'SiteDirect' : $vars['vendor'];
29
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
30
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
31
+
32
+ return $vars;
33
+ }
34
+ }
vendor/composer/installers/src/Composer/Installers/StarbugInstaller.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class StarbugInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'modules/{$name}/',
10
+ 'theme' => 'themes/{$name}/',
11
+ 'custom-module' => 'app/modules/{$name}/',
12
+ 'custom-theme' => 'app/themes/{$name}/'
13
+ );
14
+ }
vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class SyDESInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'app/modules/{$name}/',
10
+ 'theme' => 'themes/{$name}/',
11
+ );
12
+
13
+ /**
14
+ * Format module name.
15
+ *
16
+ * Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present.
17
+ */
18
+ public function inflectPackageVars(array $vars): array
19
+ {
20
+ if ($vars['type'] == 'sydes-module') {
21
+ return $this->inflectModuleVars($vars);
22
+ }
23
+
24
+ if ($vars['type'] === 'sydes-theme') {
25
+ return $this->inflectThemeVars($vars);
26
+ }
27
+
28
+ return $vars;
29
+ }
30
+
31
+ /**
32
+ * @param array<string, string> $vars
33
+ * @return array<string, string>
34
+ */
35
+ public function inflectModuleVars(array $vars): array
36
+ {
37
+ $vars['name'] = $this->pregReplace('/(^sydes-|-module$)/i', '', $vars['name']);
38
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
39
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
40
+
41
+ return $vars;
42
+ }
43
+
44
+ /**
45
+ * @param array<string, string> $vars
46
+ * @return array<string, string>
47
+ */
48
+ protected function inflectThemeVars(array $vars): array
49
+ {
50
+ $vars['name'] = $this->pregReplace('/(^sydes-|-theme$)/', '', $vars['name']);
51
+ $vars['name'] = strtolower($vars['name']);
52
+
53
+ return $vars;
54
+ }
55
+ }
vendor/composer/installers/src/Composer/Installers/SyliusInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class SyliusInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'theme' => 'themes/{$name}/',
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- /**
5
- * Plugin installer for symfony 1.x
6
- *
7
- * @author Jérôme Tamarelle <jerome@tamarelle.net>
8
- */
9
- class Symfony1Installer extends BaseInstaller
10
- {
11
- protected $locations = array(
12
- 'plugin' => 'plugins/{$name}/',
13
- );
14
-
15
- /**
16
- * Format package name to CamelCase
17
- */
18
- public function inflectPackageVars($vars)
19
- {
20
- $vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
21
- return strtoupper($matches[0][1]);
22
- }, $vars['name']);
23
-
24
- return $vars;
25
- }
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php DELETED
@@ -1,16 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- /**
5
- * Extension installer for TYPO3 CMS
6
- *
7
- * @deprecated since 1.0.25, use https://packagist.org/packages/typo3/cms-composer-installers instead
8
- *
9
- * @author Sascha Egerer <sascha.egerer@dkd.de>
10
- */
11
- class TYPO3CmsInstaller extends BaseInstaller
12
- {
13
- protected $locations = array(
14
- 'extension' => 'typo3conf/ext/{$name}/',
15
- );
16
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php DELETED
@@ -1,38 +0,0 @@
1
- <?php
2
- namespace Composer\Installers;
3
-
4
- /**
5
- * An installer to handle TYPO3 Flow specifics when installing packages.
6
- */
7
- class TYPO3FlowInstaller extends BaseInstaller
8
- {
9
- protected $locations = array(
10
- 'package' => 'Packages/Application/{$name}/',
11
- 'framework' => 'Packages/Framework/{$name}/',
12
- 'plugin' => 'Packages/Plugins/{$name}/',
13
- 'site' => 'Packages/Sites/{$name}/',
14
- 'boilerplate' => 'Packages/Boilerplates/{$name}/',
15
- 'build' => 'Build/{$name}/',
16
- );
17
-
18
- /**
19
- * Modify the package name to be a TYPO3 Flow style key.
20
- *
21
- * @param array $vars
22
- * @return array
23
- */
24
- public function inflectPackageVars($vars)
25
- {
26
- $autoload = $this->package->getAutoload();
27
- if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
28
- $namespace = key($autoload['psr-0']);
29
- $vars['name'] = str_replace('\\', '.', $namespace);
30
- }
31
- if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
32
- $namespace = key($autoload['psr-4']);
33
- $vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
34
- }
35
-
36
- return $vars;
37
- }
38
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/installers/src/Composer/Installers/TaoInstaller.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ /**
6
+ * An installer to handle TAO extensions.
7
+ */
8
+ class TaoInstaller extends BaseInstaller
9
+ {
10
+ const EXTRA_TAO_EXTENSION_NAME = 'tao-extension-name';
11
+
12
+ /** @var array<string, string> */
13
+ protected $locations = array(
14
+ 'extension' => '{$name}'
15
+ );
16
+
17
+ public function inflectPackageVars(array $vars): array
18
+ {
19
+ $extra = $this->package->getExtra();
20
+
21
+ if (array_key_exists(self::EXTRA_TAO_EXTENSION_NAME, $extra)) {
22
+ $vars['name'] = $extra[self::EXTRA_TAO_EXTENSION_NAME];
23
+ return $vars;
24
+ }
25
+
26
+ $vars['name'] = str_replace('extension-', '', $vars['name']);
27
+ $vars['name'] = str_replace('-', ' ', $vars['name']);
28
+ $vars['name'] = lcfirst(str_replace(' ', '', ucwords($vars['name'])));
29
+
30
+ return $vars;
31
+ }
32
+ }
vendor/composer/installers/src/Composer/Installers/TastyIgniterInstaller.php ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class TastyIgniterInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = [
9
+ 'module' => 'app/{$name}/',
10
+ 'extension' => 'extensions/{$vendor}/{$name}/',
11
+ 'theme' => 'themes/{$name}/',
12
+ ];
13
+
14
+ /**
15
+ * Format package name.
16
+ *
17
+ * Cut off leading 'ti-ext-' or 'ti-theme-' if present.
18
+ * Strip vendor name of characters that is not alphanumeric or an underscore
19
+ *
20
+ */
21
+ public function inflectPackageVars(array $vars): array
22
+ {
23
+ $extra = $this->composer->getPackage()->getExtra();
24
+
25
+ if ($vars['type'] === 'tastyigniter-module') {
26
+ return $this->inflectModuleVars($vars);
27
+ }
28
+
29
+ if ($vars['type'] === 'tastyigniter-extension') {
30
+ return $this->inflectExtensionVars($vars, $extra);
31
+ }
32
+
33
+ if ($vars['type'] === 'tastyigniter-theme') {
34
+ return $this->inflectThemeVars($vars, $extra);
35
+ }
36
+
37
+ return $vars;
38
+ }
39
+
40
+ /**
41
+ * @param array<string, string> $vars
42
+ * @return array<string, string>
43
+ */
44
+ protected function inflectModuleVars(array $vars): array
45
+ {
46
+ $vars['name'] = $this->pregReplace('/^ti-module-/', '', $vars['name']);
47
+
48
+ return $vars;
49
+ }
50
+
51
+ /**
52
+ * @param array<string, string> $vars
53
+ * @param array<string, mixed> $extra
54
+ * @return array<string, string>
55
+ */
56
+ protected function inflectExtensionVars(array $vars, array $extra): array
57
+ {
58
+ if (!empty($extra['tastyigniter-extension']['code'])) {
59
+ $parts = explode('.', $extra['tastyigniter-extension']['code']);
60
+ $vars['vendor'] = (string)$parts[0];
61
+ $vars['name'] = (string)($parts[1] ?? '');
62
+ }
63
+
64
+ $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']);
65
+ $vars['name'] = $this->pregReplace('/^ti-ext-/', '', $vars['name']);
66
+
67
+ return $vars;
68
+ }
69
+
70
+ /**
71
+ * @param array<string, string> $vars
72
+ * @param array<string, mixed> $extra
73
+ * @return array<string, string>
74
+ */
75
+ protected function inflectThemeVars(array $vars, array $extra): array
76
+ {
77
+ if (!empty($extra['tastyigniter-theme']['code'])) {
78
+ $vars['name'] = $extra['tastyigniter-theme']['code'];
79
+ }
80
+
81
+ $vars['name'] = $this->pregReplace('/^ti-theme-/', '', $vars['name']);
82
+
83
+ return $vars;
84
+ }
85
+ }
vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class TheliaInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'local/modules/{$name}/',
8
  'frontoffice-template' => 'templates/frontOffice/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class TheliaInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'local/modules/{$name}/',
10
  'frontoffice-template' => 'templates/frontOffice/{$name}/',
vendor/composer/installers/src/Composer/Installers/TuskInstaller.php CHANGED
@@ -1,14 +1,17 @@
1
  <?php
2
- namespace Composer\Installers;
3
- /**
4
- * Composer installer for 3rd party Tusk utilities
5
- * @author Drew Ewing <drew@phenocode.com>
6
- */
7
- class TuskInstaller extends BaseInstaller
8
- {
9
- protected $locations = array(
10
- 'task' => '.tusk/tasks/{$name}/',
11
- 'command' => '.tusk/commands/{$name}/',
12
- 'asset' => 'assets/tusk/{$name}/',
13
- );
14
- }
 
 
 
1
  <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ /**
6
+ * Composer installer for 3rd party Tusk utilities
7
+ * @author Drew Ewing <drew@phenocode.com>
8
+ */
9
+ class TuskInstaller extends BaseInstaller
10
+ {
11
+ /** @var array<string, string> */
12
+ protected $locations = array(
13
+ 'task' => '.tusk/tasks/{$name}/',
14
+ 'command' => '.tusk/commands/{$name}/',
15
+ 'asset' => 'assets/tusk/{$name}/',
16
+ );
17
+ }
vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class UserFrostingInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'sprinkle' => 'app/sprinkles/{$name}/',
10
+ );
11
+ }
vendor/composer/installers/src/Composer/Installers/VanillaInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class VanillaInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'plugins/{$name}/',
8
  'theme' => 'themes/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class VanillaInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'plugins/{$name}/',
10
  'theme' => 'themes/{$name}/',
vendor/composer/installers/src/Composer/Installers/VgmcpInstaller.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class VgmcpInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'bundle' => 'src/{$vendor}/{$name}/',
10
+ 'theme' => 'themes/{$name}/'
11
+ );
12
+
13
+ /**
14
+ * Format package name.
15
+ *
16
+ * For package type vgmcp-bundle, cut off a trailing '-bundle' if present.
17
+ *
18
+ * For package type vgmcp-theme, cut off a trailing '-theme' if present.
19
+ *
20
+ */
21
+ public function inflectPackageVars(array $vars): array
22
+ {
23
+ if ($vars['type'] === 'vgmcp-bundle') {
24
+ return $this->inflectPluginVars($vars);
25
+ }
26
+
27
+ if ($vars['type'] === 'vgmcp-theme') {
28
+ return $this->inflectThemeVars($vars);
29
+ }
30
+
31
+ return $vars;
32
+ }
33
+
34
+ /**
35
+ * @param array<string, string> $vars
36
+ * @return array<string, string>
37
+ */
38
+ protected function inflectPluginVars(array $vars): array
39
+ {
40
+ $vars['name'] = $this->pregReplace('/-bundle$/', '', $vars['name']);
41
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
42
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
43
+
44
+ return $vars;
45
+ }
46
+
47
+ /**
48
+ * @param array<string, string> $vars
49
+ * @return array<string, string>
50
+ */
51
+ protected function inflectThemeVars(array $vars): array
52
+ {
53
+ $vars['name'] = $this->pregReplace('/-theme$/', '', $vars['name']);
54
+ $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
55
+ $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
56
+
57
+ return $vars;
58
+ }
59
+ }
vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php CHANGED
@@ -4,7 +4,19 @@ namespace Composer\Installers;
4
 
5
  class WHMCSInstaller extends BaseInstaller
6
  {
 
7
  protected $locations = array(
8
- 'gateway' => 'modules/gateways/{$name}/',
 
 
 
 
 
 
 
 
 
 
 
9
  );
10
  }
4
 
5
  class WHMCSInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
+ 'addons' => 'modules/addons/{$vendor}_{$name}/',
10
+ 'fraud' => 'modules/fraud/{$vendor}_{$name}/',
11
+ 'gateways' => 'modules/gateways/{$vendor}_{$name}/',
12
+ 'notifications' => 'modules/notifications/{$vendor}_{$name}/',
13
+ 'registrars' => 'modules/registrars/{$vendor}_{$name}/',
14
+ 'reports' => 'modules/reports/{$vendor}_{$name}/',
15
+ 'security' => 'modules/security/{$vendor}_{$name}/',
16
+ 'servers' => 'modules/servers/{$vendor}_{$name}/',
17
+ 'social' => 'modules/social/{$vendor}_{$name}/',
18
+ 'support' => 'modules/support/{$vendor}_{$name}/',
19
+ 'templates' => 'templates/{$vendor}_{$name}/',
20
+ 'includes' => 'includes/{$vendor}_{$name}/'
21
  );
22
  }
vendor/composer/installers/src/Composer/Installers/WinterInstaller.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Composer\Installers;
4
+
5
+ class WinterInstaller extends BaseInstaller
6
+ {
7
+ /** @var array<string, string> */
8
+ protected $locations = array(
9
+ 'module' => 'modules/{$name}/',
10
+ 'plugin' => 'plugins/{$vendor}/{$name}/',
11
+ 'theme' => 'themes/{$name}/'
12
+ );
13
+
14
+ /**
15
+ * Format package name.
16
+ *
17
+ * For package type winter-plugin, cut off a trailing '-plugin' if present.
18
+ *
19
+ * For package type winter-theme, cut off a trailing '-theme' if present.
20
+ */
21
+ public function inflectPackageVars(array $vars): array
22
+ {
23
+ if ($vars['type'] === 'winter-module') {
24
+ return $this->inflectModuleVars($vars);
25
+ }
26
+
27
+ if ($vars['type'] === 'winter-plugin') {
28
+ return $this->inflectPluginVars($vars);
29
+ }
30
+
31
+ if ($vars['type'] === 'winter-theme') {
32
+ return $this->inflectThemeVars($vars);
33
+ }
34
+
35
+ return $vars;
36
+ }
37
+
38
+ /**
39
+ * @param array<string, string> $vars
40
+ * @return array<string, string>
41
+ */
42
+ protected function inflectModuleVars(array $vars): array
43
+ {
44
+ $vars['name'] = $this->pregReplace('/^wn-|-module$/', '', $vars['name']);
45
+
46
+ return $vars;
47
+ }
48
+
49
+ /**
50
+ * @param array<string, string> $vars
51
+ * @return array<string, string>
52
+ */
53
+ protected function inflectPluginVars(array $vars): array
54
+ {
55
+ $vars['name'] = $this->pregReplace('/^wn-|-plugin$/', '', $vars['name']);
56
+ $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']);
57
+
58
+ return $vars;
59
+ }
60
+
61
+ /**
62
+ * @param array<string, string> $vars
63
+ * @return array<string, string>
64
+ */
65
+ protected function inflectThemeVars(array $vars): array
66
+ {
67
+ $vars['name'] = $this->pregReplace('/^wn-|-theme$/', '', $vars['name']);
68
+
69
+ return $vars;
70
+ }
71
+ }
vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class WolfCMSInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'wolf/plugins/{$name}/',
8
  );
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class WolfCMSInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'wolf/plugins/{$name}/',
10
  );
vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php CHANGED
@@ -1,11 +1,14 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class WordPressInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'plugin' => 'wp-content/plugins/{$name}/',
8
  'theme' => 'wp-content/themes/{$name}/',
9
  'muplugin' => 'wp-content/mu-plugins/{$name}/',
 
10
  );
11
  }
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class WordPressInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'plugin' => 'wp-content/plugins/{$name}/',
10
  'theme' => 'wp-content/themes/{$name}/',
11
  'muplugin' => 'wp-content/mu-plugins/{$name}/',
12
+ 'dropin' => 'wp-content/{$name}/',
13
  );
14
  }
vendor/composer/installers/src/Composer/Installers/YawikInstaller.php CHANGED
@@ -1,32 +1,23 @@
1
  <?php
2
- /**
3
- * Created by PhpStorm.
4
- * User: cbleek
5
- * Date: 25.03.16
6
- * Time: 20:55
7
- */
8
 
9
  namespace Composer\Installers;
10
 
11
-
12
  class YawikInstaller extends BaseInstaller
13
  {
 
14
  protected $locations = array(
15
  'module' => 'module/{$name}/',
16
  );
17
 
18
  /**
19
  * Format package name to CamelCase
20
- * @param array $vars
21
- *
22
- * @return array
23
  */
24
- public function inflectPackageVars($vars)
25
  {
26
- $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
27
  $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
28
  $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
29
 
30
  return $vars;
31
  }
32
- }
1
  <?php
 
 
 
 
 
 
2
 
3
  namespace Composer\Installers;
4
 
 
5
  class YawikInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'module/{$name}/',
10
  );
11
 
12
  /**
13
  * Format package name to CamelCase
 
 
 
14
  */
15
+ public function inflectPackageVars(array $vars): array
16
  {
17
+ $vars['name'] = strtolower($this->pregReplace('/(?<=\\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/ZendInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ZendInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'library' => 'library/{$name}/',
8
  'extra' => 'extras/library/{$name}/',
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ZendInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'library' => 'library/{$name}/',
10
  'extra' => 'extras/library/{$name}/',
vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace Composer\Installers;
3
 
4
  class ZikulaInstaller extends BaseInstaller
5
  {
 
6
  protected $locations = array(
7
  'module' => 'modules/{$vendor}-{$name}/',
8
  'theme' => 'themes/{$vendor}-{$name}/'
1
  <?php
2
+
3
  namespace Composer\Installers;
4
 
5
  class ZikulaInstaller extends BaseInstaller
6
  {
7
+ /** @var array<string, string> */
8
  protected $locations = array(
9
  'module' => 'modules/{$vendor}-{$name}/',
10
  'theme' => 'themes/{$vendor}-{$name}/'
vendor/composer/installers/src/bootstrap.php CHANGED
@@ -1,9 +1,14 @@
1
  <?php
2
- function includeIfExists($file)
 
 
 
3
  {
4
  if (file_exists($file)) {
5
  return include $file;
6
  }
 
 
7
  }
8
  if ((!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))) {
9
  die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
1
  <?php
2
+
3
+ use Composer\Autoload\ClassLoader;
4
+
5
+ function includeIfExists(string $file): ?ClassLoader
6
  {
7
  if (file_exists($file)) {
8
  return include $file;
9
  }
10
+
11
+ return null;
12
  }
13
  if ((!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))) {
14
  die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
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 >= 70200)) {
8
+ $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.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
+ }
wk-ga.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Google Analytics and Google Tag Manager by WEBKINDER
5
  * Plugin URI: https://wordpress.org/plugins/wk-google-analytics/
6
  * Description: Deploy Google Analytics on your website without having to edit code and without tracking your own visits. You can exclude any logged in user from this and enable tracking solely for them.
7
- * Version: 1.9.7
8
  * Author: WEBKINDER
9
  * Author URI: https://www.webkinder.ch
10
  * License: GPL2
4
  * Plugin Name: Google Analytics and Google Tag Manager by WEBKINDER
5
  * Plugin URI: https://wordpress.org/plugins/wk-google-analytics/
6
  * Description: Deploy Google Analytics on your website without having to edit code and without tracking your own visits. You can exclude any logged in user from this and enable tracking solely for them.
7
+ * Version: 1.9.8
8
  * Author: WEBKINDER
9
  * Author URI: https://www.webkinder.ch
10
  * License: GPL2