PHP WebShell

Текущая директория: /var/www/bitcardoApp/models/dashboard

Просмотр файла: index.php

<?php
// models/dashboard/wallets.php

$user_id = $_SESSION['user_id'];

$query = "
    SELECT t.*,
        ws.user_id AS sender_uid, wr.user_id AS receiver_uid,
        ws.label   AS sender_label, ws.wallet_add AS sender_wallet,
        wr.label   AS receiver_label, wr.wallet_add AS receiver_wallet,
        u_sender.first_name AS sender_first, u_sender.last_name AS sender_last,
        u_receiver.first_name AS receiver_first, u_receiver.last_name AS receiver_last
    FROM transactions t

    LEFT JOIN (
        SELECT wallet_add, user_id, MIN(label) AS label
        FROM user_wallets
        GROUP BY wallet_add, user_id
    ) ws ON t.sender_address = ws.wallet_add

    LEFT JOIN users u_sender ON ws.user_id = u_sender.user_id

    LEFT JOIN (
        SELECT wallet_add, user_id, MIN(label) AS label
        FROM user_wallets
        GROUP BY wallet_add, user_id
    ) wr ON t.receiver_address = wr.wallet_add

    LEFT JOIN users u_receiver ON wr.user_id = u_receiver.user_id

    WHERE
        (
            (t.type IN ('send','withdrawal') AND ws.user_id = ?)
            OR (t.type IN ('receive','deposit','buy','giftcard_payout') AND wr.user_id = ?)
            OR (t.type = 'swap' AND (ws.user_id = ? OR wr.user_id = ?))
            OR (t.type = 'fee'  AND (ws.user_id = ? OR wr.user_id = ?))
        )
    ORDER BY t.created_at DESC
    LIMIT 5
";

$stmt = $conn->prepare($query);
$stmt->bind_param("iiiiii", $user_id, $user_id, $user_id, $user_id, $user_id, $user_id);
$stmt->execute();
$result = $stmt->get_result();

$recent_transactions = [];
while ($row = $result->fetch_assoc()) $recent_transactions[] = $row;

$stmt->close();

function truncate_left($string, $length = 30, $ellipsis = '...') {
    if (!$string) return '';
    $string = strval($string);
    if (strlen($string) > $length) {
        return $ellipsis . substr($string, -$length);
    } else {
        return $string;
    }
}


// $conn is your mysqli connection; $user_id is the current user ID
$user_id = $user_id ?? ($_SESSION['user_id']);

$walletOptions = [
 'BTC' => ['label' => 'Create BTC Wallet', 'name' => 'create_btc_address'],
 'TRX' => ['label' => 'Create TRX & USDT Wallet', 'name' => 'create_trx_address'],
 'SOL' => ['label' => 'Create SOL Wallet', 'name' => 'create_sol_address'],
];


// Fetch user's existing coins
$existingCoins = [];
$sql  = "SELECT UPPER(coin) AS coin FROM user_wallets WHERE user_id = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "i", $user_id);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
 $existingCoins[] = $row['coin'];
}
mysqli_free_result($result);
mysqli_stmt_close($stmt);

// Remove options for coins the user already has
foreach ($existingCoins as $coin) {
 if (isset($walletOptions[$coin])) {
     unset($walletOptions[$coin]);
 }
}

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


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