comparison vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 129ea1e6d783
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 );
10
11 /**
12 * Format package name.
13 *
14 * For package type mediawiki-extension, cut off a trailing '-extension' if present and transform
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 }
26
27 if ($vars['type'] === 'mediawiki-skin') {
28 return $this->inflectSkinVars($vars);
29 }
30
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 }