feat: ✨ Added PayPal Settings
This commit is contained in:
parent
a5b48c4730
commit
322bfed972
48
app/Extensions/PaymentGateways/PayPal/PayPalSettings.php
Normal file
48
app/Extensions/PaymentGateways/PayPal/PayPalSettings.php
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
namespace App\Extensions\PaymentGateways\PayPal;
|
||||
|
||||
use Spatie\LaravelSettings\Settings;
|
||||
|
||||
class PayPalSettings extends Settings
|
||||
{
|
||||
public ?string $client_id;
|
||||
public ?string $client_secret;
|
||||
|
||||
|
||||
public static function group(): string
|
||||
{
|
||||
return 'paypal';
|
||||
}
|
||||
|
||||
|
||||
public static function encrypted(): array
|
||||
{
|
||||
return [
|
||||
'client_id',
|
||||
'client_secret'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Summary of optionInputData array
|
||||
* Only used for the settings page
|
||||
* @return array<array<'type'|'label'|'description'|'options', string|bool|float|int|array<string, string>>>
|
||||
*/
|
||||
public static function getOptionInputData()
|
||||
{
|
||||
return [
|
||||
'category_icon' => 'fas fa-dollar-sign',
|
||||
'client_id' => [
|
||||
'type' => 'text',
|
||||
'label' => 'Client ID',
|
||||
'description' => 'The Client ID of your PayPal App',
|
||||
],
|
||||
'client_secret' => [
|
||||
'type' => 'text',
|
||||
'label' => 'Client Secret',
|
||||
'description' => 'The Client Secret of your PayPal App',
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
use Spatie\LaravelSettings\Migrations\SettingsMigration;
|
||||
|
||||
class CreatePayPalSettings extends SettingsMigration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
|
||||
$this->migrator->addEncrypted('paypal.client_id', "1234");
|
||||
$this->migrator->addEncrypted('paypal.client_secret', "123456");
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
$this->migrator->delete('paypal.client_id');
|
||||
$this->migrator->delete('paypal.client_secret');
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Extensions\PaymentGateways\PayPal\PayPalSettings;
|
||||
use App\Models\UsefulLink;
|
||||
use App\Settings\MailSettings;
|
||||
use Exception;
|
||||
|
@ -10,7 +11,7 @@ use Illuminate\Support\Facades\Log;
|
|||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Qirolab\Theme\Theme;
|
||||
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
@ -64,91 +65,5 @@ class AppServiceProvider extends ServiceProvider
|
|||
|
||||
$settings = $this->app->make(MailSettings::class);
|
||||
$settings->setConfig();
|
||||
|
||||
//only run if the installer has been executed
|
||||
// try {
|
||||
// $settings = Settings::all();
|
||||
// // Set all configs from database
|
||||
// foreach ($settings as $setting) {
|
||||
// config([$setting->key => $setting->value]);
|
||||
// }
|
||||
|
||||
// if(!file_exists(base_path('themes') . "/" . config("SETTINGS::SYSTEM:THEME"))){
|
||||
// config(['SETTINGS::SYSTEM:THEME' => "default"]);
|
||||
// }
|
||||
|
||||
// if(config('SETTINGS::SYSTEM:THEME') !== config('theme.active')){
|
||||
// Theme::set(config("SETTINGS::SYSTEM:THEME"), "default");
|
||||
// }
|
||||
|
||||
// // 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
|
||||
// // Load recaptcha package if recaptcha is enabled
|
||||
// if (config('SETTINGS::RECAPTCHA:ENABLED') == 'true') {
|
||||
// $this->app->register(\Biscolab\ReCaptcha\ReCaptchaServiceProvider::class);
|
||||
// }
|
||||
|
||||
// //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');
|
||||
// }
|
||||
|
||||
// try {
|
||||
// $stringfromfile = file(base_path().'/.git/HEAD');
|
||||
|
||||
// $firstLine = $stringfromfile[0]; //get the string from the array
|
||||
|
||||
// $explodedstring = explode('/', $firstLine, 3); //seperate out by the "/" in the string
|
||||
|
||||
// $branchname = $explodedstring[2]; //get the one that is always the branch name
|
||||
// } catch (Exception $e) {
|
||||
// $branchname = 'unknown';
|
||||
// Log::notice($e);
|
||||
// }
|
||||
// config(['BRANCHNAME' => $branchname]);
|
||||
|
||||
// // Set Discord-API Config
|
||||
// config(['services.discord.client_id' => config('SETTINGS::DISCORD:CLIENT_ID')]);
|
||||
// config(['services.discord.client_secret' => config('SETTINGS::DISCORD:CLIENT_SECRET')]);
|
||||
// } catch (Exception $e) {
|
||||
// error_log('Settings Error: Could not load settings from database. The Installation probably is not done yet.');
|
||||
// error_log($e);
|
||||
// Log::error('Settings Error: Could not load settings from database. The Installation probably is not done yet.');
|
||||
// Log::error($e);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue