PluginProbe
Code Snippets / 3.10.1
Code Snippets v3.10.1
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 / ForkCMSInstaller.php

ForkCMSInstaller.php in Code Snippets 3.10.1, at vendor/composer/installers/src/Composer/Installers/ForkCMSInstaller.php

59 lines 1.8 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 ForkCMSInstaller extends BaseInstaller
6 {
7 /** @var array<string, string> */
8 protected $locations = [
9 'module' => 'src/Modules/{$name}/',
10 'theme' => 'src/Themes/{$name}/'
11 ];
12
13 /**
14 * Format package name.
15 *
16 * For package type fork-cms-module, cut off a trailing '-plugin' if present.
17 *
18 * For package type fork-cms-theme, cut off a trailing '-theme' if present.
19 */
20 public function inflectPackageVars(array $vars): array
21 {
22 if ($vars['type'] === 'fork-cms-module') {
23 return $this->inflectModuleVars($vars);
24 }
25
26 if ($vars['type'] === 'fork-cms-theme') {
27 return $this->inflectThemeVars($vars);
28 }
29
30 return $vars;
31 }
32
33 /**
34 * @param array<string, string> $vars
35 * @return array<string, string>
36 */
37 protected function inflectModuleVars(array $vars): array
38 {
39 $vars['name'] = $this->pregReplace('/^fork-cms-|-module|ForkCMS|ForkCms|Forkcms|forkcms|Module$/', '', $vars['name']);
40 $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); // replace hyphens with spaces
41 $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); // make module name camelcased
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('/^fork-cms-|-theme|ForkCMS|ForkCms|Forkcms|forkcms|Theme$/', '', $vars['name']);
53 $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']); // replace hyphens with spaces
54 $vars['name'] = str_replace(' ', '', ucwords($vars['name'])); // make theme name camelcased
55
56 return $vars;
57 }
58 }
59