Viewing File: /home/rareljzw/public_html/wallet.php

<?php
$PageTitle = "Wallet";
include("./layout/header.php");
include($_SERVER['DOCUMENT_ROOT'] . "/include/notified.php");

if (!$_SESSION['nftwallet']) {
    header("location:./login");
    die;
}

$stmt = $conn->prepare("SELECT * FROM users WHERE username=:username");
$stmt->execute([
    'username' => $_SESSION['nftwallet']
]);
$users = $stmt->fetch(PDO::FETCH_ASSOC);

if (isset($_POST['deposit_wallet'])) {
    $amount = $_POST['amount'];
    $payment_id = $_POST['payment_name'];
    $wallet_address = $_POST['wallet_address'];
    $username = userSession('username');

    // Validate input
    if (empty($amount) || empty($payment_id)) {
        toast_alert('error', 'Fill Required Form');
    } elseif (empty($_FILES['image']['name'])) {
        toast_alert('error', 'Upload Payment Screenshot');
    } else {
        $file = $_FILES['image'];
        $name = $file['name'];
        $tmp_name = $file['tmp_name'];
        $file_type = $file['type'];

        // Validate file type
        $allowed_extensions = array('jpg', 'png', 'jpeg', 'gif');
        $file_extension = pathinfo($name, PATHINFO_EXTENSION);
        if (!in_array($file_extension, $allowed_extensions)) {
            toast_alert('error', 'Invalid file format. Only JPG, PNG, JPEG, and GIF files are allowed.');
        } else {
            // Move uploaded file to destination
            $folder = "assets/front/img/uploads/";
            $new_file_name = time() . '_' . $name;
            $destination = $folder . $new_file_name;

            if (move_uploaded_file($tmp_name, $destination)) {
                // Check account status and transaction limits
                $stmt = $conn->prepare("SELECT * FROM settings");
                $stmt->execute();
                $settings = $stmt->fetch(PDO::FETCH_ASSOC);

                $trans_limit_min = $settings['min_deposit'];
                $trans_limit_max = $settings['max_deposit'];

                if ($users['acct_status'] === 'hold') {
                    toast_alert('error', 'Account on Hold Contact Support for more info');
                } elseif ($amount < 0) {
                    toast_alert('error', 'Invalid amount entered');
                } elseif ($amount < $trans_limit_min) {
                    toast_alert('error', 'Amount Less than Deposit Limit');
                } elseif ($amount > $trans_limit_max) {
                    toast_alert('error', 'Amount greater than Deposit Limit');
                } else {
                    // Insert deposit data into database
                    $reference_id = uniqid();
                    $trans_type = "Funding";

                    $stmt = $conn->prepare("INSERT INTO wallet (amount, username, payment_id, image, trans_type, refrence_id) VALUES (:amount, :username, :payment_id, :image, :trans_type, :refrence_id)");
                    $stmt->execute([
                        'amount' => $amount,
                        'username' => $username,
                        'payment_id' => $payment_id,
                        'image' => $new_file_name,
                        'trans_type' => $trans_type,
                        'refrence_id' => $reference_id
                    ]);

                    // Send email notification
                    $APP_NAME = WEB_TITLE;
                    $APP_URL = WEB_URL;
                    $user_email = $users['acct_email'];
                    $message = $sendMail->Funding($username, $APP_NAME, $APP_URL);
                    $subject = "Wallet Funding";
                    $email_message->send_mail($user_email, $message, $subject);

                    // Display success message
                    toast_alert("success", "Deposit Request Sent", "Pending!");
                }
            } else {
                toast_alert("error", "Failed to upload file.");
            }
        }
    }
}
?>


<main>
    <!-- Rankings -->
    <section class="relative py-24">
        <picture class="pointer-events-none absolute inset-0 -z-10 dark:hidden">
            <img src="./assets/front/img/gradient_light.jpg" alt="gradient" class="h-full w-full" />
        </picture>
        <div class="container">
            <h1 class="py-16 text-center font-display text-4xl font-medium text-jacarta-700 dark:text-white">Fund My
                Wallet
            </h1>

            <div class="mx-auto max-w-[48.125rem] md:flex">
                <!-- Form -->
                <div class="mb-12 md:w-1/2 md:pr-8">

                    <?php if (isset($msg1)) echo $msg1; ?>

                    <form method="POST" enctype=multipart/form-data>
                        <div class="mb-6">
                            <label for="profile-username"
                                class="mb-1 block font-display text-sm text-jacarta-700 dark:text-white">Min Amount: <?= $settings['min_deposit'] ?> -
                                <?= $settings['max_deposit'] ?> <?= $paymentnft['short_name'] ?> <span class="text-red">*</span></label>
                            <input type="number" step="any"
                                class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                                placeholder="Enter Amount" name="amount" required />
                            <p class="text-right"><strong>Balance: <?=$users['balance'] ?> <?= $paymentnft['short_name'] ?></strong>
                            </p>
                        </div>


                        <div class="mb-6">
                            <label for="profile-username"
                                class="mb-1 block font-display text-sm text-jacarta-700 dark:text-white">Select Payment
                                Type<span class="text-red">*</span></label>

                            <select required
                                class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                                name="payment_name" id="crypto-wallet" data-width='100%'>
                                <option>Select Payment Type</option>
                                <?php

$stmt = $conn->prepare("SELECT * FROM payment ORDER BY payment_name");


$stmt->execute();
while($rs = $stmt->fetch(PDO::FETCH_ASSOC)){
    $data[] = array(
                                                                        'payment_id'=>$rs['payment_id'],
                                                                        'wallet_address'=>$rs['wallet_address']
                                                                );

                                   
                                ?>
                                <option value="<?= $rs['payment_id'] ?>"> <?= ucwords($rs['payment_name']) ?>
                                </option>

                                <?php
                                        }
                              ?>


                            </select>
                        </div>
                        <div class="mb-6">
                            <label for="profile-username"
                                class="mb-1 block font-display text-sm text-jacarta-700 dark:text-white">Wallet
                                Address<span class="text-red">*</span></label>
                                
                                
                            <input type="text" placeholder="Select Payment First" name="wallet_address" id="wallet_address"
                                class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300"
                                readonly />


                        </div>


                        <div class="mb-6">
                            <label for="profile-payment"
                                class="mb-1 block font-display text-sm text-jacarta-700 dark:text-white">Payment
                                Proof<span class="text-red">*</span></label>
                            <input type="file" placeholder="Payment Screenshot" required name="image"
                                class="w-full rounded-lg border-jacarta-100 py-3 hover:ring-2 hover:ring-accent/10 focus:ring-accent dark:border-jacarta-600 dark:bg-jacarta-700 dark:text-white dark:placeholder:text-jacarta-300" />
                            <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />


                        </div>
                        
                        <button type="submit" name="deposit_wallet"
                            class="rounded-full bg-accent py-3 px-8 text-center font-semibold text-white shadow-accent-volume transition-all hover:bg-accent-dark">
                            Make Deposit
                        </button>
                    </form>
                </div>

                <!-- Avatar -->
                <div class="mb-12 md:w-1/2 md:pr-8">
                    <div class="mt-4">

                        <script type="text/javascript"
                            src="https://files.coinmarketcap.com/static/widget/coinPriceBlock.js"></script>
                        <div id="coinmarketcap-widget-coin-price-block" coins="1,1027,825" currency="USD" theme="light"
                            transparent="false" show-symbol-logo="true" data-width="100%"></div>
                    </div>
                </div>
            </div>






        </div>
    </section>
    <!-- end rankings -->






    <?php
  include("./layout/footer.php");

  ?>
Back to Directory File Manager
<