PluginProbe
Code Snippets / 4.0.0-beta.2
Code Snippets v4.0.0-beta.2
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 / OctoberInstaller.php

OctoberInstaller.php in Code Snippets 4.0.0-beta.2, at vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php

58 lines 1.5 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 class OctoberInstaller extends BaseInstaller
6 {
7 /** @var array<string, string> */
8 protected $locations = array(
9 'module' => 'modules/{$name}/',
10 'plugin' => 'plugins/{$vendor}/{$name}/',
11 'theme' => 'themes/{$vendor}-{$name}/'
12 );
13
14 /**
15 * Format package name.
16 *
17 * For package type october-plugin, cut off a trailing '-plugin' if present.
18 *
19 * For package type october-theme, cut off a trailing '-theme' if present.
20 */
21 public function inflectPackageVars(array $vars): array
22 {
23 if ($vars['type'] === 'october-plugin') {
24 return $this->inflectPluginVars($vars);
25 }
26
27 if ($vars['type'] === 'october-theme') {
28 return $this->inflectThemeVars($vars);
29 }
30
31 return $vars;
32 }
33
34 /**
35 * @param array<string, string> $vars
36 * @return array<string, string>
37 */
38 protected function inflectPluginVars(array $vars): array
39 {
40 $vars['name'] = $this->pregReplace('/^oc-|-plugin$/', '', $vars['name']);
41 $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']);
42
43 return $vars;
44 }
45
46 /**
47 * @param array<string, string> $vars
48 * @return array<string, string>
49 */
50 protected function inflectThemeVars(array $vars): array
51 {
52 $vars['name'] = $this->pregReplace('/^oc-|-theme$/', '', $vars['name']);
53 $vars['vendor'] = $this->pregReplace('/[^a-z0-9_]/i', '', $vars['vendor']);
54
55 return $vars;
56 }
57 }
58