Viewing File: /home/quiczmwg/bitmaven.org/admin/deposit-controller.php

<?php
include 'head.php';

if (isset($_GET['id']) && isset($_GET['action'])) {
    $deposit_id = $_GET['id'];
    $action = $_GET['action'];

    try {
        if ($action === 'confirm') {
            // Confirm deposit
            $check_status_query = $conn->prepare("SELECT amount, userid FROM deposit WHERE deposit_id = ? AND status = 'pending'");
            $check_status_query->bind_param("s", $deposit_id);
            $check_status_query->execute();
            $status_row = $check_status_query->get_result()->fetch_assoc();

            if ($status_row) {
                // Update deposit status to 'confirmed'
                $update_query = $conn->prepare("UPDATE deposit SET status='confirmed' WHERE deposit_id = ?");
                $update_query->bind_param("s", $deposit_id);
                $update_query->execute();

                if ($update_query->affected_rows > 0) {
                    // Update user balance
                    $user_id = $status_row['userid'];
                    $deposit_amount = $status_row['amount'];

                    $balance_query = $conn->prepare("SELECT account_balance FROM user_login WHERE userid = ?");
                    $balance_query->bind_param("s", $user_id);
                    $balance_query->execute();
                    $user_balance_row = $balance_query->get_result()->fetch_assoc();

                    if ($user_balance_row) {
                        $new_balance = $user_balance_row['account_balance'] + $deposit_amount;

                        $update_balance_query = $conn->prepare("UPDATE user_login SET account_balance = ? WHERE userid = ?");
                        $update_balance_query->bind_param("ds", $new_balance, $user_id);
                        $update_balance_query->execute();

                        if ($update_balance_query->affected_rows > 0) {
                            $_SESSION['mgs'] = "Deposit confirmed successfully. User account balance updated!";
                        } else {
                            $_SESSION['mgs'] = "Error updating user account balance.";
                        }
                    } else {
                        $_SESSION['mgs'] = "User not found.";
                    }
                } else {
                    $_SESSION['mgs'] = "Error confirming deposit.";
                }
            } else {
                $_SESSION['mgs'] = "Deposit is not in pending status or invalid deposit ID.";
            }
        } elseif ($action === 'cancel') {
            // Cancel deposit
            $check_query = $conn->prepare("SELECT * FROM deposit WHERE deposit_id = ? AND status = 'pending'");
            $check_query->bind_param("s", $deposit_id);
            $check_query->execute();
            $result = $check_query->get_result();

            if ($result->num_rows > 0) {
                $cancel_query = $conn->prepare("UPDATE deposit SET status = 'cancelled' WHERE deposit_id = ?");
                $cancel_query->bind_param("s", $deposit_id);
                $cancel_query->execute();

                if ($cancel_query->affected_rows > 0) {
                    $_SESSION['mgs'] = "Deposit successfully cancelled.";
                } else {
                    $_SESSION['mgs'] = "Failed to cancel deposit.";
                }
            } else {
                $_SESSION['mgs'] = "Deposit is not in pending status or invalid deposit ID.";
            }
        } else {
            $_SESSION['mgs'] = "Invalid action.";
        }
    } catch (Exception $e) {
        $_SESSION['mgs'] = "Database error: " . $e->getMessage();
    }

    // Redirect back
    header("Location: " . $_SERVER['HTTP_REFERER']);
    exit();
} else {
    header("Location: error.php");
    exit();
}
Back to Directory File Manager
<