Code Duplication    Length = 73-73 lines in 2 locations

src/Commands/DisableCommand.php 1 location

@@ 9-81 (lines=73) @@
6
use Nwidart\Modules\Module;
7
use Symfony\Component\Console\Input\InputArgument;
8
9
class DisableCommand extends Command
10
{
11
    /**
12
     * The console command name.
13
     *
14
     * @var string
15
     */
16
    protected $name = 'module:disable';
17
18
    /**
19
     * The console command description.
20
     *
21
     * @var string
22
     */
23
    protected $description = 'Disable the specified module.';
24
25
    /**
26
     * Execute the console command.
27
     */
28
    public function handle()
29
    {
30
        /**
31
         * check if user entred an argument
32
         */
33
        if ($this->argument('module') === null) {
34
            $this->disableAll();
35
        }
36
37
        /** @var Module $module */
38
        $module = $this->laravel['modules']->findOrFail($this->argument('module'));
39
40
        if ($module->isEnabled()) {
41
            $module->disable();
42
43
            $this->info("Module [{$module}] disabled successful.");
44
        } else {
45
            $this->comment("Module [{$module}] has already disabled.");
46
        }
47
    }
48
49
    /**
50
     * disableAll
51
     *
52
     * @return void
53
     */
54
    public function disableAll()
55
    {
56
        /** @var Modules $modules */
57
        $modules = $this->laravel['modules']->all();
58
59
        foreach ($modules as $module) {
60
            if ($module->isEnabled()) {
61
                $module->disable();
62
63
                $this->info("Module [{$module}] disabled successful.");
64
            } else {
65
                $this->comment("Module [{$module}] has already disabled.");
66
            }
67
        }
68
    }
69
70
    /**
71
     * Get the console command arguments.
72
     *
73
     * @return array
74
     */
75
    protected function getArguments()
76
    {
77
        return [
78
            ['module', InputArgument::OPTIONAL, 'Module name.'],
79
        ];
80
    }
81
}
82

src/Commands/EnableCommand.php 1 location

@@ 9-81 (lines=73) @@
6
use Nwidart\Modules\Module;
7
use Symfony\Component\Console\Input\InputArgument;
8
9
class EnableCommand extends Command
10
{
11
    /**
12
     * The console command name.
13
     *
14
     * @var string
15
     */
16
    protected $name = 'module:enable';
17
18
    /**
19
     * The console command description.
20
     *
21
     * @var string
22
     */
23
    protected $description = 'Enable the specified module.';
24
25
    /**
26
     * Execute the console command.
27
     */
28
    public function handle()
29
    {
30
        /**
31
         * check if user entred an argument
32
         */
33
        if ($this->argument('module') === null) {
34
            return $this->enableAll();
35
        }
36
37
        /** @var Module $module */
38
        $module = $this->laravel['modules']->findOrFail($this->argument('module'));
39
40
        if ($module->isDisabled()) {
41
            $module->enable();
42
43
            $this->info("Module [{$module}] enabled successful.");
44
        } else {
45
            $this->comment("Module [{$module}] has already enabled.");
46
        }
47
    }
48
49
    /**
50
     * enableAll
51
     *
52
     * @return void
53
     */
54
    public function enableAll()
55
    {
56
        /** @var Modules $modules */
57
        $modules = $this->laravel['modules']->all();
58
59
        foreach ($modules as $module) {
60
            if ($module->isDisabled()) {
61
                $module->enable();
62
63
                $this->info("Module [{$module}] enabled successful.");
64
            } else {
65
                $this->comment("Module [{$module}] has already enabled.");
66
            }
67
        }
68
    }
69
70
    /**
71
     * Get the console command arguments.
72
     *
73
     * @return array
74
     */
75
    protected function getArguments()
76
    {
77
        return [
78
            ['module', InputArgument::OPTIONAL, 'Module name.'],
79
        ];
80
    }
81
}
82