PostInstall::executeThemeCommands()   B
last analyzed

Complexity

Conditions 6
Paths 12

Size

Total Lines 23
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 23
rs 8.5906
c 0
b 0
f 0
cc 6
eloc 12
nc 12
nop 0
1
<?php
2
namespace PressCLI\Command;
3
4
use PressCLI\Option\Configuration;
5
6
class PostInstall
7
{
8
    /**
9
     * Executes the post install commands.
10
     */
11
    public static function executeCommands()
12
    {
13
        $config = Configuration::get();
14
15
        // Run commands.
16
        foreach ($config['commands']['postInstall'] as $command) {
17
            system($command);
18
        }
19
    }
20
21
    /**
22
     * Executes the post install theme commands.
23
     */
24
    public static function executeThemeCommands()
25
    {
26
        $config = Configuration::get();
27
        $themeName = isset($config['theme']['name']) ? $config['theme']['name'] : '';
28
        $commands = isset($config['commands']['postInstallTheme']) ? $config['commands']['postInstallTheme'] : [];
29
        if ( ! $themeName || ! $commands ) {
30
            return;
31
        }
32
33
        $rootDir = getcwd();
34
        $themeDir = "{$rootDir}/wp-content/themes/{$themeName}";
35
36
        // Change into the theme directory.
37
        chdir($themeDir);
38
39
        // Run commands.
40
        foreach ($commands as $command) {
41
            system($command);
42
        }
43
44
        // Change back to root directory.
45
        chdir($rootDir);
46
    }
47
}
48