You've already forked Epicnabbo-Catalogus-Updated-Daily
37 lines
1.1 KiB
PHP
37 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Actions;
|
|
|
|
use App\Models\User;
|
|
use App\Services\RconService;
|
|
|
|
class SendFurniture
|
|
{
|
|
public function __construct(private readonly RconService $rcon) {}
|
|
|
|
public function execute(User $user, array $furniture): void
|
|
{
|
|
foreach ($furniture as $furni) {
|
|
if (! is_array($furni)) {
|
|
continue;
|
|
}
|
|
$amount = is_numeric($furni['amount'] ?? null) ? (int) $furni['amount'] : 0;
|
|
$itemId = is_numeric($furni['item_id'] ?? null) ? (int) $furni['item_id'] : 0;
|
|
if ($amount <= 0 || $itemId <= 0) {
|
|
continue;
|
|
}
|
|
if ($this->rcon->isConnected) {
|
|
for ($i = 0; $i < $amount; $i++) {
|
|
$this->rcon->sendGift($user, $itemId, 'Thank you for supporting ' . setting('hotel_name'));
|
|
}
|
|
} else {
|
|
for ($i = 0; $i < $amount; $i++) {
|
|
$user->items()->create([
|
|
'item_id' => $itemId,
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|