PHP WebShell
Текущая директория: /var/www/bitcardoApp/backyard/user/users
Просмотр файла: wallet_actions.php
<?php
// backyard/models/users/wallet_actions.php
/**
* Toggle a user's wallet freeze state.
* - If $freeze = true => wallet_status = 'Frozen'
* - If $freeze = false => wallet_status = 'Active'
* Returns array: [success=>bool, message=>string, new_status=>string|null]
*/
function wallet_toggle_freeze(mysqli $conn, int $wallet_id, bool $freeze): array {
$wallet_id = (int)$wallet_id;
if ($wallet_id <= 0) {
return ['success'=>false, 'message'=>'Invalid wallet ID', 'new_status'=>null];
}
// Fetch current wallet
$q = "SELECT wallet_id, wallet_status FROM user_wallets WHERE wallet_id = {$wallet_id} LIMIT 1";
$r = mysqli_query($conn, $q);
if (!$r) {
return ['success'=>false, 'message'=>'DB error (read wallet)', 'new_status'=>null];
}
$w = mysqli_fetch_assoc($r);
mysqli_free_result($r);
if (!$w) {
return ['success'=>false, 'message'=>'Wallet not found', 'new_status'=>null];
}
$target = $freeze ? 'Frozen' : 'Active';
// No-op if already same state
if (strcasecmp((string)$w['wallet_status'], $target) === 0) {
return ['success'=>true, 'message'=>"Wallet already {$target}.", 'new_status'=>$target];
}
$qs = "UPDATE user_wallets SET wallet_status = '{$target}', updated_at = NOW() WHERE wallet_id = {$wallet_id} LIMIT 1";
if (!mysqli_query($conn, $qs)) {
return ['success'=>false, 'message'=>'DB error (update status)', 'new_status'=>null];
}
return ['success'=>true, 'message'=>"Wallet {$target}.", 'new_status'=>$target];
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!