fix: 🐛 Try catch for possible non available settings
This commit is contained in:
parent
48cce11ebc
commit
330ea45c5b
5 changed files with 31 additions and 25 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ return [
|
|||
UserSettings::class,
|
||||
WebsiteSettings::class,
|
||||
TicketSettings::class,
|
||||
CouponSettings::class,
|
||||
CouponSettings::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
|
@ -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');
|
||||
|
|
Loading…
Add table
Reference in a new issue