<?php
/**
 * ZAIAHTRIX2 - Upgraded Admin Dashboard
 * Features: Revenue tracking, user analytics, AI credits, referrals, search analytics
 */
require_once __DIR__ . '/../includes/auth_check.php';
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../includes/ReferralSystem.php';

if (!isset($_SESSION['user_id']) || $_SESSION['user_role'] !== 'admin') {
    header('Location: ../auth/login.php');
    exit;
}

$db = db();
$adminId = $_SESSION['user_id'];

// Get admin level
$stmt = $db->prepare("SELECT admin_level, fullname, email FROM users WHERE id = ?");
$stmt->execute([$adminId]);
$admin = $stmt->fetch(PDO::FETCH_ASSOC);
$adminLevel = $admin['admin_level'] ?? 'junior_admin';

// Revenue stats
$revenueToday = getRevenueStats('today');
$revenueWeek = getRevenueStats('week');
$revenueMonth = getRevenueStats('month');

// User stats
$totalUsers = $db->query("SELECT COUNT(*) FROM users")->fetchColumn();
$newUsersToday = $db->query("SELECT COUNT(*) FROM users WHERE DATE(created_at) = CURDATE()")->fetchColumn();
$activeUsers = $db->query("SELECT COUNT(DISTINCT user_id) FROM user_behavior WHERE created_at >= DATE_SUB(NOW(), INTERVAL 24 HOUR)")->fetchColumn();

// Content stats
$totalCourses = 0;
try { $totalCourses = $db->query("SELECT COUNT(*) FROM courses")->fetchColumn(); } catch(Exception $e) {}
$totalProperties = 0;
try { $totalProperties = $db->query("SELECT COUNT(*) FROM boarding_houses")->fetchColumn(); } catch(Exception $e) {}
$totalGigs = 0;
try { $totalGigs = $db->query("SELECT COUNT(*) FROM freelance_gigs")->fetchColumn(); } catch(Exception $e) {}

// AI Credits
$aiCreditsUsed = $db->query("SELECT COUNT(*) FROM ai_credit_usage WHERE DATE(created_at) = CURDATE()")->fetchColumn();
$aiRevenue = $db->query("SELECT COALESCE(SUM(cost),0) FROM ai_credit_usage WHERE MONTH(created_at) = MONTH(CURDATE())")->fetchColumn();

// Referrals
$totalReferrals = $db->query("SELECT COUNT(*) FROM referrals")->fetchColumn();
$referralBonus = $db->query("SELECT COALESCE(SUM(bonus_amount),0) FROM referrals WHERE bonus_paid = 1")->fetchColumn();

// Payouts
$pendingPayouts = $db->query("SELECT COUNT(*) FROM payout_requests WHERE status = 'pending'")->fetchColumn();
$pendingPayoutAmount = $db->query("SELECT COALESCE(SUM(amount),0) FROM payout_requests WHERE status = 'pending'")->fetchColumn();

// Popular searches
$popularSearches = getPopularSearches(10, 7);

// Recent activity
$recentActivity = $db->query("SELECT aal.*, u.fullname as admin_name FROM admin_activity_log aal JOIN users u ON aal.admin_id = u.id ORDER BY aal.created_at DESC LIMIT 10")->fetchAll(PDO::FETCH_ASSOC);

// Recent users
$recentUsers = $db->query("SELECT id, fullname, email, phone, created_at, last_login FROM users ORDER BY created_at DESC LIMIT 5")->fetchAll(PDO::FETCH_ASSOC);

// Page views today
$pageViewsToday = $db->query("SELECT COUNT(*) FROM user_behavior WHERE action = 'page_view' AND DATE(created_at) = CURDATE()")->fetchColumn();

// Device breakdown
$deviceStats = $db->query("SELECT device_type, COUNT(*) as count FROM user_behavior WHERE DATE(created_at) = CURDATE() GROUP BY device_type")->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dashboard - Zaiahtrix 2 Admin</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <style>
        *{margin:0;padding:0;box-sizing:border-box;}
        body{font-family:'Inter',sans-serif;background:#0a0a0a;color:#fff;display:flex;min-height:100vh;}
        .sidebar{width:260px;background:#111;padding:20px;border-right:1px solid #222;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;}
        .sidebar h2{font-size:18px;margin-bottom:20px;color:#00bfff;}
        .sidebar a{display:flex;align-items:center;gap:10px;padding:10px 14px;color:#888;text-decoration:none;border-radius:10px;margin-bottom:4px;transition:all 0.2s;font-size:14px;}
        .sidebar a:hover,.sidebar a.active{background:#1a1a1a;color:#fff;}
        .sidebar a i{width:20px;text-align:center;}
        .main{flex:1;padding:30px;overflow-y:auto;}
        .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px;}
        .header h1{font-size:28px;}
        .header .admin-info{display:flex;align-items:center;gap:12px;}
        .level-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;}
        .level-super_admin{background:#ffd70022;color:#ffd700;border:1px solid #ffd70044;}
        .level-senior_admin{background:#00bfff22;color:#00bfff;border:1px solid #00bfff44;}
        .level-junior_admin{background:#00ff8822;color:#00ff88;border:1px solid #00ff8844;}
        .level-moderator{background:#88888822;color:#888;border:1px solid #88888844;}
        .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:30px;}
        .stat-card{background:#111;padding:20px;border-radius:16px;border:1px solid #222;transition:all 0.3s;}
        .stat-card:hover{border-color:#00bfff44;transform:translateY(-2px);}
        .stat-card .icon{font-size:24px;margin-bottom:8px;}
        .stat-card .num{font-size:24px;font-weight:700;color:#00bfff;}
        .stat-card .label{font-size:11px;color:#888;margin-top:4px;}
        .stat-card .trend{font-size:10px;margin-top:4px;}
        .trend.up{color:#00ff88;}
        .trend.down{color:#ff4444;}
        .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
        .card{background:#111;border-radius:16px;padding:24px;border:1px solid #222;margin-bottom:20px;}
        .card h3{font-size:16px;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
        table{width:100%;border-collapse:collapse;}
        th{text-align:left;padding:10px 12px;font-size:11px;color:#888;border-bottom:1px solid #222;text-transform:uppercase;}
        td{padding:10px 12px;font-size:13px;border-bottom:1px solid #1a1a1a;}
        tr:hover td{background:#1a1a1a;}
        .chart-container{position:relative;height:250px;}
        .search-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1a1a1a;font-size:13px;}
        .search-item .query{color:#fff;}
        .search-item .count{color:#00bfff;font-weight:600;}
        .device-bar{display:flex;gap:4px;height:8px;border-radius:4px;overflow:hidden;margin-top:8px;}
        .device-bar div{height:100%;}
        .btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none;display:inline-block;}
        .btn-primary{background:#00bfff;color:#0a0a0a;}
        .btn-outline{background:transparent;border:1px solid #333;color:#fff;}
        @media(max-width:768px){
            body{flex-direction:column;}
            .sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid #222;}
            .main{padding:16px;}
            .grid-2{grid-template-columns:1fr;}
            .stats-grid{grid-template-columns:repeat(2,1fr);}
        }
    </style>
</head>
<body>
    <div class="sidebar">
        <h2><i class="fas fa-crown"></i> Admin Panel</h2>
        <a href="index.php" class="active"><i class="fas fa-home"></i> Dashboard</a>
        <a href="users.php"><i class="fas fa-users"></i> Users</a>
        <a href="hierarchy.php"><i class="fas fa-sitemap"></i> Hierarchy</a>
        <a href="payments.php"><i class="fas fa-credit-card"></i> Payments</a>
        <a href="analytics.php"><i class="fas fa-chart-line"></i> Analytics</a>
        <a href="verify_payments.php"><i class="fas fa-check-circle"></i> Verify Payments</a>
        <a href="manage-properties.php"><i class="fas fa-building"></i> Properties</a>
        <a href="manage-bookings.php"><i class="fas fa-calendar"></i> Bookings</a>
        <a href="courses.php"><i class="fas fa-book"></i> Courses</a>
        <a href="ambassadors.php"><i class="fas fa-handshake"></i> Ambassadors</a>
        <a href="../modules/ads/admin/index.php"><i class="fas fa-ad"></i> Ads Monitor</a>
        <a href="settings.php"><i class="fas fa-cog"></i> Settings</a>
        <a href="theme_manager.php"><i class="fas fa-palette"></i> Themes &amp; Tiers</a>
        <a href="register.php"><i class="fas fa-user-plus"></i> Register Admin</a>
        <hr style="border-color:#222;margin:16px 0;">
        <a href="../index.php"><i class="fas fa-arrow-left"></i> Back to Site</a>
        <a href="../auth/logout.php"><i class="fas fa-sign-out-alt"></i> Logout</a>
    </div>

    <div class="main">
        <button class="menu-toggle" onclick="toggleSidebar()" aria-label="Toggle menu">
            <span></span><span></span><span></span>
        </button>
        <div class="sidebar-overlay" onclick="closeSidebar()"></div>

        <div class="header">
            <div>
                <h1><i class="fas fa-tachometer-alt"></i> Dashboard</h1>
                <p style="color:#888;font-size:14px;margin-top:4px;">Welcome back, <?= htmlspecialchars($admin['fullname']) ?>!</p>
            </div>
            <div class="admin-info">
                <span class="level-badge level-<?= $adminLevel ?>"><?= strtoupper(str_replace('_',' ',$adminLevel)) ?></span>
                <a href="hierarchy.php" class="btn btn-outline">Manage Admins</a>
            </div>
        </div>

        <!-- Revenue Stats -->
        <div class="stats-grid">
            <div class="stat-card">
                <div class="icon">💰</div>
                <div class="num">K<?= number_format($revenueToday['total'], 2) ?></div>
                <div class="label">Today's Revenue</div>
            </div>
            <div class="stat-card">
                <div class="icon">📅</div>
                <div class="num">K<?= number_format($revenueWeek['total'], 2) ?></div>
                <div class="label">This Week</div>
            </div>
            <div class="stat-card">
                <div class="icon">📊</div>
                <div class="num">K<?= number_format($revenueMonth['total'], 2) ?></div>
                <div class="label">This Month</div>
            </div>
            <div class="stat-card">
                <div class="icon">🤖</div>
                <div class="num">K<?= number_format($aiRevenue, 2) ?></div>
                <div class="label">AI Revenue (Month)</div>
            </div>
            <div class="stat-card">
                <div class="icon">👥</div>
                <div class="num"><?= number_format($totalUsers) ?></div>
                <div class="label">Total Users</div>
                <div class="trend up">+<?= $newUsersToday ?> today</div>
            </div>
            <div class="stat-card">
                <div class="icon">🔥</div>
                <div class="num"><?= $activeUsers ?></div>
                <div class="label">Active (24h)</div>
            </div>
            <div class="stat-card">
                <div class="icon">👁️</div>
                <div class="num"><?= number_format($pageViewsToday) ?></div>
                <div class="label">Page Views Today</div>
            </div>
            <div class="stat-card">
                <div class="icon">🤖</div>
                <div class="num"><?= $aiCreditsUsed ?></div>
                <div class="label">AI Uses Today</div>
            </div>
            <div class="stat-card">
                <div class="icon">🎁</div>
                <div class="num"><?= $totalReferrals ?></div>
                <div class="label">Total Referrals</div>
            </div>
            <div class="stat-card">
                <div class="icon">💸</div>
                <div class="num"><?= $pendingPayouts ?></div>
                <div class="label">Pending Payouts</div>
                <div class="trend down">K<?= number_format($pendingPayoutAmount, 2) ?></div>
            </div>
        </div>

        <div class="grid-2">
            <!-- Revenue Chart -->
            <div class="card">
                <h3><i class="fas fa-chart-line"></i> Revenue Overview</h3>
                <div class="chart-container">
                    <canvas id="revenueChart"></canvas>
                </div>
            </div>

            <!-- Device Breakdown -->
            <div class="card">
                <h3><i class="fas fa-mobile-alt"></i> Device Breakdown</h3>
                <div class="chart-container">
                    <canvas id="deviceChart"></canvas>
                </div>
            </div>
        </div>

        <div class="grid-2">
            <!-- Popular Searches -->
            <div class="card">
                <h3><i class="fas fa-search"></i> Popular Searches (7 days)</h3>
                <?php if ($popularSearches): ?>
                    <?php foreach ($popularSearches as $search): ?>
                    <div class="search-item">
                        <span class="query">🔍 <?= htmlspecialchars($search['search_query']) ?></span>
                        <span class="count"><?= $search['count'] ?>x</span>
                    </div>
                    <?php endforeach; ?>
                <?php else: ?>
                    <p style="color:#888;text-align:center;padding:20px;">No searches recorded yet</p>
                <?php endif; ?>
            </div>

            <!-- Revenue by Source -->
            <div class="card">
                <h3><i class="fas fa-coins"></i> Revenue by Source</h3>
                <?php if ($revenueMonth['by_source']): ?>
                    <?php foreach ($revenueMonth['by_source'] as $source): ?>
                    <div class="search-item">
                        <span class="query">📊 <?= ucfirst($source['source']) ?></span>
                        <span class="count">K<?= number_format($source['total'], 2) ?> (<?= $source['count'] ?>)</span>
                    </div>
                    <?php endforeach; ?>
                <?php else: ?>
                    <p style="color:#888;text-align:center;padding:20px;">No revenue recorded yet</p>
                <?php endif; ?>
            </div>
        </div>

        <div class="grid-2">
            <!-- Recent Users -->
            <div class="card">
                <h3><i class="fas fa-user-plus"></i> Recent Users</h3>
                <table>
                    <thead><tr><th>Name</th><th>Email</th><th>Joined</th></tr></thead>
                    <tbody>
                        <?php foreach ($recentUsers as $user): ?>
                        <tr>
                            <td><strong><?= htmlspecialchars($user['fullname']) ?></strong></td>
                            <td style="color:#888;"><?= htmlspecialchars($user['email']) ?></td>
                            <td style="color:#888;"><?= date('M j', strtotime($user['created_at'])) ?></td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>

            <!-- Admin Activity -->
            <div class="card">
                <h3><i class="fas fa-history"></i> Recent Admin Activity</h3>
                <?php if ($recentActivity): ?>
                    <?php foreach ($recentActivity as $log): ?>
                    <div class="search-item">
                        <span class="query">📝 <?= htmlspecialchars($log['admin_name']) ?>: <?= str_replace('_',' ',$log['action']) ?></span>
                        <span style="color:#888;font-size:11px;"><?= date('M j H:i', strtotime($log['created_at'])) ?></span>
                    </div>
                    <?php endforeach; ?>
                <?php else: ?>
                    <p style="color:#888;text-align:center;padding:20px;">No activity recorded yet</p>
                <?php endif; ?>
            </div>
        </div>

        <!-- Content Stats -->
        <div class="card">
            <h3><i class="fas fa-layer-group"></i> Platform Content</h3>
            <div class="stats-grid" style="margin-bottom:0;">
                <div class="stat-card">
                    <div class="icon">📚</div>
                    <div class="num"><?= $totalCourses ?></div>
                    <div class="label">Courses</div>
                </div>
                <div class="stat-card">
                    <div class="icon">🏠</div>
                    <div class="num"><?= $totalProperties ?></div>
                    <div class="label">Properties</div>
                </div>
                <div class="stat-card">
                    <div class="icon">💼</div>
                    <div class="num"><?= $totalGigs ?></div>
                    <div class="label">Freelance Gigs</div>
                </div>
            </div>
        </div>
    </div>

    <script>
    // Revenue Chart
    new Chart(document.getElementById('revenueChart'), {
        type: 'line',
        data: {
            labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
            datasets: [{
                label: 'Revenue (K)',
                data: [<?= $revenueToday['total'] ?>, <?= $revenueWeek['total']/7 ?>, <?= $revenueWeek['total']/7 ?>, <?= $revenueWeek['total']/7 ?>, <?= $revenueWeek['total']/7 ?>, <?= $revenueWeek['total']/7 ?>, <?= $revenueToday['total'] ?>],
                borderColor: '#00bfff',
                backgroundColor: 'rgba(0,191,255,0.1)',
                fill: true,
                tension: 0.4
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: { legend: { display: false } },
            scales: {
                y: { ticks: { color: '#888' }, grid: { color: '#222' } },
                x: { ticks: { color: '#888' }, grid: { color: '#222' } }
            }
        }
    });

    // Device Chart
    new Chart(document.getElementById('deviceChart'), {
        type: 'doughnut',
        data: {
            labels: ['Mobile', 'Desktop', 'Tablet'],
            datasets: [{
                data: [
                    <?= $deviceStats ? array_column($deviceStats, 'count', 'device_type')['mobile'] ?? 0 : 0 ?>,
                    <?= $deviceStats ? array_column($deviceStats, 'count', 'device_type')['desktop'] ?? 0 : 0 ?>,
                    <?= $deviceStats ? array_column($deviceStats, 'count', 'device_type')['tablet'] ?? 0 : 0 ?>
                ],
                backgroundColor: ['#00bfff', '#ffd700', '#00ff88']
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: { legend: { position: 'bottom', labels: { color: '#888' } } }
        }
    });
    </script>
</body>
</html>