diff --git a/app/Helpers/ExtensionHelper.php b/app/Helpers/ExtensionHelper.php index 6844268b..772b117c 100644 --- a/app/Helpers/ExtensionHelper.php +++ b/app/Helpers/ExtensionHelper.php @@ -127,9 +127,6 @@ class ExtensionHelper } } - error_log(print_r($settings, true)); - - return $settings; } diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php index 456166bd..3a38b5a4 100644 --- a/app/Http/Controllers/Admin/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -44,7 +44,6 @@ class SettingsController extends Controller $className = $file; // instantiate the class and call toArray method to get all options $options = (new $className())->toArray(); - error_log(print_r($className, true)); // call getOptionInputData method to get all options if (method_exists($className, 'getOptionInputData')) { @@ -52,7 +51,6 @@ class SettingsController extends Controller } else { $optionInputData = []; } - error_log(print_r($optionInputData, true)); // collect all option input data $optionsData = []; diff --git a/app/Http/Controllers/Admin/ShopProductController.php b/app/Http/Controllers/Admin/ShopProductController.php index 87e04290..690493f8 100644 --- a/app/Http/Controllers/Admin/ShopProductController.php +++ b/app/Http/Controllers/Admin/ShopProductController.php @@ -22,20 +22,13 @@ class ShopProductController extends Controller * * @return Application|Factory|View|Response */ - public function index(LocaleSettings $locale_settings) + public function index(LocaleSettings $locale_settings, GeneralSettings $general_settings) { - $isPaymentSetup = false; + $isStoreEnabled = $general_settings->store_enabled; - if ( - env('APP_ENV') == 'local' || - config('SETTINGS::PAYMENTS:PAYPAL:SECRET') && config('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID') || - config('SETTINGS::PAYMENTS:STRIPE:SECRET') && config('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') && config('SETTINGS::PAYMENTS:STRIPE:METHODS') - ) { - $isPaymentSetup = true; - } return view('admin.store.index', [ - 'isPaymentSetup' => $isPaymentSetup, + 'isStoreEnabled' => $isStoreEnabled, 'locale_datatables' => $locale_settings->datatables ]); } diff --git a/app/Http/Controllers/StoreController.php b/app/Http/Controllers/StoreController.php index 6ae24117..42b7a6dc 100644 --- a/app/Http/Controllers/StoreController.php +++ b/app/Http/Controllers/StoreController.php @@ -12,29 +12,21 @@ class StoreController extends Controller /** Display a listing of the resource. */ public function index(UserSettings $user_settings, GeneralSettings $general_settings) { - $isPaymentSetup = false; - - if ( - env('APP_ENV') == 'local' || - config('SETTINGS::PAYMENTS:PAYPAL:SECRET') && config('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID') || - config('SETTINGS::PAYMENTS:STRIPE:SECRET') && config('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') && config('SETTINGS::PAYMENTS:STRIPE:METHODS') - ) { - $isPaymentSetup = true; - } + $isStoreEnabled = $general_settings->store_enabled; //Required Verification for creating an server - if ($user_settings->force_email_verification && ! Auth::user()->hasVerifiedEmail()) { + if ($user_settings->force_email_verification && !Auth::user()->hasVerifiedEmail()) { return redirect()->route('profile.index')->with('error', __('You are required to verify your email address before you can purchase credits.')); } //Required Verification for creating an server - if ($user_settings->force_discord_verification && ! Auth::user()->discordUser) { + if ($user_settings->force_discord_verification && !Auth::user()->discordUser) { return redirect()->route('profile.index')->with('error', __('You are required to link your discord account before you can purchase Credits')); } return view('store.index')->with([ 'products' => ShopProduct::where('disabled', '=', false)->orderBy('type', 'asc')->orderBy('price', 'asc')->get(), - 'isPaymentSetup' => true, + 'isStoreEnabled' => $isStoreEnabled, 'credits_display_name' => $general_settings->credits_display_name ]); } diff --git a/app/Settings/GeneralSettings.php b/app/Settings/GeneralSettings.php index 0b479cd0..906e4696 100644 --- a/app/Settings/GeneralSettings.php +++ b/app/Settings/GeneralSettings.php @@ -6,6 +6,7 @@ use Spatie\LaravelSettings\Settings; class GeneralSettings extends Settings { + public bool $store_enabled = true; public string $credits_display_name; public bool $recaptcha_enabled; public string $recaptcha_site_key; @@ -31,27 +32,6 @@ class GeneralSettings extends Settings ]; } - /** - * Summary of validations array - * @return array - */ - public static function getValidations() - { - return [ - 'credits_display_name' => 'required|string', - 'initial_user_credits' => 'required|numeric', - 'initial_server_limit' => 'required|numeric', - 'recaptcha_enabled' => 'nullable|string', - 'recaptcha_site_key' => 'nullable|string', - 'recaptcha_secret_key' => 'nullable|string', - 'phpmyadmin_url' => 'nullable|string', - 'alert_enabled' => 'nullable|string', - 'alert_type' => 'nullable|string', - 'alert_message' => 'nullable|string', - 'theme' => 'required|string' - ]; - } - /** * Summary of optionTypes * Only used for the settings page @@ -61,6 +41,11 @@ class GeneralSettings extends Settings { return [ 'category_icon' => "fas fa-cog", + 'store_enabled' => [ + 'type' => 'boolean', + 'label' => 'Enable Store', + 'description' => 'Enable the store for users to purchase credits.' + ], 'credits_display_name' => [ 'type' => 'string', 'label' => 'Credits Display Name', diff --git a/database/settings/2023_02_01_164731_create_general_settings.php b/database/settings/2023_02_01_164731_create_general_settings.php index 3c84dac9..d93efe52 100644 --- a/database/settings/2023_02_01_164731_create_general_settings.php +++ b/database/settings/2023_02_01_164731_create_general_settings.php @@ -10,6 +10,7 @@ class CreateGeneralSettings extends SettingsMigration $table_exists = DB::table('settings_old')->exists(); // Get the user-set configuration values from the old table. + $this->migrator->add('general.store_enabled', true); $this->migrator->add('general.credits_display_name', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:CREDITS_DISPLAY_NAME') : 'Credits'); $this->migrator->addEncrypted('general.recaptcha_site_key', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:SITE_KEY") : env('RECAPTCHA_SITE_KEY', '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI')); $this->migrator->addEncrypted('general.recaptcha_secret_key', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:SECRET_KEY") : env('RECAPTCHA_SECRET_KEY', '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe')); @@ -88,6 +89,7 @@ class CreateGeneralSettings extends SettingsMigration ], ]); + $this->migrator->delete('general.store_enabled'); $this->migrator->delete('general.credits_display_name'); $this->migrator->delete('general.recaptcha_site_key'); $this->migrator->delete('general.recaptcha_secret_key'); diff --git a/themes/default/views/layouts/main.blade.php b/themes/default/views/layouts/main.blade.php index 01a9d619..16ddcb3a 100644 --- a/themes/default/views/layouts/main.blade.php +++ b/themes/default/views/layouts/main.blade.php @@ -3,13 +3,16 @@ @php($website_settings = app(App\Settings\WebsiteSettings::class)) + @php($general_settings = app(App\Settings\GeneralSettings::class)) - exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}' property="og:image"> + exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}' + property="og:image"> {{ config('app.name', 'Laravel') }} @endif - @foreach($useful_links as $link) - + @foreach ($useful_links as $link) + @endforeach @@ -232,11 +235,7 @@ - @if (env('APP_ENV') == 'local' || - (config('SETTINGS::PAYMENTS:PAYPAL:SECRET') && config('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID')) || - (config('SETTINGS::PAYMENTS:STRIPE:SECRET') && - config('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') && - config('SETTINGS::PAYMENTS:STRIPE:METHODS'))) + @if (env('APP_ENV') == 'local' || $general_settings->store_enabled)