Chris@0
|
1 <?php
|
Chris@0
|
2 namespace Composer\Installers;
|
Chris@0
|
3
|
Chris@0
|
4 class MicroweberInstaller extends BaseInstaller
|
Chris@0
|
5 {
|
Chris@0
|
6 protected $locations = array(
|
Chris@0
|
7 'module' => 'userfiles/modules/{$name}/',
|
Chris@0
|
8 'module-skin' => 'userfiles/modules/{$name}/templates/',
|
Chris@0
|
9 'template' => 'userfiles/templates/{$name}/',
|
Chris@0
|
10 'element' => 'userfiles/elements/{$name}/',
|
Chris@0
|
11 'vendor' => 'vendor/{$name}/',
|
Chris@0
|
12 'components' => 'components/{$name}/'
|
Chris@0
|
13 );
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * Format package name.
|
Chris@0
|
17 *
|
Chris@0
|
18 * For package type microweber-module, cut off a trailing '-module' if present
|
Chris@0
|
19 *
|
Chris@0
|
20 * For package type microweber-template, cut off a trailing '-template' if present.
|
Chris@0
|
21 *
|
Chris@0
|
22 */
|
Chris@0
|
23 public function inflectPackageVars($vars)
|
Chris@0
|
24 {
|
Chris@0
|
25 if ($vars['type'] === 'microweber-template') {
|
Chris@0
|
26 return $this->inflectTemplateVars($vars);
|
Chris@0
|
27 }
|
Chris@0
|
28 if ($vars['type'] === 'microweber-templates') {
|
Chris@0
|
29 return $this->inflectTemplatesVars($vars);
|
Chris@0
|
30 }
|
Chris@0
|
31 if ($vars['type'] === 'microweber-core') {
|
Chris@0
|
32 return $this->inflectCoreVars($vars);
|
Chris@0
|
33 }
|
Chris@0
|
34 if ($vars['type'] === 'microweber-adapter') {
|
Chris@0
|
35 return $this->inflectCoreVars($vars);
|
Chris@0
|
36 }
|
Chris@0
|
37 if ($vars['type'] === 'microweber-module') {
|
Chris@0
|
38 return $this->inflectModuleVars($vars);
|
Chris@0
|
39 }
|
Chris@0
|
40 if ($vars['type'] === 'microweber-modules') {
|
Chris@0
|
41 return $this->inflectModulesVars($vars);
|
Chris@0
|
42 }
|
Chris@0
|
43 if ($vars['type'] === 'microweber-skin') {
|
Chris@0
|
44 return $this->inflectSkinVars($vars);
|
Chris@0
|
45 }
|
Chris@0
|
46 if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
|
Chris@0
|
47 return $this->inflectElementVars($vars);
|
Chris@0
|
48 }
|
Chris@0
|
49
|
Chris@0
|
50 return $vars;
|
Chris@0
|
51 }
|
Chris@0
|
52
|
Chris@0
|
53 protected function inflectTemplateVars($vars)
|
Chris@0
|
54 {
|
Chris@0
|
55 $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
|
Chris@0
|
56 $vars['name'] = preg_replace('/template-$/', '', $vars['name']);
|
Chris@0
|
57
|
Chris@0
|
58 return $vars;
|
Chris@0
|
59 }
|
Chris@0
|
60
|
Chris@0
|
61 protected function inflectTemplatesVars($vars)
|
Chris@0
|
62 {
|
Chris@0
|
63 $vars['name'] = preg_replace('/-templates$/', '', $vars['name']);
|
Chris@0
|
64 $vars['name'] = preg_replace('/templates-$/', '', $vars['name']);
|
Chris@0
|
65
|
Chris@0
|
66 return $vars;
|
Chris@0
|
67 }
|
Chris@0
|
68
|
Chris@0
|
69 protected function inflectCoreVars($vars)
|
Chris@0
|
70 {
|
Chris@0
|
71 $vars['name'] = preg_replace('/-providers$/', '', $vars['name']);
|
Chris@0
|
72 $vars['name'] = preg_replace('/-provider$/', '', $vars['name']);
|
Chris@0
|
73 $vars['name'] = preg_replace('/-adapter$/', '', $vars['name']);
|
Chris@0
|
74
|
Chris@0
|
75 return $vars;
|
Chris@0
|
76 }
|
Chris@0
|
77
|
Chris@0
|
78 protected function inflectModuleVars($vars)
|
Chris@0
|
79 {
|
Chris@0
|
80 $vars['name'] = preg_replace('/-module$/', '', $vars['name']);
|
Chris@0
|
81 $vars['name'] = preg_replace('/module-$/', '', $vars['name']);
|
Chris@0
|
82
|
Chris@0
|
83 return $vars;
|
Chris@0
|
84 }
|
Chris@0
|
85
|
Chris@0
|
86 protected function inflectModulesVars($vars)
|
Chris@0
|
87 {
|
Chris@0
|
88 $vars['name'] = preg_replace('/-modules$/', '', $vars['name']);
|
Chris@0
|
89 $vars['name'] = preg_replace('/modules-$/', '', $vars['name']);
|
Chris@0
|
90
|
Chris@0
|
91 return $vars;
|
Chris@0
|
92 }
|
Chris@0
|
93
|
Chris@0
|
94 protected function inflectSkinVars($vars)
|
Chris@0
|
95 {
|
Chris@0
|
96 $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
|
Chris@0
|
97 $vars['name'] = preg_replace('/skin-$/', '', $vars['name']);
|
Chris@0
|
98
|
Chris@0
|
99 return $vars;
|
Chris@0
|
100 }
|
Chris@0
|
101
|
Chris@0
|
102 protected function inflectElementVars($vars)
|
Chris@0
|
103 {
|
Chris@0
|
104 $vars['name'] = preg_replace('/-elements$/', '', $vars['name']);
|
Chris@0
|
105 $vars['name'] = preg_replace('/elements-$/', '', $vars['name']);
|
Chris@0
|
106 $vars['name'] = preg_replace('/-element$/', '', $vars['name']);
|
Chris@0
|
107 $vars['name'] = preg_replace('/element-$/', '', $vars['name']);
|
Chris@0
|
108
|
Chris@0
|
109 return $vars;
|
Chris@0
|
110 }
|
Chris@0
|
111 }
|