diff --git a/include/init/configuration.php b/include/init/configuration.php index f24a6a0b3..8e3d9fa62 100755 --- a/include/init/configuration.php +++ b/include/init/configuration.php @@ -141,6 +141,22 @@ // Controlla che la scrittura del file di configurazione sia andata a buon fine $creation = file_put_contents('config.inc.php', $new_config); + + // Configurazione per Larvel (.env) + $laravel_config = file_get_contents(base_dir().'/.env.example'); + $laravel_values = [ + 'http://localhost' => base_url(), + ]; + $laravel_config = str_replace(array_keys($laravel_values), $laravel_values, $laravel_config); + $creation_env = file_put_contents('.env', $laravel_config); + // TODO: aggiungere validazione per .env + + // Crea la chiave di crittografia dell'applicazione per Laravel + // Laravel non è inizializzato in questo contesto + // use Illuminate\Support\Facades\Artisan; + //Artisan::call('key:generate'); + shell_exec("php artisan key:generate"); + if (!$creation) { echo '
diff --git a/src/Providers/AppServiceProvider.php b/src/Providers/AppServiceProvider.php index a36f2751e..cb3a8a48a 100644 --- a/src/Providers/AppServiceProvider.php +++ b/src/Providers/AppServiceProvider.php @@ -2,15 +2,10 @@ namespace Providers; -use API\Controllers\DataTablesController; use ApiPlatform\State\ProcessorInterface; use ApiPlatform\State\ProviderInterface; use Illuminate\Support\ServiceProvider; use Models\Locale; -use Modules\Impostazioni\API\Controllers\GetImpostazioneProvider; -use Modules\Impostazioni\API\Controllers\ListImpostazioniProvider; -use Modules\Impostazioni\API\Controllers\ListSezioniImpostazioniProvider; -use Modules\Impostazioni\API\Controllers\UpdateImpostazioneProcessor; class AppServiceProvider extends ServiceProvider { @@ -44,10 +39,16 @@ public function boot(): void $translator->setLocale($lang, $formatter); } - $this->app->tag(GetImpostazioneProvider::class, ProviderInterface::class); - $this->app->tag(UpdateImpostazioneProcessor::class, ProcessorInterface::class); - $this->app->tag(ListSezioniImpostazioniProvider::class, ProviderInterface::class); - $this->app->tag(ListImpostazioniProvider::class, ProviderInterface::class); - $this->app->tag(DataTablesController::class, ProcessorInterface::class); + // Register all Providers and Processors from Modules and Plugins + foreach (get_declared_classes() as $className) { + if (str_contains($className, 'Modules\\') || str_contains($className, 'API\\') || str_contains($className, 'Plugins\\')) { + if (in_array(ProviderInterface::class, class_implements($className))) { + $this->app->tag($className, ProviderInterface::class); + } + if (in_array(ProcessorInterface::class, class_implements($className))) { + $this->app->tag($className, ProcessorInterface::class); + } + } + } } } diff --git a/update/2_10.php b/update/2_10.php index 85125ced4..02fcc9e35 100644 --- a/update/2_10.php +++ b/update/2_10.php @@ -71,3 +71,17 @@ } } } + +// Configurazione per Larvel (.env) +$laravel_config = file_get_contents(base_dir().'/.env.example'); +$laravel_values = [ + 'http://localhost' => base_url(), +]; +$laravel_config = str_replace(array_keys($laravel_values), $laravel_values, $laravel_config); +$creation_env = file_put_contents('.env', $laravel_config); + +// Crea la chiave di crittografia dell'applicazione per Laravel +// Laravel non è inizializzato in questo contesto +// use Illuminate\Support\Facades\Artisan; +//Artisan::call('key:generate'); +shell_exec("php artisan key:generate"); \ No newline at end of file