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];
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!