PluginProbe
Code Snippets / 3.10.0
Code Snippets v3.10.0
4.0.0-beta.2 3.10.2 3.10.1 3.10.0 3.10.0-beta.2 3.10.0-beta.1 4.0.0-beta.1 3.9.6 trunk 2.10.0 2.10.1 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 2.14.0 2.14.1 2.14.2 2.14.3 2.14.4 2.14.5 2.14.6 3.0.0 All 65 releases
code-snippets / vendor / composer / installers / src / Composer / Installers / SilverStripeInstaller.php

SilverStripeInstaller.php in Code Snippets 3.10.0, at vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php

34 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Composer\Installers;
4
5 use Composer\Package\PackageInterface;
6
7 class SilverStripeInstaller extends BaseInstaller
8 {
9 /** @var array<string, string> */
10 protected $locations = array(
11 'module' => '{$name}/',
12 'theme' => 'themes/{$name}/',
13 );
14
15 /**
16 * Return the install path based on package type.
17 *
18 * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
19 * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
20 */
21 public function getInstallPath(PackageInterface $package, string $frameworkType = ''): string
22 {
23 if (
24 $package->getName() == 'silverstripe/framework'
25 && preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
26 && version_compare($package->getVersion(), '2.999.999') < 0
27 ) {
28 return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
29 }
30
31 return parent::getInstallPath($package, $frameworkType);
32 }
33 }
34