PHP WebShell

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

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

<?php
// backyard/user/dashboard/index.php
include '../common/header.php';

  // Quick-link helpers
  $today = date('Y-m-d');
  $txTodayQS = 'from='.$today.'&to='.$today; // transactions index expects from/to
  $gcTodayQS = 'from='.$today.'&to='.$today; // giftcards index (same scheme)

// DB (in case header doesn't already include it)
if (!isset($conn)) {
    include_once '../../config/db_config.php';
}

// Backend data providers
require_once '../../models/dashboard/index.php';

// Fetch overview metrics and wallets
$overview = dash_get_overview($conn);
$wallets  = dash_get_platform_wallets($conn, 6);
$orders = dash_get_recent_giftcard_batches($conn, 10);

// Safe formatters
function fmt_num($n, $dec = 0) { return number_format((float)$n, $dec); }
function fmt_money($n, $dec = 2) { return number_format((float)$n, $dec); }
?>
<style>
    .amountx{ color:#000; }
</style>

<div class="nk-content nk-content-fluid mt-5">
    <div class="container-xl wide-lg">
        <div class="nk-content-body">
            <div class="nk-block-head">
                <div class="nk-block-head-sub"><span>Welcome!</span></div>
                <div class="nk-block-between-md g-4">
                    <div class="nk-block-head-content">
                        <h2 class="nk-block-title fw-normal">Olatunbosun Olaniba</h2>
                        <div class="nk-block-des">
                            <p>At a glance summary of your platform!</p>
                        </div>
                    </div>
                    <div class="nk-block-head-content">
                        <ul class="nk-block-tools gx-3">
                            <li><a href="#" class="btn btn-danger"><span>Freeze Crypto Wallet</span></a></li>
                            <li><a href="#" class="btn btn-dark"><span>Suspend User</span></a></li>
                            <li class="opt-menu-md dropdown">
                                <a href="#" class="btn btn-white btn-light btn-icon" data-bs-toggle="dropdown"><i class="fa fa-cog"></i></a>
                                <div class="dropdown-menu dropdown-menu-end">
                                    <ul class="link-list-opt no-bdr">
                                        <li><a href="#"><i class="fa fa-money"></i><span>Currency Settings</span></a></li>
                                        <li><a href="#"><i class="fa fa-bell"></i><span>Push Notification</span></a></li>
                                    </ul>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="nk-block">
                <div class="row gy-gs">
                    <div class="col-lg-5 col-xl-4">
                        <div class="nk-block">
                            <div class="nk-block-head-xs">
                                <div class="nk-block-head-content">
                                    <h5 class="nk-block-title title">Overview</h5>
                                </div>
                            </div>
                            <div class="nk-block">
                                <div class="card card-bordered text-light is-dark h-100">
                                    <div class="card-inner">
                                        <div class="nk-wg7">
                                            <div class="nk-wg7-stats">
                                                <div class="nk-wg7-title">Today's Gift Card USD</div>
                                                <div class="number-lg amount">
                                                    <?= fmt_money($overview['today_giftcard_usd'] ?? 0, 2); ?>
                                                </div>
                                            </div>
                                            <div class="nk-wg7-stats-group">
                                                <div class="nk-wg7-stats w-50">
                                                    <div class="nk-wg7-title">Users</div>
                                                    <div class="number"><?= fmt_num($overview['users_count'] ?? 0); ?></div>
                                                </div>
                                                <div class="nk-wg7-stats w-50">
                                                    <div class="nk-wg7-title">Transactions</div>
                                                    <div class="number"><?= fmt_num($overview['transactions_count'] ?? 0); ?></div>
                                                </div>
                                            </div>
                                            <div class="mt-2 small text-light-70">
                                                Today’s trades: <?= fmt_num($overview['today_trades_count'] ?? 0); ?>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div><!-- .nk-block -->
                        </div>
                    </div>

                    <div class="col-lg-7 col-xl-8">
                        <div class="nk-block">
                            <div class="nk-block-head-xs">
                                <div class="nk-block-between-md g-2">
                                    <div class="nk-block-head-content">
                                        <h5 class="nk-block-title title">Platform Wallets</h5>
                                    </div>
                                    <div class="nk-block-head-content">
                                        <a href="../wallets/platform-wallets.php" class="btn btn-outline-secondary btn-sm px-1 py-0">See All</a>
                                    </div>
                                </div>
                            </div>

                            <div class="row g-2">
                                <?php if (!empty($wallets)): ?>
                                    <?php foreach ($wallets as $w): 
                                        $coin   = $w['coin'] ?? '';
                                        $icon   = $w['icon'] ?? '';
                                        $status = $w['status'] ?? '';
                                        $platform_balance = (float)($w['platform_balance'] ?? 0);
                                        $user_balance     = (float)($w['user_balance'] ?? 0);
                                        $growth           = (float)($w['growth_percent'] ?? 0);

                                        $growth_class = ($user_balance > 0 && $growth < 0) ? 'text-danger' : (($user_balance > 0 && $growth >= 0) ? 'text-success' : 'text-muted');
                                        $growth_sign  = ($user_balance > 0 && $growth >= 0) ? '+' : '';
                                        $growth_text  = ($user_balance > 0) ? ($growth_sign . number_format($growth, 2) . '%') : '—';

                                        $card_class = ($status === 'Active') ? 'bg-light' : 'bg-white border';
                                    ?>
                                        <div class="col-md-4">
                                            <div class="card <?= $card_class; ?>">
                                                <div class="nk-wgw sm">
                                                    <span class="nk-wgw-inner">
                                                        <div class="nk-wgw-name d-flex justify-content-between align-items-center">
                                                            <div class="nk-wgw-icon">
                                                                <img class="rounded-5" src="../../../assets/icons/<?= htmlspecialchars($icon); ?>" alt="<?= htmlspecialchars($coin); ?> icon">
                                                            </div>
                                                            <div class="flex-grow-1 ms-2">
                                                                <h5 class="nk-wgw-title title mb-0"><?= htmlspecialchars($coin); ?> Balance</h5>
                                                            </div>
                                                            <h6 class="mb-0 <?= $growth_class; ?>"><?= $growth_text; ?></h6>
                                                        </div>

                                                        <div class="nk-wgw-balance">
                                                            <div class="amountx">Platform: <?= fmt_money($platform_balance, 2); ?>
                                                                <span class="currency currency-nio"><?= htmlspecialchars($coin); ?></span>
                                                            </div>
                                                            <div class="amountx">All Users: <?= fmt_money($user_balance, 2); ?>
                                                                <span class="currency currency-nio"><?= htmlspecialchars($coin); ?></span>
                                                            </div>
                                                        </div>
                                                    </span>
                                                </div>
                                            </div>
                                        </div>
                                    <?php endforeach; ?>
                                <?php else: ?>
                                    <div class="col-12">
                                        <div class="alert alert-light border">No wallets found.</div>
                                    </div>
                                <?php endif; ?>
                            </div><!-- .row -->
                        </div>
                    </div>
                </div>
            </div>

            <!-- Keep your GiftCard Orders section; make dynamic later if you like -->
            <div class="nk-block nk-block-lg">
                <div class="card-title  mb-4 border-top border-bottom py-3 px-3 d-flex justify-content-between align-items-center">
                    <h5 class="title mb-0">GiftCard Orders</h5>
                    <a class="btn btn-sm btn-outline-secondary" href="../giftcards/index.php">See All</a>
                </div>


                <div class="gy-gs container">
                    <?php if (!empty($orders)): ?>
                    <?php
                    date_default_timezone_set('Africa/Lagos');
                    foreach ($orders as $b):
                        $batch   = $b['batch_ref'];
                        $fname   = trim(($b['first_name'] ?? '').' '.($b['last_name'] ?? ''));
                        $payout  = number_format((float)$b['total_payout'], 2);
                        $status  = dash_batch_status($b);
                        $created = $b['last_time'] ? date('M j, Y g:i A', strtotime($b['last_time'])) : '—';

                        // badge colors
                        $badgeClass = 'bg-secondary';
                        $sUp = strtoupper($status);
                        if ($sUp === 'SUCCESS') $badgeClass = 'bg-success';
                        elseif ($sUp === 'PENDING') $badgeClass = 'bg-warning';
                        elseif ($sUp === 'DECLINED') $badgeClass = 'bg-danger';
                        elseif ($sUp === 'MIXED') $badgeClass = 'bg-info';

                        $href = "../orders/process_order.php?batch=" . urlencode($batch);
                    ?>
                    <a href="<?= $href; ?>" class="row border rounded-5 px-2 py-3 shadow-sm mx-1 mb-2 text-dark">
                        <!-- batch no -->
                        <div class="col-md-3 col-7">
                        <div class="number-sm"><?= htmlspecialchars($batch); ?></div>
                        </div>
                        <!-- fname -->
                        <div class="col-md-2 d-none d-md-block">
                        <div class="number-sm"><?= htmlspecialchars($fname !== '' ? $fname : '—'); ?></div>
                        </div>
                        <!-- est. payout (₦) -->
                        <div class="col-md-3 col-5">
                        <div class="number-sm"><?= $payout; ?> / <span class="currency">₦</span></div>
                        </div>
                        <!-- status -->
                        <div class="col-md-2 col-6 mt-2 mt-md-0">
                        <span class="number-sm <?= $badgeClass; ?> py-1 px-2 rounded-3">
                            <?= htmlspecialchars($status); ?>
                        </span>
                        </div>
                        <!-- date/time -->
                        <div class="col-md-2 col-6 mt-2 mt-md-0 text-md-end">
                        <div class="number-sm"><?= htmlspecialchars($created); ?></div>
                        </div>
                    </a>
                    <?php endforeach; ?>
                    <?php else: ?>
                    <div class="alert alert-light border mx-1">No recent gift card batches.</div>
                    <?php endif; ?>
                </div>
                </div>



        </div>
    </div>
</div>

<?php include '../common/footer.php'; ?>

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


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