diff --git a/app/Commands/Env/EnvBackupCommand.php b/app/Commands/Env/EnvBackupCommand.php index f23cd4d..c847320 100644 --- a/app/Commands/Env/EnvBackupCommand.php +++ b/app/Commands/Env/EnvBackupCommand.php @@ -3,6 +3,7 @@ namespace App\Commands\Env; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Storage; use LaravelZero\Framework\Commands\Command; class EnvBackupCommand extends Command @@ -28,10 +29,9 @@ class EnvBackupCommand extends Command */ public function handle(): int { - $envFilePath = App::environmentFilePath(); - $this->info(sprintf("The following environment file is used: '%s'", $envFilePath)); + $this->info(sprintf("The following environment file is used: '%s'", App::environmentFilePath())); - file_put_contents($this->argument('file'), file_get_contents($envFilePath)); + Storage::put($this->argument('file'), Storage::get('.env')); $this->info('The environment file was successfully backed up.'); diff --git a/app/Commands/Env/EnvListCommand.php b/app/Commands/Env/EnvListCommand.php index f684fe7..cb6704f 100644 --- a/app/Commands/Env/EnvListCommand.php +++ b/app/Commands/Env/EnvListCommand.php @@ -4,6 +4,7 @@ namespace App\Commands\Env; use Dotenv\Dotenv; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Storage; use LaravelZero\Framework\Commands\Command; class EnvListCommand extends Command @@ -29,18 +30,17 @@ class EnvListCommand extends Command */ public function handle(): int { - $envFilePath = App::environmentFilePath(); - $this->info(sprintf("The following environment file is used: '%s'", $envFilePath)); + $this->info(sprintf("The following environment file is used: '%s'", App::environmentFilePath())); - if (file_exists($envFilePath)) { - $env = Dotenv::parse(file_get_contents($envFilePath)); + if (Storage::exists('.env')) { + $env = Dotenv::parse(Storage::get('.env')); } else { $this->warn('The environment file does not exist.'); return 1; } - if(empty($env)) { + if (empty($env)) { $this->warn('The environment file is empty.'); return 2; diff --git a/app/Commands/Env/EnvRestoreCommand.php b/app/Commands/Env/EnvRestoreCommand.php index 6e3fd51..1525efc 100644 --- a/app/Commands/Env/EnvRestoreCommand.php +++ b/app/Commands/Env/EnvRestoreCommand.php @@ -3,6 +3,7 @@ namespace App\Commands\Env; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Storage; use LaravelZero\Framework\Commands\Command; class EnvRestoreCommand extends Command @@ -28,10 +29,9 @@ class EnvRestoreCommand extends Command */ public function handle(): int { - $envFilePath = App::environmentFilePath(); - $this->info(sprintf("The following environment file is used: '%s'", $envFilePath)); + $this->info(sprintf("The following environment file is used: '%s'", App::environmentFilePath())); - file_put_contents($envFilePath, file_get_contents($this->argument('file'))); + Storage::put('.env', Storage::get($this->argument('file'))); $this->info('The environment file was successfully restored.'); diff --git a/app/Commands/Env/EnvSetCommand.php b/app/Commands/Env/EnvSetCommand.php index 21fe2bd..eaafcde 100644 --- a/app/Commands/Env/EnvSetCommand.php +++ b/app/Commands/Env/EnvSetCommand.php @@ -4,6 +4,7 @@ namespace App\Commands\Env; use Dotenv\Dotenv; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Storage; use LaravelZero\Framework\Commands\Command; class EnvSetCommand extends Command @@ -31,11 +32,10 @@ class EnvSetCommand extends Command */ public function handle(): int { - $envFilePath = App::environmentFilePath(); - $this->info(sprintf("The following environment file is used: '%s'", $envFilePath)); + $this->info(sprintf("The following environment file is used: '%s'", App::environmentFilePath())); - if (file_exists($envFilePath)) { - $env = Dotenv::parse(file_get_contents($envFilePath)); + if (Storage::exists('.env')) { + $env = Dotenv::parse(Storage::get('.env')); } else { $this->warn('The environment file does not exist. Creating a new one...'); $env = []; @@ -43,7 +43,7 @@ class EnvSetCommand extends Command $env[strtoupper($this->argument('key'))] = $this->argument('value'); - file_put_contents($envFilePath, self::updateEnv($env)); + Storage::put('.env', self::updateEnv($env)); $this->info('The environment file was successfully updated.'); diff --git a/app/Commands/InitCommand.php b/app/Commands/InitCommand.php index 441fc86..3609919 100644 --- a/app/Commands/InitCommand.php +++ b/app/Commands/InitCommand.php @@ -7,6 +7,7 @@ use App\Commands\Env\EnvSetCommand; use Dotenv\Dotenv; use Illuminate\Support\Collection; use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\Storage; use LaravelZero\Framework\Commands\Command; class InitCommand extends Command @@ -36,11 +37,10 @@ class InitCommand extends Command */ public function handle(Client $client): int { - $envFilePath = App::environmentFilePath(); - $this->info(sprintf("The following environment file is used: '%s'", $envFilePath)); + $this->info(sprintf("The following environment file is used: '%s'", App::environmentFilePath())); - if (file_exists($envFilePath)) { - $env = Dotenv::parse(file_get_contents($envFilePath)); + if (Storage::exists('.env')) { + $env = Dotenv::parse(Storage::get('.env')); } else { $this->warn('The environment file does not exist. Creating a new one...'); $env = []; @@ -102,7 +102,7 @@ class InitCommand extends Command $this->warn('No pull zone was specified, therefore no pull zone is flushed during deployment.'); } - file_put_contents($envFilePath, EnvSetCommand::updateEnv($env)); + Storage::put('.env', EnvSetCommand::updateEnv($env)); $this->info('The environment file was successfully updated.'); diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index f82a823..06758f6 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -16,9 +16,7 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - Storage::extend('ftp', function ($app, $config) { - return new Filesystem(new FtpAdapter($config)); - }); + // } /** diff --git a/bootstrap/app.php b/bootstrap/app.php index cb66136..3d719bb 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -15,6 +15,21 @@ $app = new LaravelZero\Framework\Application( dirname(__DIR__) ); +/* +|-------------------------------------------------------------------------- +| Set the correct path for the environment file +|-------------------------------------------------------------------------- +| +| If the current directory has a .env file then we will use that instead +| of the global one, otherwise the one under the user homepage. +| +*/ + +if (!file_exists(dirname(__DIR__) . DIRECTORY_SEPARATOR . '.env')) { + $app->useEnvironmentPath(getenv('HOME') . DIRECTORY_SEPARATOR . '.bunny-cli'); +} + + /* |-------------------------------------------------------------------------- | Bind Important Interfaces diff --git a/builds/bunny b/builds/bunny index dc39b53..7c4d717 100755 Binary files a/builds/bunny and b/builds/bunny differ diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..1b531ac --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,11 @@ + 'local', + 'disks' => [ + 'local' => [ + 'driver' => 'local', + 'root' => getenv('HOME') . DIRECTORY_SEPARATOR . '.bunny-cli', + ], + ], +];