<?php
include 'header.php';
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);

// Check if transfer details exist
if (!isset($_SESSION['transfer_details'])) {
    header("Location: transfers.php");
    exit();
}

$transfer = $_SESSION['transfer_details'];

// Handle confirmation
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['confirm'])) {
    // Start transaction
    $conn->begin_transaction();

    try {
        // 1. Deduct from sender
        $deduct_sql = "UPDATE users SET balance = balance - ? WHERE id = ? AND balance >= ?";
        $deduct_stmt = $conn->prepare($deduct_sql);
        $deduct_stmt->bind_param("dis", $transfer['total'], $user_id, $transfer['total']);
        $deduct_stmt->execute();
        
        if ($deduct_stmt->affected_rows === 0) {
            throw new Exception("Insufficient balance");
        }
        
        // 2. Add to receiver
        $add_sql = "UPDATE users SET balance = balance + ? WHERE id = ?";
        $add_stmt = $conn->prepare($add_sql);
        $add_stmt->bind_param("di", $transfer['amount'], $transfer['receiver_id']);
        $add_stmt->execute();
        
        // 3. Record transfer
        $transfer_sql = "INSERT INTO transfers (sender_id, receiver_id, amount, fee, total, receiver_account_id, narration, status) 
                        VALUES (?, ?, ?, ?, ?, ?, ?, 'completed')";
        $transfer_stmt = $conn->prepare($transfer_sql);
        $transfer_stmt->bind_param("iidddss", 
            $user_id,
            $transfer['receiver_id'],
            $transfer['amount'],
            $transfer['fee'],
            $transfer['total'],
            $transfer['receiver_account_id'],
            $transfer['narration']
        );
        $transfer_stmt->execute();
        
      
        
        $receiver_query = $conn->prepare("SELECT first_name, last_name, email FROM users WHERE id = ?");
        $receiver_query->bind_param("i", $transfer['receiver_id']);
        $receiver_query->execute();
        $receiver = $receiver_query->get_result()->fetch_assoc();
        $receiver_query->close();
        

        $senderName =$full_name;
        $receiverName = $receiver['first_name'] . ' ' . $receiver['last_name'];
        $receiverAccount = $transfer['receiver_account_id'];
        
        $senderSubject = "Transfer Completed - $sitename";
        $senderBody = "
        <div style='background: #E4E9F0; padding: 20px; font-family: Arial, sans-serif;'>
            <div style='max-width: 600px; margin: 0 auto; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);'>
                <div style='background-color: #1e293b; padding: 16px; display: flex; align-items: center;'>
                    <div style='display: flex; align-items: center;'>
                        <center><img src='$site_url/user/image/logo.png' width='100px' style='margin-right: 8px;'></center>
                    </div>
                </div>
                <div style='padding: 32px; text-align: center;'>
                    <h1 style='font-size: 28px; color: #1e293b; margin-bottom: 24px; line-height: 1.2;'>
                        Transfer Successful
                    </h1>
                    <p style='font-size: 18px; color: #4b5563; margin-bottom: 32px;'>
                        Dear <b>$senderName</b>, your transfer has been completed successfully.
                    </p>
                    
                    <div style='text-align: left; margin-bottom: 24px;'>
                        <h3 style='color: #1e293b;'>Transaction Details:</h3>
                        <p><strong>Amount Sent:</strong> " . number_format($transfer['amount'], 2) . "</p>
                        <p><strong>Fee:</strong> " . number_format($transfer['fee'], 2) . "</p>
                        <p><strong>Total Deducted:</strong> " . number_format($transfer['total'], 2) . "</p>
                        <p><strong>Recipient:</strong> $receiverName</p>
                        <p><strong>Account Number:</strong> $receiverAccount</p>
                        <p><strong>Narration:</strong> {$transfer['narration']}</p>
                        <p><strong>Date:</strong> " . date('Y-m-d H:i:s') . "</p>
                    </div>
                    
                    <div style='margin-top: 32px; border-top: 1px solid #e5e7eb; padding-top: 24px; text-align: left;'>
                        <p style='color: #4b5563; margin-bottom: 8px;'>Thanks,</p>
                        <p style='color: #4b5563; font-weight: bold;'>Transactions Team, $sitename</p>
                    </div>
                </div>
            </div>
        </div>";
        
        sendMail($email, $senderSubject, $senderBody);
        
        // Send email to receiver
        $receiverEmail = $receiver['email'];
        $receiverSubject = "Funds Received - $sitename";
        $receiverBody = "
        <div style='background: #E4E9F0; padding: 20px; font-family: Arial, sans-serif;'>
            <div style='max-width: 600px; margin: 0 auto; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);'>
                <div style='background-color: #1e293b; padding: 16px; display: flex; align-items: center;'>
                    <div style='display: flex; align-items: center;'>
                        <center><img src='$site_url/user/image/logo.png' width='100px' style='margin-right: 8px;'></center>
                    </div>
                </div>
                <div style='padding: 32px; text-align: center;'>
                    <h1 style='font-size: 28px; color: #1e293b; margin-bottom: 24px; line-height: 1.2;'>
                        Funds Received
                    </h1>
                    <p style='font-size: 18px; color: #4b5563; margin-bottom: 32px;'>
                        Dear <b>$receiverName</b>, you have received a transfer from $senderName.
                    </p>
                    
                    <div style='text-align: left; margin-bottom: 24px;'>
                        <h3 style='color: #1e293b;'>Transaction Details:</h3>
                        <p><strong>Amount Received:</strong> " . number_format($transfer['amount'], 2) . "</p>
                        <p><strong>Sender:</strong> $senderName</p>
                        <p><strong>Account Number:</strong> $receiverAccount</p>
                        <p><strong>Narration:</strong> {$transfer['narration']}</p>
                        <p><strong>Date:</strong> " . date('Y-m-d H:i:s') . "</p>
                    </div>
                    
                    <div style='margin-top: 32px; border-top: 1px solid #e5e7eb; padding-top: 24px; text-align: left;'>
                        <p style='color: #4b5563; margin-bottom: 8px;'>Thanks,</p>
                        <p style='color: #4b5563; font-weight: bold;'>Transactions Team, $sitename</p>
                    </div>
                </div>
            </div>
        </div>";
        
        sendMail($receiverEmail, $receiverSubject, $receiverBody);
        
        // Optionally send notification to admin
        if (!empty($admin_email)) {
            $adminSubject = "New Transfer Completed - $sitename";
            $adminBody = "
            <div style='font-family: Arial, sans-serif;'>
                <h2>New Transfer Completed</h2>
                <p><strong>Sender:</strong> $senderName ($email)</p>
                <p><strong>Receiver:</strong> $receiverName ($receiverEmail)</p>
                <p><strong>Amount:</strong> " . number_format($transfer['amount'], 2) . "</p>
                <p><strong>Fee:</strong> " . number_format($transfer['fee'], 2) . "</p>
                <p><strong>Total:</strong> " . number_format($transfer['total'], 2) . "</p>
                <p><strong>Narration:</strong> {$transfer['narration']}</p>
            </div>";
            
            sendMail($admin_email, $adminSubject, $adminBody);
        }
        
        // Commit transaction
        $conn->commit();
        
        // Success - redirect to history with alert
        unset($_SESSION['transfer_details']);
        echo "<script>
            alert('Transfer completed successfully!');
            window.location.href='transfers_history.php';
        </script>";
        exit();
        
    } catch (Exception $e) {
        // Rollback on error
        $conn->rollback();
        echo "<script>
            alert('Transfer failed: " . addslashes($e->getMessage()) . "');
            window.location.href='transfer_confirm.php';
        </script>";
        exit();
    }
}
?>

<div class="pt-28 md:pt-0 mt-0 md:mt-36 w-full md:w-4/5" id="general-content">
    <div class="w-full md:w-10/12 md:ml-64 2xl:ml-1/5" id="general-content-section">

        <div class="w-full py-5">
            <div class="w-full flex justify-center">
                <div class="w-11/12 rounded-md bg-[#0e1726] p-2 md:p-4">
                    <div class="flex justify-between items-center">
                        <div>
                            <h2 class="bg-transparent text-[#ebedf2] font-medium capitalize">
                                Preview Transfer
                            </h2>
                        </div>
                        <div>
                            <a href="transfers.php" class="flex justify-start items-center text-xs text-gray-400 hover:text-white">
                                <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
                                    <path stroke-linecap="round" stroke-linejoin="round" d="M11 17l-5-5m0 0l5-5m-5 5h12" />
                                </svg>
                                <span>back</span>
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div id="preloader" class="action-preloader">
            <div id="loading-bar-spinner" class="spinner">
                <div class="spinner-icon"></div>
            </div>
        </div>

        <div class="py-5">
            <div class="w-full flex justify-center">
                <div class="w-11/12 md:w-2/3 rounded-sm bg-[#0e1726] text-[#d3d6df] p-3 md:p-10">

                    <div class="w-full my-6 md:my-10 flex justify-center">
                        <div>
                            <div align="center">
                                <svg xmlns="http://www.w3.org/2000/svg" class="h-10 w-10 text-[#1a362b]" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
                                    <path stroke-linecap="round" stroke-linejoin="round" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
                                </svg>
                            </div>
                            <div class="font-medium text-center">
                                <h6>Confirm Receipient's Details</h6>
                            </div>
                        </div>
                    </div>

                    <table class="w-full text-[#bfc9d4] table-auto text-xs md:text-base">
                        <tr>
                            <td class="font-medium pr-2">Receipient Account ID:</td>
                            <td><?php echo htmlspecialchars($transfer['receiver_account_id']); ?></td>
                        </tr>
                        <tr>
                            <td class="font-medium pr-2">Receipient Full Name:</td>
                            <td><?php echo htmlspecialchars($transfer['receiver_name']); ?></td>
                        </tr>
                        <tr>
                            <td class="font-medium pr-2">Transfer Amount:</td>
                            <td>USD<?php echo number_format($transfer['amount'], 2); ?></td>
                        </tr>
                        <tr>
                            <td class="font-medium pr-2">Fee:</td>
                            <td>USD<?php echo number_format($transfer['fee'], 2); ?></td>
                        </tr>
                        <tr>
                            <td class="font-medium pr-2">Total:</td>
                            <td>USD<?php echo number_format($transfer['total'], 2); ?></td>
                        </tr>
                        <tr>
                            <td class="font-medium pr-2">Narration:</td>
                            <td><?php echo htmlspecialchars($transfer['narration']); ?></td>
                        </tr>
                    </table>
                    <br>

                    <form action="" method="POST">
                        <input type="hidden" name="_token" value="<?php echo bin2hex(random_bytes(16)); ?>">
                        <div class="w-full flex justify-start items-center space-x-5 my-5">
                            <div>
                                <button type="submit" name="confirm" class="text-xs md:text-sm text-[#d1d5db] text-center px-5 py-2 bg-[#1b2e4b] hover:bg-gray-700 rounded-md">
                                    Confirm
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>


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