diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 33df8145..4ff248aa 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -52,57 +52,60 @@ class AppServiceProvider extends ServiceProvider }); - // TODO: Check if Installer Lockfile exists instead of "running in console" - $settings = Settings::all(); - // Set all configs from database - foreach ($settings as $setting) { - config([$setting->key => $setting->value]); + //only run if app is not run in command line + if (!$this->app->runningInConsole()) { + // TODO: Check if Installer Lockfile exists instead of "running in console" + $settings = Settings::all(); + // Set all configs from database + foreach ($settings as $setting) { + config([$setting->key => $setting->value]); + } + + // Set Mail Config + //only update config if mail settings have changed in DB + if ( + config('mail.default') != config('SETTINGS:MAIL:MAILER') || + config('mail.mailers.smtp.host') != config('SETTINGS:MAIL:HOST') || + config('mail.mailers.smtp.port') != config('SETTINGS:MAIL:PORT') || + config('mail.mailers.smtp.username') != config('SETTINGS:MAIL:USERNAME') || + config('mail.mailers.smtp.password') != config('SETTINGS:MAIL:PASSWORD') || + config('mail.mailers.smtp.encryption') != config('SETTINGS:MAIL:ENCRYPTION') || + config('mail.from.address') != config('SETTINGS:MAIL:FROM_ADDRESS') || + config('mail.from.name') != config('SETTINGS:MAIL:FROM_NAME') + ) { + config(['mail.default' => config('SETTINGS::MAIL:MAILER')]); + config(['mail.mailers.smtp' => [ + 'transport' => 'smtp', + 'host' => config('SETTINGS::MAIL:HOST'), + 'port' => config('SETTINGS::MAIL:PORT'), + 'encryption' => config('SETTINGS::MAIL:ENCRYPTION'), + 'username' => config('SETTINGS::MAIL:USERNAME'), + 'password' => config('SETTINGS::MAIL:PASSWORD'), + 'timeout' => null, + 'auth_mode' => null, + ]]); + config(['mail.from' => ['address' => config('SETTINGS::MAIL:FROM_ADDRESS'), 'name' => config('SETTINGS::MAIL:FROM_NAME')]]); + + Artisan::call('queue:restart'); + } + + + // Set Recaptcha API Config + //only update config if recaptcha settings have changed in DB + if ( + config('recaptcha.api_site_key') != config('SETTINGS::RECAPTCHA:SITE_KEY') || + config('recaptcha.api_secret_key') != config('SETTINGS::RECAPTCHA:SECRET_KEY') + ) { + config(['recaptcha.api_site_key' => config('SETTINGS::RECAPTCHA:SITE_KEY')]); + config(['recaptcha.api_secret_key' => config('SETTINGS::RECAPTCHA:SECRET_KEY')]); + + Artisan::call('config:clear'); + Artisan::call('cache:clear'); + } + + // Set Discord-API Config + config(['services.discord.client_id' => config('SETTINGS::DISCORD:CLIENT_ID')]); + config(['services.discord.client_secret' => config('SETTINGS::DISCORD:CLIENT_SECRET')]); } - - // Set Mail Config - //only update config if mail settings have changed in DB - if ( - config('mail.default') != config('SETTINGS:MAIL:MAILER') || - config('mail.mailers.smtp.host') != config('SETTINGS:MAIL:HOST') || - config('mail.mailers.smtp.port') != config('SETTINGS:MAIL:PORT') || - config('mail.mailers.smtp.username') != config('SETTINGS:MAIL:USERNAME') || - config('mail.mailers.smtp.password') != config('SETTINGS:MAIL:PASSWORD') || - config('mail.mailers.smtp.encryption') != config('SETTINGS:MAIL:ENCRYPTION') || - config('mail.from.address') != config('SETTINGS:MAIL:FROM_ADDRESS') || - config('mail.from.name') != config('SETTINGS:MAIL:FROM_NAME') - ) { - config(['mail.default' => config('SETTINGS::MAIL:MAILER')]); - config(['mail.mailers.smtp' => [ - 'transport' => 'smtp', - 'host' => config('SETTINGS::MAIL:HOST'), - 'port' => config('SETTINGS::MAIL:PORT'), - 'encryption' => config('SETTINGS::MAIL:ENCRYPTION'), - 'username' => config('SETTINGS::MAIL:USERNAME'), - 'password' => config('SETTINGS::MAIL:PASSWORD'), - 'timeout' => null, - 'auth_mode' => null, - ]]); - config(['mail.from' => ['address' => config('SETTINGS::MAIL:FROM_ADDRESS'), 'name' => config('SETTINGS::MAIL:FROM_NAME')]]); - - Artisan::call('queue:restart'); - } - - - // Set Recaptcha API Config - //only update config if recaptcha settings have changed in DB - if ( - config('recaptcha.api_site_key') != config('SETTINGS::RECAPTCHA:SITE_KEY') || - config('recaptcha.api_secret_key') != config('SETTINGS::RECAPTCHA:SECRET_KEY') - ) { - config(['recaptcha.api_site_key' => config('SETTINGS::RECAPTCHA:SITE_KEY')]); - config(['recaptcha.api_secret_key' => config('SETTINGS::RECAPTCHA:SECRET_KEY')]); - - Artisan::call('config:clear'); - Artisan::call('cache:clear'); - } - - // Set Discord-API Config - config(['services.discord.client_id' => config('SETTINGS::DISCORD:CLIENT_ID')]); - config(['services.discord.client_secret' => config('SETTINGS::DISCORD:CLIENT_SECRET')]); } } diff --git a/database/migrations/2021_05_08_164658_create_configurations_table.php b/database/migrations/2021_05_08_164658_create_configurations_table.php new file mode 100644 index 00000000..ca5cb6f0 --- /dev/null +++ b/database/migrations/2021_05_08_164658_create_configurations_table.php @@ -0,0 +1,33 @@ +string('key')->primary(); + $table->string('value'); + $table->string('type')->default('string'); + $table->text('description')->nullable(); + $table->timestamps(); + }); + } + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('configurations'); + } +} diff --git a/database/migrations/2021_05_09_153742_add_display_to_credit_products_table.php b/database/migrations/2021_05_09_153742_add_display_to_paypal_products_table.php similarity index 72% rename from database/migrations/2021_05_09_153742_add_display_to_credit_products_table.php rename to database/migrations/2021_05_09_153742_add_display_to_paypal_products_table.php index 08569ca0..26d61492 100644 --- a/database/migrations/2021_05_09_153742_add_display_to_credit_products_table.php +++ b/database/migrations/2021_05_09_153742_add_display_to_paypal_products_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class AddDisplayToCreditProductsTable extends Migration +class AddDisplayToPayPalProductsTable extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class AddDisplayToCreditProductsTable extends Migration */ public function up() { - Schema::table('credit_products', function (Blueprint $table) { + Schema::table('paypal_products', function (Blueprint $table) { $table->string('display'); }); } @@ -25,7 +25,7 @@ class AddDisplayToCreditProductsTable extends Migration */ public function down() { - Schema::table('credit_products', function (Blueprint $table) { + Schema::table('paypal_products', function (Blueprint $table) { $table->dropColumn('display'); }); } diff --git a/database/seeders/Seeds/SettingsSeeder.php b/database/seeders/Seeds/SettingsSeeder.php index 19389f1d..390fb1c9 100644 --- a/database/seeders/Seeds/SettingsSeeder.php +++ b/database/seeders/Seeds/SettingsSeeder.php @@ -150,6 +150,7 @@ class SettingsSeeder extends Seeder ], [ 'value' => 'false', 'type' => 'boolean', + 'description' => 'Enables or disables the invoice feature for payments' ]); //Invoice company name Settings::firstOrCreate([