Update EditUser.php

This commit is contained in:
Remco
2026-01-20 17:16:12 +01:00
parent 65e7c02c9f
commit 00bda515fa
@@ -106,7 +106,7 @@ class EditUser extends EditRecord
return; return;
} }
$updated = $user->currencies()->where('type', $currency->type)->update(['amount' => $updatedCurrencyAmount]); $updated = $user->currencies()->where('type', $currency->type)->update(['amount' => (int) $updatedCurrencyAmount]);
if ($updated) { if ($updated) {
activity() activity()
@@ -123,12 +123,14 @@ class EditUser extends EditRecord
} }
}); });
$user->settings->update(['can_change_name' => $data['allow_change_username'] ? '1' : '0']); if ($user->settings) {
$user->settings->update(['can_change_name' => $data['allow_change_username'] ? '1' : '0']);
}
} }
private function checkUsernameChangedPermission(\App\Models\User $user, array $data, RconService $rcon): void private function checkUsernameChangedPermission(\App\Models\User $user, array $data, RconService $rcon): void
{ {
if ($data['allow_change_username'] == $user->settings->can_change_name) { if ($user->settings && ($data['allow_change_username'] == $user->settings->can_change_name)) {
return; return;
} }
@@ -143,7 +145,9 @@ class EditUser extends EditRecord
} }
$rcon->disconnectUser($user); $rcon->disconnectUser($user);
$user->settings->update(['can_change_name' => $data['allow_change_username'] ? '1' : '0']); if ($user->settings) {
$user->settings->update(['can_change_name' => $data['allow_change_username'] ? '1' : '0']);
}
} }
private function treatChangedCurrencies(\App\Models\User $user, array $data): void private function treatChangedCurrencies(\App\Models\User $user, array $data): void
@@ -151,16 +155,16 @@ class EditUser extends EditRecord
$user->currencies->each(function (UserCurrency $currency) use ($data, $user): void { $user->currencies->each(function (UserCurrency $currency) use ($data, $user): void {
$updatedCurrencyAmount = $data["currency_{$currency->type}"] ?? $currency->amount; $updatedCurrencyAmount = $data["currency_{$currency->type}"] ?? $currency->amount;
$currencyType = match ($currency->type) { $currencyType = match ($currency->type) {
CurrencyTypes::Duckets => 'duckets', 0 => 'duckets',
CurrencyTypes::Diamonds => 'diamonds', 5 => 'diamonds',
CurrencyTypes::Points => 'points', 101 => 'points',
}; };
if ($updatedCurrencyAmount == $currency->amount) { if ($updatedCurrencyAmount == $currency->amount) {
return; return;
} }
app(SendCurrency::class)->execute($user, $currencyType, -$currency->amount + $updatedCurrencyAmount); app(SendCurrency::class)->execute($user, $currencyType, -$currency->amount + (int) $updatedCurrencyAmount);
}); });
} }
@@ -195,7 +199,7 @@ class EditUser extends EditRecord
\Illuminate\Support\Sleep::sleep(2); \Illuminate\Support\Sleep::sleep(2);
$rcon->disconnectUser($user); $rcon->disconnectUser($user);
$rcon->setRank($user, $data['rank']); $rcon->setRank($user, (int) $data['rank']);
} }
private function treatChangedUserMotto(\App\Models\User $user, array $data, RconService $rcon): void private function treatChangedUserMotto(\App\Models\User $user, array $data, RconService $rcon): void
@@ -220,7 +224,7 @@ class EditUser extends EditRecord
return; return;
} }
$rcon->setMotto($user, (string) $data['motto']); $rcon->setMotto($user, is_string($data['motto'] ?? null) ? $data['motto'] : '');
$rcon->alertUser($user, __('Your motto has been changed by a staff member.')); $rcon->alertUser($user, __('Your motto has been changed by a staff member.'));
} }
} }