1<?php 2namespace Composer\Installers; 3 4class OctoberInstaller extends BaseInstaller 5{ 6 protected $locations = array( 7 'module' => 'modules/{$name}/', 8 'plugin' => 'plugins/{$vendor}/{$name}/', 9 'theme' => 'themes/{$name}/' 10 ); 11 12 /** 13 * Format package name. 14 * 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); 24 } 25 26 if ($vars['type'] === 'october-theme') { 27 return $this->inflectThemeVars($vars); 28 } 29 30 return $vars; 31 } 32 33 protected function inflectPluginVars($vars) 34 { 35 $vars['name'] = preg_replace('/^oc-|-plugin$/', '', $vars['name']); 36 $vars['vendor'] = preg_replace('/[^a-z0-9_]/i', '', $vars['vendor']); 37 38 return $vars; 39 } 40 41 protected function inflectThemeVars($vars) 42 { 43 $vars['name'] = preg_replace('/^oc-|-theme$/', '', $vars['name']); 44 45 return $vars; 46 } 47} 48