mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 13:24:46 +02:00

* make sure migrations ran * add loading indicator to finish button * make error notification persistent * fix migration checker * cleanup traits
51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands\Environment;
|
|
|
|
use App\Traits\EnvironmentWriterTrait;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\Artisan;
|
|
|
|
class AppSettingsCommand extends Command
|
|
{
|
|
use EnvironmentWriterTrait;
|
|
|
|
protected $description = 'Configure basic environment settings for the Panel.';
|
|
|
|
protected $signature = 'p:environment:setup
|
|
{--url= : The URL that this Panel is running on.}';
|
|
|
|
protected array $variables = [];
|
|
|
|
public function handle(): void
|
|
{
|
|
$path = base_path('.env');
|
|
if (!file_exists($path)) {
|
|
$this->comment('Copying example .env file');
|
|
copy($path . '.example', $path);
|
|
}
|
|
|
|
if (!config('app.key')) {
|
|
$this->comment('Generating app key');
|
|
Artisan::call('key:generate');
|
|
}
|
|
|
|
$this->variables['APP_TIMEZONE'] = 'UTC';
|
|
|
|
$this->variables['APP_URL'] = $this->option('url') ?? $this->ask(
|
|
'Application URL',
|
|
config('app.url', 'https://example.com')
|
|
);
|
|
|
|
// Make sure session cookies are set as "secure" when using HTTPS
|
|
if (str_starts_with($this->variables['APP_URL'], 'https://')) {
|
|
$this->variables['SESSION_SECURE_COOKIE'] = 'true';
|
|
}
|
|
|
|
$this->comment('Writing variables to .env file');
|
|
$this->writeToEnvironment($this->variables);
|
|
|
|
$this->info("Setup complete. Vist {$this->variables['APP_URL']}/installer to complete the installation");
|
|
}
|
|
}
|