<?php
// شروع session قبل از هر چیز
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

require_once '../config.php';

// بررسی لاگین
if (!isLoggedIn()) {
    redirect('../login.php');
}

// بررسی دسترسی ادمین
if (!isAdmin()) {
    setMessage('دسترسی غیرمجاز', 'error');
    redirect('../login.php');
}

$rep_id = (int)($_GET['id'] ?? 0);

if ($rep_id === 0) {
    setMessage('نماینده انتخاب نشده', 'error');
    redirect('representatives.php');
}

// دریافت اطلاعات نماینده
$rep = $pdo->prepare("
    SELECT r.*, p.name as panel_name, p.url as panel_url
    FROM representatives r 
    JOIN panels p ON r.panel_id = p.id 
    WHERE r.id = ?
");
$rep->execute([$rep_id]);
$rep = $rep->fetch();

if (!$rep) {
    setMessage('نماینده یافت نشد', 'error');
    redirect('representatives.php');
}

$page_title = 'مانیتورینگ نماینده: ' . htmlspecialchars($rep['username']);

// آمار نماینده
$stats = $pdo->prepare("
    SELECT 
        COUNT(*) as total_users,
        SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_users,
        SUM(CASE WHEN status = 'expired' THEN 1 ELSE 0 END) as expired_users,
        SUM(CASE WHEN status = 'limited' THEN 1 ELSE 0 END) as limited_users,
        SUM(total_traffic) as total_traffic,
        SUM(traffic_limit) as total_limit
    FROM reseller_users 
    WHERE representative_id = ?
");
$stats->execute([$rep_id]);
$stats = $stats->fetch();

// دریافت کاربران نماینده
$users = $pdo->prepare("SELECT * FROM reseller_users WHERE representative_id = ? ORDER BY created_at DESC LIMIT 50");
$users->execute([$rep_id]);
$users = $users->fetchAll();

// دریافت لاگ فعالیت‌ها
$logs = $pdo->prepare("SELECT * FROM representative_logs WHERE representative_id = ? ORDER BY created_at DESC LIMIT 20");
$logs->execute([$rep_id]);
$logs = $logs->fetchAll();

require_once '../includes/header.php';
?>

<div class="row mb-4">
    <div class="col-md-3">
        <div class="card text-white bg-primary">
            <div class="card-body">
                <h5 class="card-title">کل کاربران</h5>
                <h2><?= $stats['total_users'] ?? 0 ?></h2>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card text-white bg-success">
            <div class="card-body">
                <h5 class="card-title">کاربران فعال</h5>
                <h2><?= $stats['active_users'] ?? 0 ?></h2>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card text-white bg-info">
            <div class="card-body">
                <h5 class="card-title">ترافیک مصرفی</h5>
                <h2><?= number_format(($stats['total_traffic'] ?? 0) / (1024 * 1024 * 1024), 2) ?> GB</h2>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card text-white bg-warning">
            <div class="card-body">
                <h5 class="card-title">حد ترافیک</h5>
                <h2><?= $rep['traffic_limit'] > 0 ? number_format($rep['traffic_limit'] / (1024 * 1024 * 1024), 2) . ' GB' : 'نامحدود' ?></h2>
            </div>
        </div>
    </div>
</div>

<div class="card mb-4">
    <div class="card-header">
        <h5 class="mb-0">اطلاعات نماینده</h5>
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                <p><strong>نام کاربری:</strong> <?= htmlspecialchars($rep['username']) ?></p>
                <p><strong>نام کامل:</strong> <?= htmlspecialchars($rep['full_name'] ?? '-') ?></p>
                <p><strong>ایمیل:</strong> <?= htmlspecialchars($rep['email'] ?? '-') ?></p>
                <p><strong>تلفن:</strong> <?= htmlspecialchars($rep['phone'] ?? '-') ?></p>
            </div>
            <div class="col-md-6">
                <p><strong>پنل:</strong> <?= htmlspecialchars($rep['panel_name']) ?></p>
                <p><strong>ترافیک مصرفی:</strong> <?= number_format(($rep['used_traffic'] ?? 0) / (1024 * 1024 * 1024), 2) ?> GB</p>
                <p><strong>حد ترافیک:</strong> <?= $rep['traffic_limit'] > 0 ? number_format($rep['traffic_limit'] / (1024 * 1024 * 1024), 2) . ' GB' : 'نامحدود' ?></p>
                <p><strong>تاریخ انقضا:</strong> <?= $rep['expiry_date'] ? date('Y/m/d H:i', strtotime($rep['expiry_date'])) : 'نامحدود' ?></p>
            </div>
        </div>
    </div>
</div>

<div class="card mb-4">
    <div class="card-header">
        <h5 class="mb-0">کاربران نماینده (50 مورد آخر)</h5>
    </div>
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-striped table-sm">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>ایمیل</th>
                        <th>ترافیک</th>
                        <th>حد ترافیک</th>
                        <th>تاریخ انقضا</th>
                        <th>وضعیت</th>
                        <th>تاریخ ایجاد</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($users as $user): ?>
                        <tr>
                            <td><?= $user['id'] ?></td>
                            <td><?= htmlspecialchars($user['email']) ?></td>
                            <td><?= number_format($user['total_traffic'] / (1024 * 1024 * 1024), 2) ?> GB</td>
                            <td><?= $user['traffic_limit'] > 0 ? number_format($user['traffic_limit'] / (1024 * 1024 * 1024), 2) . ' GB' : 'نامحدود' ?></td>
                            <td><?= $user['expiry_date'] ? date('Y/m/d H:i', strtotime($user['expiry_date'])) : 'نامحدود' ?></td>
                            <td>
                                <span class="badge bg-<?= 
                                    $user['status'] === 'active' ? 'success' : 
                                    ($user['status'] === 'expired' ? 'danger' : 'warning') 
                                ?>">
                                    <?= 
                                        $user['status'] === 'active' ? 'فعال' : 
                                        ($user['status'] === 'expired' ? 'منقضی' : 'محدود') 
                                    ?>
                                </span>
                            </td>
                            <td><?= date('Y/m/d H:i', strtotime($user['created_at'])) ?></td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<?php if (!empty($logs)): ?>
<div class="card">
    <div class="card-header">
        <h5 class="mb-0">لاگ فعالیت‌ها (20 مورد آخر)</h5>
    </div>
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-striped table-sm">
                <thead>
                    <tr>
                        <th>زمان</th>
                        <th>عمل</th>
                        <th>جزئیات</th>
                        <th>IP</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($logs as $log): ?>
                        <tr>
                            <td><?= date('Y/m/d H:i:s', strtotime($log['created_at'])) ?></td>
                            <td><?= htmlspecialchars($log['action']) ?></td>
                            <td><?= htmlspecialchars($log['details'] ?? '-') ?></td>
                            <td><?= htmlspecialchars($log['ip_address'] ?? '-') ?></td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>
<?php endif; ?>

<div class="mt-3">
    <a href="representatives.php" class="btn btn-secondary">بازگشت</a>
</div>

<?php require_once '../includes/footer.php'; ?>
