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