<?php
if($text == "🌟 ارتقا حساب به ویژه" || $text == "/upgrade") {
    $price          = settings('vip_price_toman', 32000);
    $priceFormatted = number_format($price);
    $responseText = "*💎 اشتراک ویژه عضوینگ | سرعت بیشتر، هزینه کمتر*
🎁 با خرید اشتراک ویژه، امکانات زیر برای شما فعال می‌شود:
*🚀 اولویت بالاتر در لیست انجام سفارش‌ها
💸 تخفیف ویژه روی ثبت سفارش‌ها
📈 سقف سفارش روزانه بیشتر
👥 حداقل تعداد سفارش کمتر
🛡 جریمه خروج از کانال کمتر
💰 پاداش دعوت از دوستان ۲ برابر
⚡️ انتقال سکه بدون کارمزد*
📌 نکته: بعد از ارتقا، سفارش‌های فعال شما هم همان لحظه ویژه می‌شوند.";
    $keyboard = json_encode([
        "inline_keyboard" => [
            [['text' => "💎 ارتقا حساب به ویژه ($priceFormatted تومان)", 'callback_data' => 'buy_vip_plan']],
            [['text' => "💰 ارتقا حساب به ویژه (250 سکه)", 'callback_data' => 'buy_vip_plan_with_coin']]
        ]
    ]);
    sendMessage($chat_id, $responseText, $keyboard);
    die;
}


if($data == 'buy_vip_plan') {

if($user->is_vip && strtotime($user->vip_expire) > time()) {
        $expireDate = jdate("Y/m/d", strtotime($user->vip_expire));
        answerCallbackQuery($query_id, "✅ شما تا تاریخ $expireDate اشتراک ویژه دارید.", true);
        die;
}

    $price = settings('vip_price_toman', 32000);
    $days  = settings('vip_duration_days', 30);
    do {
        $rand1       = rand(100, 999);
        $rand2       = rand(1000, 9999);
        $orderNumber = "VIP-$rand1-$rand2";
        $stmt = $pdo->prepare("SELECT COUNT(*) FROM `vip_transactions` WHERE `order_number` = ?");
        $stmt->execute([$orderNumber]);
        $count = $stmt->fetchColumn();
}


while( $count > 0 );
    $stmt = $pdo->prepare("INSERT INTO `vip_transactions` (`user_id`, `vip_days`, `price_toman`, `order_number`, `created_at`) VALUES (?, ?, ?, ?, NOW())");
    $stmt->execute([$chat_id, $days, $price, $orderNumber]);
    $walletAddress  = settings('wallet_address', "WALLET-tqRD5MDZQQQiN8YC");
    $priceFormatted = number_format($price);
    $result = sendPayment(
        $chat_id,
        "اشتراک ویژه $days روزه",
        "پرداخت $priceFormatted تومان بابت ارتقا حساب به ویژه ($days روزه)",
        $orderNumber,
        $walletAddress,
        [['label' => "اشتراک ویژه", 'amount' => $price * 10]]
    );

if(!$result->ok) {
        answerCallbackQuery($query_id, "❌ خطا در ایجاد فاکتور: " . ($result->description ?? 'خطای ناشناخته'), true);
        die;
}

    answerCallbackQuery($query_id, "⏳ فاکتور پرداخت ارسال شد.", false);
    die;
}


if($data == 'buy_vip_plan_with_coin') {

if($user->is_vip && strtotime($user->vip_expire) > time()) {
        $expireDate = jdate("Y/m/d", strtotime($user->vip_expire));
        answerCallbackQuery($query_id, "✅ شما تا تاریخ $expireDate اشتراک ویژه دارید.", true);
        die;
}

    $date = jdate("Y/m/d");
    $time = jdate("H:i:s");
    $price = 250;
    $days  = settings('vip_duration_days', 30);
    do {
        $rand1       = rand(100, 999);
        $rand2       = rand(1000, 9999);
        $orderNumber = "VIP-$rand1-$rand2";
        $stmt = $pdo->prepare("SELECT COUNT(*) FROM `vip_transactions` WHERE `order_number` = ?");
        $stmt->execute([$orderNumber]);
        $count = $stmt->fetchColumn();
}


while( $count > 0 );
    $stmt = $pdo->prepare("INSERT INTO `vip_transactions` (`user_id`, `vip_days`, `price_toman`, `order_number`, `created_at`) VALUES (?, ?, ?, ?, NOW())");
    $stmt->execute([$chat_id, $days, $price, $orderNumber]);

if($user->coins < $price) {
        answerCallbackQuery($query_id, "‼️ موجودی شما جهت ارتقا به ویژه کافی نیست!", true);
        die;
}

    $stmt = $pdo->prepare("UPDATE `users` SET `coins` = `coins` - ? WHERE `user_id` = ?");
    $stmt->execute([$price, $from_id]);
    $stmt = $pdo->prepare("SELECT * FROM `vip_transactions` WHERE `order_number` = ?");
    $stmt->execute([$orderNumber]);
    $transaction = $stmt->fetch();

if(!$transaction || $transaction->status == 'success') {
        die;
}

    $user_id = $transaction->user_id;
    $days    = $transaction->vip_days;
    $amount  = $transaction->price_toman;
    $stmt = $pdo->prepare("UPDATE `vip_transactions` SET `status` = 'success' WHERE `order_number` = ?");
    $stmt->execute([$orderNumber]);
    $expireDate = date('Y-m-d H:i:s', strtotime("+$days days"));
    $stmt = $pdo->prepare("UPDATE `users` SET `is_vip` = 1, `vip_expire` = ? WHERE `user_id` = ?");
    $stmt->execute([$expireDate, $user_id]);
    $stmt = $pdo->prepare("UPDATE `orders` SET `is_vip` = 1 WHERE `user_id` = ? AND `status` IN ('pending','running')");
    $stmt->execute([$user_id]);
    $expireJalali = jdate("Y/m/d", strtotime($expireDate));
    $responseText = "🎉 *تبریک! حساب شما به ویژه ارتقا یافت.*\n\n" .
        "⏳ مدت اعتبار: $days روز\n" .
        "📅 تاریخ انقضا: $expireJalali\n\n" .
        "از امکانات ویژه لذت ببرید! 💎";
    sendMessage($user_id, $responseText, $userKeyboard);
    $logChannel = settings('channel_purchase_log', 'none');

if($logChannel && $logChannel !== 'none' && is_numeric($logChannel)) {
        $logMsg = "💎 خرید اشتراک ویژه\n\n" .
            "👤 کاربر: $user_id\n" .
            "⏳ مدت: $days روز\n" .
            "💵 مبلغ: " . number_format($amount) . " سکه\n" .
            "🧾 کد سفارش: $orderNumber\n" .
            "📅 تاریخ: $date | ⏰ $time";
        sendMessage($logChannel, $logMsg);
}

    die;
}

