2 namespace Composer\Installers;
4 use Composer\Package\PackageInterface;
6 class SilverStripeInstaller extends BaseInstaller
8 protected $locations = array(
9 'module' => '{$name}/',
10 'theme' => 'themes/{$name}/',
14 * Return the install path based on package type.
16 * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
17 * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
19 * @param PackageInterface $package
20 * @param string $frameworkType
23 public function getInstallPath(PackageInterface $package, $frameworkType = '')
26 $package->getName() == 'silverstripe/framework'
27 && preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
28 && version_compare($package->getVersion(), '2.999.999') < 0
30 return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
32 return parent::getInstallPath($package, $frameworkType);