PHP WebShell

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

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

<? include '../common/header.php'; ?>
<!-- Main Container -->
    <div class="container mt-3">
        <div class="row">
        
            <? include '../common/nav.php'; ?>

            <!-- Main Content -->
            
            <main class="col-md-9 col-lg-10 px-md-5 mb-5">
                <? include '../common/page-header.php'; ?>
                <div class="container my-5 px-md-5">
                    <div class="row justify-content-between align-items-center mb-4">
                        <h3 class="col-sm-12 col-md-6">Transactions</h3>
                        <div class="d-flex col-sm-12 col-md-6 gap-2">
                            <input id="searchInput" type="text" class="form-control" placeholder="Search">
                            <button id="filterBtn" class="btn btn-secondary btn-sm">Filters</button>
                            <button id="downloadBtn" class="btn btn-secondary btn-sm">Download</button>
                        </div>
                    </div>

                    <div id="transactionList">
                        <!-- Group: May 14 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 14</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                        <div class="transaction-icon"><i class="text-danger bi bi-box-arrow-in-up-right"></i></div>
                                        <div>
                                            <strong>Elijah Bello</strong><br>
                                            <small class="text-muted">Sent</small>
                                        </div>
                                    </div>
                                    <div class="text-end">
                                        <strong>521,173.48 NGN</strong><br>
                                        <small class="text-muted">291.19 EUR</small>
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Group: May 14 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 14</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                        <div class="transaction-icon"><i class="text-danger bi bi-box-arrow-in-up-right"></i></div>
                                        <div>
                                            <strong>Elijah Bello</strong><br>
                                            <small class="text-muted">Sent</small>
                                        </div>
                                    </div>
                                    <div class="text-end">
                                        <strong>521,173.48 NGN</strong><br>
                                        <small class="text-muted">291.19 EUR</small>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <!-- Group: May 13 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 13</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                        <div class="transaction-icon"><i class="text-danger bi bi-box-arrow-in-up-right"></i></div>
                                        <div>
                                            <strong>Elijah Bello</strong><br>
                                            <small class="text-muted">Sent</small>
                                        </div>
                                    </div>
                                    <div class="text-end">
                                        <strong>800,000 NGN</strong><br>
                                        <small class="text-muted">445.22 EUR</small>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <!-- Group: May 13 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 12</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                        <div class="transaction-icon"><i class="text-info bi bi-shuffle"></i></div>
                                        <div>
                                            <strong>Elijah Bello</strong><br>
                                            <small class="text-muted">Sent</small>
                                        </div>
                                    </div>
                                    <div class="text-end">
                                        <strong>800,000 NGN</strong><br>
                                        <small class="text-muted">445.22 EUR</small>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <!-- Group: May 9 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 9</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                            <div class="transaction-icon"><i class="text-success bi bi-box-arrow-in-down-right"></i></div>
                                            <div>
                                                <strong>Stripe Technology Europe Ltd</strong><br>
                                                <small class="text-muted">Received</small>
                                            </div>
                                    </div>
                                    <div class="text-end text-success">
                                            <strong>+836.41 EUR</strong>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <!-- Group: May 9 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 9</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                            <div class="transaction-icon"><i class="text-success bi bi-box-arrow-in-down-right"></i></div>
                                            <div>
                                                <strong>Stripe Technology Europe Ltd</strong><br>
                                                <small class="text-muted">Received</small>
                                            </div>
                                    </div>
                                    <div class="text-end text-success">
                                            <strong>+836.41 EUR</strong>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <!-- Group: May 9 -->
                        <div class="transaction-group mb-3">
                            <h6 class="text-muted">May 9</h6>
                            <div class="bg-white p-3 rounded shadow-sm mb-2 transaction-item">
                                <div class="d-flex justify-content-between">
                                    <div class="d-flex align-items-center gap-3">
                                            <div class="transaction-icon"><i class="text-success bi bi-box-arrow-in-down-right"></i></div>
                                            <div>
                                                <strong>Stripe Technology Europe Ltd</strong><br>
                                                <small class="text-muted">Received</small>
                                            </div>
                                    </div>
                                    <div class="text-end text-success">
                                            <strong>+836.41 EUR</strong>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

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

<script>
    // Filter logic with grouped hiding
    document.getElementById('searchInput').addEventListener('input', function () {
        const query = this.value.toLowerCase();

        document.querySelectorAll('.transaction-group').forEach(group => {
        const transactions = group.querySelectorAll('.transaction-item');
        let visibleCount = 0;

        transactions.forEach(item => {
            const text = item.innerText.toLowerCase();
            const isVisible = text.includes(query);
            item.style.display = isVisible ? 'block' : 'none';
            if (isVisible) visibleCount++;
        });

        group.style.display = visibleCount > 0 ? 'block' : 'none';
        });
    });

    // Download as CSV
    document.getElementById('downloadBtn').addEventListener('click', function () {
        let csv = 'Name,Type,Amount\n';
        document.querySelectorAll('.transaction-group').forEach(group => {
        group.querySelectorAll('.transaction-item').forEach(item => {
            if (item.style.display !== 'none') {
            const name = item.querySelector('strong')?.innerText ?? '';
            const type = item.querySelector('small')?.innerText ?? '';
            const amount = item.querySelector('.text-end strong')?.innerText ?? '';
            csv += `"${name}","${type}","${amount}"\n`;
            }
        });
        });

        const blob = new Blob([csv], {type: 'text/csv'});
        const link = document.createElement('a');
        link.href = URL.createObjectURL(blob);
        link.download = 'transactions.csv';
        link.click();
    });

    
</script>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

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


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