Yaffs site version 1.1
[yaffs-website] / vendor / composer / installers / src / Composer / Installers / TYPO3FlowInstaller.php
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 }