diff --git a/app/Classes/LegacySettingsMigration.php b/app/Classes/LegacySettingsMigration.php index 3b6ccfaf..dd32a761 100644 --- a/app/Classes/LegacySettingsMigration.php +++ b/app/Classes/LegacySettingsMigration.php @@ -9,15 +9,20 @@ use Spatie\LaravelSettings\Migrations\SettingsMigration; abstract class LegacySettingsMigration extends SettingsMigration { - public function getNewValue(string $name) + public function getNewValue(string $name, string $group) { - $new_value = DB::table('settings')->where([['group', '=', 'general'], ['name', '=', $name]])->get(['payload'])->first(); + $new_value = DB::table('settings')->where([['group', '=', $group], ['name', '=', $name]])->get(['payload'])->first(); + + if (is_null($new_value) || is_null($new_value->payload)) { + return null; + } // Some keys returns '""' as a value. if ($new_value->payload === '""') { return null; } + // remove the quotes from the string if (substr($new_value->payload, 0, 1) === '"' && substr($new_value->payload, -1) === '"') { return substr($new_value->payload, 1, -1); @@ -35,7 +40,7 @@ abstract class LegacySettingsMigration extends SettingsMigration { $old_value = DB::table('settings_old')->where('key', '=', $key)->get(['value', 'type'])->first(); - if (is_null($old_value->value)) { + if (is_null($old_value) || is_null($old_value->value)) { return $default; } diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php index d291e298..0c18a508 100644 --- a/app/Http/Controllers/ServerController.php +++ b/app/Http/Controllers/ServerController.php @@ -8,8 +8,6 @@ use App\Models\Pterodactyl\Nest; use App\Models\Pterodactyl\Node; use App\Models\Product; use App\Models\Server; -use App\Models\User; -use App\Models\Settings; use App\Notifications\ServerCreationError; use Carbon\Carbon; use App\Settings\UserSettings; @@ -18,7 +16,6 @@ use App\Settings\PterodactylSettings; use App\Classes\PterodactylClient; use App\Settings\GeneralSettings; use Exception; -use GuzzleHttp\Promise\Create; use Illuminate\Database\Eloquent\Builder; use Illuminate\Http\Client\Response; use Illuminate\Http\RedirectResponse; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index fb6e8f9c..5e1f05d0 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,7 +2,6 @@ namespace App\Providers; -use App\Extensions\PaymentGateways\PayPal\PayPalSettings; use App\Models\UsefulLink; use App\Settings\GeneralSettings; use App\Settings\MailSettings; @@ -89,20 +88,23 @@ class AppServiceProvider extends ServiceProvider Log::error("Couldnt find useful_links. Probably the installation is not completet. " . $e); } - $generalSettings = $this->app->make(GeneralSettings::class); - if (!file_exists(base_path('themes') . "/" . $generalSettings->theme)) { - $generalSettings->theme = "default"; + + try { + $generalSettings = $this->app->make(GeneralSettings::class); + if (!file_exists(base_path('themes') . "/" . $generalSettings->theme)) { + $generalSettings->theme = "default"; + } + + if ($generalSettings->theme && $generalSettings->theme !== config('theme.active')) { + Theme::set($generalSettings->theme, "default"); + } else { + Theme::set("default", "default"); + } + + $settings = $this->app->make(MailSettings::class); + $settings->setConfig(); + } catch (Exception $e) { + Log::error("Couldnt load Settings. Probably the installation is not completet. " . $e); } - - if ($generalSettings->theme && $generalSettings->theme !== config('theme.active')) { - Theme::set($generalSettings->theme, "default"); - } else { - Theme::set("default", "default"); - } - - - $settings = $this->app->make(MailSettings::class); - $settings->setConfig(); - } } diff --git a/config/settings.php b/config/settings.php index 6b6ae4b7..e9a3a4b1 100644 --- a/config/settings.php +++ b/config/settings.php @@ -32,7 +32,7 @@ return [ UserSettings::class, WebsiteSettings::class, TicketSettings::class, - CouponSettings::class, + CouponSettings::class, ], /* diff --git a/routes/web.php b/routes/web.php index a6a2ab3c..42d2edf3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -77,11 +77,13 @@ Route::middleware(['auth', 'checkSuspended'])->group(function () { Route::patch('/servers/cancel/{server}', [ServerController::class, 'cancel'])->name('servers.cancel'); Route::resource('servers', ServerController::class); - if (config('app.key')) { + try { $serverSettings = app(App\Settings\ServerSettings::class); - if ($serverSettings->enable_upgrade) { - Route::post('servers/{server}/upgrade', [ServerController::class, 'upgrade'])->name('servers.upgrade'); + if ($serverSettings->creation_enabled) { + Route::resource('servers', ServerController::class); } + } catch (Exception $e) { + // Do nothing if the settings are not available. } Route::post('profile/selfdestruct', [ProfileController::class, 'selfDestroyUser'])->name('profile.selfDestroyUser');