PNG  IHDR pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F@8N ' p @8N@8}' p '#@8N@8N pQ9p!i~}|6-ӪG` VP.@*j>[ K^<֐Z]@8N'KQ<Q(`s" 'hgpKB`R@Dqj '  'P$a ( `D$Na L?u80e J,K˷NI'0eݷ(NI'؀ 2ipIIKp`:O'`ʤxB8Ѥx Ѥx $ $P6 :vRNb 'p,>NB 'P]-->P T+*^h& p '‰a ‰ (ĵt#u33;Nt̵'ޯ; [3W ~]0KH1q@8]O2]3*̧7# *p>us p _6]/}-4|t'|Smx= DoʾM×M_8!)6lq':l7!|4} '\ne t!=hnLn (~Dn\+‰_4k)0e@OhZ`F `.m1} 'vp{F`ON7Srx 'D˸nV`><;yMx!IS钦OM)Ե٥x 'DSD6bS8!" ODz#R >S8!7ّxEh0m$MIPHi$IvS8IN$I p$O8I,sk&I)$IN$Hi$I^Ah.p$MIN$IR8I·N "IF9Ah0m$MIN$IR8IN$I 3jIU;kO$ɳN$+ q.x* tEXtComment

Viewing File: /home/u423589436/domains/stratagemportfolios.com/public_html/user/loans_history.php

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


$loan_query = "SELECT `id`, `user_id`, `fullname`, `email`, `plan_id`, `amount`, `status`, `created_at` FROM `user_loans` WHERE user_id = ?";
$stmt = $conn->prepare($loan_query);
$stmt->bind_param("i", $user_id);
$stmt->execute();
$loans = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);

// Process loan payment if form submitted
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['pay_loan'])) {
    $loan_id = $_POST['loan_id'];
    
    // Get loan details
    $loan_details = $conn->prepare("SELECT * FROM user_loans WHERE id = ? AND user_id = ? AND status = 'unpaid'");
    $loan_details->bind_param("ii", $loan_id, $user_id);
    $loan_details->execute();
    $loan = $loan_details->get_result()->fetch_assoc();
    
    if ($loan) {
        // Calculate total payable (amount + 4.5% interest as shown in your example)
        $total_payable = $loan['amount'] + $loan_intrest; // 4.5% interest
        
        // Check user balance
        $user_balance = $conn->query("SELECT balance FROM users WHERE id = $user_id")->fetch_assoc()['balance'];
        
        if ($user_balance >= $total_payable) {
            // Start transaction
            $conn->begin_transaction();
            
            try {
                // Deduct from user balance
                $new_balance = $user_balance - $total_payable;
                $conn->query("UPDATE users SET balance = $new_balance WHERE id = $user_id");
                
                // Update loan status
                $conn->query("UPDATE user_loans SET status = 'paid' WHERE id = $loan_id");
                
               
                
                $conn->commit();
                $_SESSION['success'] = "Loan repaid successfully!";
                // header("Refresh:0");
                // exit();
            } catch (Exception $e) {
                $conn->rollback();
                $_SESSION['error'] = "Error processing payment. Please try again.";
            }
        } else {
            $_SESSION['error'] = "Insufficient balance to repay this loan!";
        }
    } else {
        $_SESSION['error'] = "Invalid loan or loan already paid!";
    }
}



// Calculate total loaned amount
$totalLoanedQuery = "SELECT SUM(amount) as total FROM user_loans WHERE user_id = $user_id";
$totalLoanedResult = mysqli_query($conn, $totalLoanedQuery);
$totalLoanedRow = mysqli_fetch_assoc($totalLoanedResult);
$totalLoaned = $totalLoanedRow['total'] ?? 0;

// Calculate pending loans (status might be 'pending' or similar)
$pendingLoansQuery = "SELECT SUM(amount) as total FROM user_loans WHERE user_id = $user_id AND status = 'pending'";
$pendingLoansResult = mysqli_query($conn, $pendingLoansQuery);
$pendingLoansRow = mysqli_fetch_assoc($pendingLoansResult);
$pendingLoans = $pendingLoansRow['total'] ?? 0;

// Calculate repaid loans (status might be 'repaid' or similar)
$repaidLoansQuery = "SELECT SUM(amount) as total FROM user_loans WHERE user_id = $user_id AND status = 'paid'";
$repaidLoansResult = mysqli_query($conn, $repaidLoansQuery);
$repaidLoansRow = mysqli_fetch_assoc($repaidLoansResult);
$repaidLoans = $repaidLoansRow['total'] ?? 0;

// Calculate unpaid loans (status might be 'unpaid' or similar)
$unpaidLoansQuery = "SELECT SUM(amount) as total FROM user_loans WHERE user_id = $user_id AND status = 'unpaid'";
$unpaidLoansResult = mysqli_query($conn, $unpaidLoansQuery);
$unpaidLoansRow = mysqli_fetch_assoc($unpaidLoansResult);
$unpaidLoans = $unpaidLoansRow['total'] ?? 0;
?>
?>  

    
    <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">
            
                 <!-- Display messages -->
        <?php if(isset($_SESSION['success'])): ?>
            <div class="w-full flex justify-center">
                <div class="w-11/12 bg-green-500 text-white p-3 rounded mb-4">
                    <?php echo $_SESSION['success']; unset($_SESSION['success']); ?>
                </div>
            </div>
        <?php endif; ?>
        
        <?php if(isset($_SESSION['error'])): ?>
            <div class="w-full flex justify-center">
                <div class="w-11/12 bg-red-500 text-white p-3 rounded mb-4">
                    <?php echo $_SESSION['error']; unset($_SESSION['error']); ?>
                </div>
            </div>
        <?php endif; ?>

            
            <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">
                        My Loans
                    </h2>
                </div>

                <div>
                  <a href="javascript:window.history.back()" class="flex justify-start items-center text-xs text-gray-400 hover:text-white">
    <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" 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 rounded-sm bg-[#0e1726] p-4">
            <div class="w-full py-5">
                
                
                
                <div class="w-full lg:flex lg:justify-evenly lg:space-x-2 space-y-3 lg:space-y-0 text-[#bfc9d4]">
    <div class="flex lg:block justify-between items-center bg-[#152136] px-3 lg:px-5 py-2 lg:py-3 hover:text-white cursor-pointer rounded-md">
        <div class="hidden lg:block relative w-full">
            <div class="absolute flex justify-center items-center -top-7 -right-7 h-9 w-9 rounded-full bg-blue-600 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="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
                </svg>
            </div>
        </div>
        <div>
            <div>
                <h2 class="text-sm lg:text-base font-semibold">USD<?php echo number_format($totalLoaned, 2); ?></h2>
            </div>
            <div class="mt-2">
                <h4 class="text-xs lg:text-sm font-medium">Total loaned</h4>
            </div>
        </div>
        <div class="lg:hidden opacity-50">
            <div class="flex justify-center items-center h-9 w-9 rounded-full bg-blue-600 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="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
                </svg>
            </div>
        </div>
    </div>

    <div class="flex lg:block justify-between items-center bg-[#152136] px-3 lg:px-5 py-2 lg:py-3 hover:text-white cursor-pointer rounded-md">
        <div class="hidden lg:block relative w-full">
            <div class="absolute flex justify-center items-center -top-7 -right-7 h-9 w-9 rounded-full bg-orange-600 text-white">
                <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1">
                    <path d="M15.566 11.021A7.016 7.016 0 0 0 19 5V4h1V2H4v2h1v1a7.016 7.016 0 0 0 3.434 6.021c.354.208.566.545.566.9v.158c0 .354-.212.69-.566.9A7.016 7.016 0 0 0 5 19v1H4v2h16v-2h-1v-1a7.014 7.014 0 0 0-3.433-6.02c-.355-.21-.567-.547-.567-.901v-.158c0-.355.212-.692.566-.9zm-1.015 3.681A5.008 5.008 0 0 1 17 19v1H7v-1a5.01 5.01 0 0 1 2.45-4.299c.971-.573 1.55-1.554 1.55-2.622v-.158c0-1.069-.58-2.051-1.551-2.623A5.008 5.008 0 0 1 7 5V4h10v1c0 1.76-.938 3.406-2.449 4.298C13.58 9.87 13 10.852 13 11.921v.158c0 1.068.579 2.049 1.551 2.623z"></path>
                </svg>
            </div>
        </div>
        <div>
            <div>
                <h2 class="text-sm lg:text-base font-semibold">USD<?php echo number_format($pendingLoans, 2); ?></h2>
            </div>
            <div class="mt-2">
                <h4 class="text-xs lg:text-sm font-medium">Pending loans</h4>
            </div>
        </div>
        <div class="lg:hidden opacity-50">
            <div class="flex justify-center items-center h-9 w-9 rounded-full bg-orange-600 text-white">
                <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1">
                    <path d="M15.566 11.021A7.016 7.016 0 0 0 19 5V4h1V2H4v2h1v1a7.016 7.016 0 0 0 3.434 6.021c.354.208.566.545.566.9v.158c0 .354-.212.69-.566.9A7.016 7.016 0 0 0 5 19v1H4v2h16v-2h-1v-1a7.014 7.014 0 0 0-3.433-6.02c-.355-.21-.567-.547-.567-.901v-.158c0-.355.212-.692.566-.9zm-1.015 3.681A5.008 5.008 0 0 1 17 19v1H7v-1a5.01 5.01 0 0 1 2.45-4.299c.971-.573 1.55-1.554 1.55-2.622v-.158c0-1.069-.58-2.051-1.551-2.623A5.008 5.008 0 0 1 7 5V4h10v1c0 1.76-.938 3.406-2.449 4.298C13.58 9.87 13 10.852 13 11.921v.158c0 1.068.579 2.049 1.551 2.623z"></path>
                </svg>
            </div>
        </div>
    </div>

    <div class="flex lg:block justify-between items-center bg-[#152136] px-3 lg:px-5 py-2 lg:py-3 hover:text-white cursor-pointer rounded-md">
        <div class="hidden lg:block relative w-full">
            <div class="absolute flex justify-center items-center -top-7 -right-7 h-9 w-9 rounded-full bg-green-600 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="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
                </svg>
            </div>
        </div>
        <div>
            <div>
                <h2 class="text-sm lg:text-base font-semibold">USD<?php echo number_format($repaidLoans, 2); ?></h2>
            </div>
            <div class="mt-2">
                <h4 class="text-xs lg:text-sm font-medium">Repaid loans</h4>
            </div>
        </div>
        <div class="lg:hidden opacity-50">
            <div class="flex justify-center items-center h-9 w-9 rounded-full bg-green-600 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="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
                </svg>
            </div>
        </div>
    </div>

    <div class="flex lg:block justify-between items-center bg-[#152136] px-3 lg:px-5 py-2 lg:py-3 hover:text-white cursor-pointer rounded-md">
        <div class="hidden lg:block relative w-full">
            <div class="absolute flex justify-center items-center -top-7 -right-7 h-9 w-9 rounded-full bg-red-600 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="M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636" />
                </svg>
            </div>
        </div>
        <div>
            <div>
                <h2 class="text-sm lg:text-base font-semibold">USD<?php echo number_format($unpaidLoans, 2); ?></h2>
            </div>
            <div class="mt-2">
                <h4 class="text-xs lg:text-sm font-medium">Unpaid loans</h4>
            </div>
        </div>
        <div class="lg:hidden opacity-50">
            <div class="flex justify-center items-center h-9 w-9 rounded-full bg-red-600 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="M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636" />
                </svg>
            </div>
        </div>
    </div>
</div>
                
                
                
            </div>
                            <div class="w-full flex justify-center items-center mt-5">
                    <div class="w-full flex justify-center items-center lg:w-2/3">
                        <canvas id="myChart" width="100" height="100"></canvas>
                    </div>
                </div>
                    </div>
    </div>
</div>



            

            
            <div class="py-5">
    <div class="w-full flex justify-center">
        <div class="w-11/12 rounded-sm bg-[#0e1726] p-1 md:p-4">
                       <table id="datatable-skeleton-table" class="text-[#bfc9d4] text-xs md:text-sm">
                        <thead>
                            <tr>
                                <th>ID</th>
                                <th>Amount</th>
                                <th>Interest (<?php echo $loan_intrest ?>%)</th>
                                <th>Total Repayable</th>
                                <th>Date Borrowed</th>
                                <th>Status</th>
                                <th>Action</th>
                            </tr>
                        </thead>
                        <tbody width="100%">
                            <?php if(count($loans) > 0): ?>
                                <?php foreach($loans as $index => $loan): 
                                    $interest = $loan['amount'] * $loan_intrest; // 4.5% interest
                                    $total_repayable = $loan['amount'] + $interest;
                                ?>
                                    <tr>
                                        <td><?= $index + 1 ?></td>
                                        <td>USD<?= number_format($loan['amount'], 2) ?></td>
                                        <td>USD<?= number_format($interest, 2) ?></td>
                                        <td>USD<?= number_format($total_repayable, 2) ?></td>
                                        <td><?= date('d.m.Y H:i', strtotime($loan['created_at'])) ?></td>
                                        <td>
                                            <?php if($loan['status'] == 'pending'): ?>
                                                <span class="px-2 py-1 rounded bg-yellow-500 text-white text-xs">Pending</span>
                                            <?php elseif($loan['status'] == 'unpaid'): ?>
                                                <span class="px-2 py-1 rounded bg-red-500 text-white text-xs">Unpaid</span>
                                            <?php elseif($loan['status'] == 'paid'): ?>
                                                <span class="px-2 py-1 rounded bg-green-500 text-white text-xs">Paid</span>
                                            <?php endif; ?>
                                        </td>
                                        <td>
                                            <?php if($loan['status'] == 'unpaid'): ?>
                                                <form method="POST" onsubmit="return confirm('Are you sure you want to repay USD<?= number_format($total_repayable, 2) ?> for this loan?')">
                                                    <input type="hidden" name="loan_id" value="<?= $loan['id'] ?>">
                                                    <button type="submit" name="pay_loan" class="w-full flex justify-center py-1 rounded-md bg-green-600 shadow-md shadow-slate-800 hover:text-white hover:text-base">
                                                        Pay Loan
                                                    </button>
                                                </form>
                                            <?php else: ?>
                                                <span class="text-gray-400">No action</span>
                                            <?php endif; ?>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr>
                                    <td colspan="7" class="text-center py-4">No loans found</td>
                                </tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                    </div>
    </div>
</div>

            

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


<?php
    include 'footer.php';
?>
    
Back to Directory=ceiIENDB`