Completed
Push — master ( 56fe9d...e01909 )
by Alexandr
01:56
created

LarrockInstallCommand   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 70
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 4
Bugs 0 Features 1
Metric Value
wmc 12
c 4
b 0
f 1
lcom 1
cbo 1
dl 0
loc 70
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
F handle() 0 48 12
1
<?php
2
3
namespace Larrock\Core\Commands;
4
5
use Illuminate\Console\Command;
6
7
class LarrockInstallCommand extends Command
8
{
9
    /**
10
     * The name and signature of the console command.
11
     *
12
     * @var string
13
     */
14
    protected $signature = 'larrock:install';
15
16
    /**
17
     * The console command description.
18
     *
19
     * @var string
20
     */
21
    protected $description = 'Install LarrockCMS';
22
23
    /**
24
     * Execute the console command.
25
     *
26
     * @return mixed
27
     */
28
    public function handle()
29
    {
30
        $this->line('=== Install LarrockCMS ===');
31
32
        if(env('DB_DATABASE') === 'homestead' || env('DB_USERNAME') === 'homestead' || env('DB_PASSWORD') === 'secret') {
33
            $this->line('Параметры подключения к БД в .env-файле:');
34
            $this->line('DB_DATABASE=' . env('DB_DATABASE'));
35
            $this->line('DB_USERNAME=' . env('DB_USERNAME'));
36
            $this->line('DB_PASSWORD=' . env('DB_PASSWORD'));
37
            if ( !$this->confirm('Данные для доступа к БД верны?')) {
38
                $this->error('Установка завершена некорректно. Пожалуйста, установите правильные данные для доступа к БД и повторите попытку');
39
                return FALSE;
40
            }
41
        }
42
43
        if ($this->confirm('Шаг 1/7. Обновить .env? (larrock:updateEnv)')) {
44
            $this->call('larrock:updateEnv');
45
        }
46
47
        if ($this->confirm('Шаг 2/7. Сменить директорию "public" на "public_html"? (larrock:renamePublicDirectory)')) {
48
            $this->call('larrock:renamePublicDirectory');
49
        }
50
51
        if ($this->confirm('Шаг 3/7. Обновить конфиги зависимостей? (larrock:updateVendorConfig)')) {
52
            $this->call('larrock:updateVendorConfig');
53
        }
54
55
        if ($this->confirm('Шаг 4/7. Опубликовать ресурсы (vendor:publish)?')) {
56
            $this->call('vendor:publish');
57
        }
58
59
        if ($this->confirm('Шаг 5/7. Выполнить миграции БД (migrate)?')) {
60
            $this->call('migrate');
61
        }
62
63
        if ($this->confirm('Шаг 6/7. Добавить пользователя администратора? (larrock:addAdmin)')) {
64
            $this->call('larrock:addAdmin');
65
        }
66
67
        if ($this->confirm('Шаг 7/7. Установить пакеты ресурсов для шаблонов? (larrock:assets)')) {
68
            $this->call('larrock:assets');
69
        }
70
71
        //$this->call('larrock:check');
72
        $this->info('=== Install LarrockCMS successfully ended ===');
73
        $this->info('Проверка корректности установки LarrockCMS - php artisan larrock:check');
74
        $this->info('Если вы хотите установить пакеты не входящие в ядро LarrockCMS, выполните команду php artisan larrock:manager');
75
    }
76
}