83ef9d091608fb09f90b2d14f5c7545ba7de23d5
[yaffs-website] / vendor / composer / installers / src / Composer / Installers / SyDESInstaller.php
1 <?php
2 namespace Composer\Installers;
3
4 class SyDESInstaller extends BaseInstaller
5 {
6     protected $locations = array(
7         'module' => 'app/modules/{$name}/',
8         'theme'  => 'themes/{$name}/',
9     );
10
11     /**
12      * Format module name.
13      *
14      * Strip `sydes-` prefix and a trailing '-theme' or '-module' from package name if present.
15      *
16      * @param array @vars
17      *
18      * @return array
19      */
20     public function inflectPackageVars($vars)
21     {
22         if ($vars['type'] == 'sydes-module') {
23             return $this->inflectModuleVars($vars);
24         }
25
26         if ($vars['type'] === 'sydes-theme') {
27             return $this->inflectThemeVars($vars);
28         }
29
30         return $vars;
31     }
32
33     public function inflectModuleVars($vars)
34     {
35         $vars['name'] = preg_replace('/(^sydes-|-module$)/i', '', $vars['name']);
36         $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
37         $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
38
39         return $vars;
40     }
41
42     protected function inflectThemeVars($vars)
43     {
44         $vars['name'] = preg_replace('/(^sydes-|-theme$)/', '', $vars['name']);
45         $vars['name'] = strtolower($vars['name']);
46
47         return $vars;
48     }
49 }