File "SetupCommand.php"
Full Path: /home/pulsehostuk9/public_html/invoicer.pulsehost.co.uk/vendor/invoiceshelf/modules/src/Commands/stubs/routes/SetupCommand.php
File size: 1.7 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Nwidart\Modules\Commands;
use Illuminate\Console\Command;
class SetupCommand extends Command
{
/**
* The console command name.
*
* @var string
*/
protected $name = 'module:setup';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Setting up modules folders for first use.';
/**
* Execute the console command.
*/
public function handle() : int
{
$code = $this->generateModulesFolder();
return $this->generateAssetsFolder() | $code;
}
/**
* Generate the modules folder.
*/
public function generateModulesFolder()
{
return $this->generateDirectory(
$this->laravel['modules']->config('paths.modules'),
'Modules directory created successfully',
'Modules directory already exist'
);
}
/**
* Generate the assets folder.
*/
public function generateAssetsFolder()
{
return $this->generateDirectory(
$this->laravel['modules']->config('paths.assets'),
'Assets directory created successfully',
'Assets directory already exist'
);
}
/**
* Generate the specified directory by given $dir.
*
* @param $dir
* @param $success
* @param $error
* @return int
*/
protected function generateDirectory($dir, $success, $error) : int
{
if (!$this->laravel['files']->isDirectory($dir)) {
$this->laravel['files']->makeDirectory($dir, 0755, true, true);
$this->info($success);
return 0;
}
$this->error($error);
return E_ERROR;
}
}