<?php
/**
 * اسکریپت تست اتصال به API پنل 3x-ui
 * این فایل را برای تست اتصال به پنل اجرا کنید
 */

require_once 'config.php';
require_once 'api/XrayAPI.php';

echo "<!DOCTYPE html>
<html lang='fa' dir='rtl'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>تست اتصال API</title>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        body { padding: 20px; background: #f5f7fa; }
        .result { margin-top: 20px; }
        pre { background: #f8f9fa; padding: 15px; border-radius: 5px; }
    </style>
</head>
<body>
    <div class='container'>
        <div class='card'>
            <div class='card-header bg-primary text-white'>
                <h4>تست اتصال به API پنل 3x-ui</h4>
            </div>
            <div class='card-body'>";

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $url = $_POST['url'] ?? '';
    $username = $_POST['username'] ?? '';
    $password = $_POST['password'] ?? '';
    
    if (empty($url) || empty($username) || empty($password)) {
        echo "<div class='alert alert-danger'>لطفاً تمام فیلدها را پر کنید</div>";
    } else {
        echo "<h5>نتایج تست:</h5>";
        echo "<div class='result'>";
        
        try {
            echo "<div class='alert alert-info'>در حال اتصال به پنل...</div>";
            
            $xrayAPI = new XrayAPI($url, $username, $password);
            
            echo "<div class='alert alert-success'>✓ اتصال به پنل موفق بود!</div>";
            
            // تست دریافت inbound ها
            echo "<h6>تست دریافت Inbound ها:</h6>";
            try {
                $inbounds = $xrayAPI->getInbounds();
                echo "<div class='alert alert-success'>✓ دریافت Inbound ها موفق بود!</div>";
                echo "<pre>" . json_encode($inbounds, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "</pre>";
                
                if (isset($inbounds['obj']) && is_array($inbounds['obj'])) {
                    echo "<p><strong>تعداد Inbound ها: " . count($inbounds['obj']) . "</strong></p>";
                    
                    if (!empty($inbounds['obj'])) {
                        echo "<h6>لیست Inbound ها:</h6>";
                        echo "<table class='table table-striped'>";
                        echo "<thead><tr><th>ID</th><th>Remark</th><th>Protocol</th><th>Port</th><th>Clients</th></tr></thead>";
                        echo "<tbody>";
                        foreach ($inbounds['obj'] as $inbound) {
                            $clients_count = isset($inbound['clients']) ? count($inbound['clients']) : 0;
                            echo "<tr>";
                            echo "<td>{$inbound['id']}</td>";
                            echo "<td>" . htmlspecialchars($inbound['remark'] ?? '-') . "</td>";
                            echo "<td>{$inbound['protocol']}</td>";
                            echo "<td>{$inbound['port']}</td>";
                            echo "<td>$clients_count</td>";
                            echo "</tr>";
                        }
                        echo "</tbody></table>";
                    }
                }
            } catch (Exception $e) {
                echo "<div class='alert alert-danger'>✗ خطا در دریافت Inbound ها: " . htmlspecialchars($e->getMessage()) . "</div>";
            }
            
        } catch (Exception $e) {
            echo "<div class='alert alert-danger'>✗ خطا در اتصال: " . htmlspecialchars($e->getMessage()) . "</div>";
            echo "<div class='alert alert-warning'>";
            echo "<strong>راهنمای عیب‌یابی:</strong><br>";
            echo "1. مطمئن شوید URL پنل صحیح است (مثال: https://example.com)<br>";
            echo "2. نام کاربری و رمز عبور را بررسی کنید<br>";
            echo "3. مطمئن شوید پنل در دسترس است<br>";
            echo "4. ممکن است endpoint های API متفاوت باشند - فایل API_NOTES.md را مطالعه کنید";
            echo "</div>";
        }
        
        echo "</div>";
    }
}

echo "
            <hr>
            <h5>فرم تست:</h5>
            <form method='POST'>
                <div class='mb-3'>
                    <label class='form-label'>آدرس پنل (URL)</label>
                    <input type='url' name='url' class='form-control' placeholder='https://example.com' required>
                </div>
                <div class='mb-3'>
                    <label class='form-label'>نام کاربری</label>
                    <input type='text' name='username' class='form-control' required>
                </div>
                <div class='mb-3'>
                    <label class='form-label'>رمز عبور</label>
                    <input type='password' name='password' class='form-control' required>
                </div>
                <button type='submit' class='btn btn-primary'>تست اتصال</button>
            </form>
        </div>
    </div>
</div>
</body>
</html>";
?>
