<?php
include_once __DIR__ . '/../settings/config_xui_api.php';
include_once __DIR__ . '/../settings/config_utils.php';
global $connection, $plan_id, $user_id, $payDescription, $amount, $botUrl, $gateType, $admin, $mainValues;

        $oid = $plan_id;
        $time = time(); // ✨ فیکس: تعریف متغیر زمان زنده
        
        $stmt = $connection->prepare("SELECT * FROM `orders_list` WHERE `id` = ?");
        $stmt->bind_param("i", $oid);
        $stmt->execute();
        $order = $stmt->get_result()->fetch_assoc();
        $stmt->close();
        
        if (!$order) {
            showForm("❌ سفارش یافت نشد.", $payDescription);
            exit;
        }

        $fid = $order['fileid'];
        $remark = $order['remark'];
        $uuid = $order['uuid'] ?? "0";
        $server_id = $order['server_id'];
        $inbound_id = $order['inbound_id'];

        $stmt = $connection->prepare("SELECT * FROM `server_plans` WHERE `id` = ?");
        $stmt->bind_param("i", $fid);
        $stmt->execute();
        $respd = $stmt->get_result()->fetch_assoc();
        $stmt->close();
        $name = $respd['title'];
        $days = $respd['days'];
        $volume = $respd['volume'];

        $stmt = $connection->prepare("SELECT * FROM server_config WHERE id=?");
        $stmt->bind_param("i", $server_id);
        $stmt->execute();
        $server_info = $stmt->get_result()->fetch_assoc();
        $stmt->close();
        $serverType = $server_info['type'];

        if ($serverType == "marzban") {
            $response = editMarzbanConfig($server_id, ['remark' => $remark, 'days' => $days, 'volume' => $volume]);
        }
        else {
            if ($inbound_id > 0)
                $response = editClientTraffic($server_id, $inbound_id, $uuid, $volume, $days, "renew");
            else
                $response = editInboundTraffic($server_id, $uuid, $volume, $days, "renew");
        }

        if (is_null($response) || (isset($response->success) && !$response->success)) {
            showForm('پرداخت شما با موفقیت انجام شد ولی مشکل فنی در اتصال به سرور. لطفا به مدیریت اطلاع بدید، مبلغ ' . number_format($amount) . " تومان به کیف پول شما اضافه شد", $payDescription);

            $stmt = $connection->prepare("UPDATE `users` SET `wallet` = `wallet` + ? WHERE `userid` = ?");
            $stmt->bind_param("ii", $amount, $user_id);
            $stmt->execute();
            $stmt->close();
            sendMessage("✅ مبلغ " . number_format($amount) . " تومان به حساب شما اضافه شد", null, null, $user_id);
            sendMessage("✅ مبلغ " . number_format($amount) . " تومان به کیف پول کاربر $user_id اضافه شد، میخواست کانفیگش رو تمدید کنه، ولی اتصال به سرور برقرار نبود", null, null, $admin);
            exit;
        }

        // ✨ فیکس: اتصال انقضای جدید به انتهای زمان باقیمانده قبلی کاربر
        $baseExpire = ($order['expire_date'] > $time) ? $order['expire_date'] : $time;
        $newExpire = $baseExpire + ($days * 86400);

        $stmt = $connection->prepare("UPDATE `orders_list` SET `expire_date` = ?, `notif` = 0 WHERE `id` = ?");
        $stmt->bind_param("ii", $newExpire, $oid);
        $stmt->execute();
        $stmt->close();
        
        $stmt = $connection->prepare("INSERT INTO `increase_order` VALUES (NULL, ?, ?, ?, ?, ?, ?);");
        $stmt->bind_param("iiisii", $user_id, $server_id, $inbound_id, $remark, $amount, $time);
        $stmt->execute();
        $stmt->close();

        showForm("✅سرویس $remark با موفقیت تمدید شد", $payDescription, true);

        // ارسال تصویر QR برای کاربر
        $vraylink = json_decode($order['link'], true);
        if (!is_array($vraylink)) {
            $vraylink = [$order['link']];
        }

        foreach ($vraylink as $link) {
            $safeLink = htmlspecialchars($link, ENT_QUOTES, 'UTF-8');
            $acc_text = "✅ تمدید انجام شد\n\n🔮 نام سرویس: $remark\n🔋حجم سرویس: $volume گیگ\n⏰ مدت سرویس: $days روز\n💝 config : <code>$safeLink</code>";

            $file = RandomString() . ".png";
            QRcode::png($link, $file, 'L', 11, 0);
            if (function_exists('addBorderImage')) addBorderImage($file);

            if (file_exists(dirname(__DIR__) . "/settings/QRCode.jpg")) {
                $backgroundImage = imagecreatefromjpeg(dirname(__DIR__) . "/settings/QRCode.jpg"); $qrImage = imagecreatefrompng($file);
                $qrWidth = imagesx($qrImage); $qrHeight = imagesy($qrImage);
                $newWidth = round($qrWidth * 1.5); $newHeight = round($qrHeight * 1.5);
                $startX = round((imagesx($backgroundImage) - $newWidth) / 2);
                $startY = round(300 - ($newHeight - $qrHeight) / 2);
                imagecopyresampled($backgroundImage, $qrImage, $startX, $startY, 0, 0, $newWidth, $newHeight, $qrWidth, $qrHeight);
                imagepng($backgroundImage, $file); imagedestroy($backgroundImage); imagedestroy($qrImage);
            }

            sendPhoto($file, $acc_text, json_encode(['inline_keyboard' => [[['text' => "صفحه اصلی 🏘", 'callback_data' => "mainMenu"]]]]), "HTML", $user_id);
            if (file_exists($file)) unlink($file);
        }

        $keys = json_encode(['inline_keyboard' => [[['text' => "خرید از درگاه $gateType 💞", 'callback_data' => 'NetFreedomVPN']]]]);
        $user_info = Bot('getChat', ['chat_id' => $user_id])->result;
        $first_name = $user_info->first_name ?? 'کاربر';
        $username = $user_info->username ?? 'ندارد';

        sendMessage("\n💚 تمدید اکانت ( با درگاه )\n\n🧝‍♂️آیدی کاربر: $user_id\n🛡اسم کاربر: $first_name\n🔖 نام کاربری: @$username\n💰مبلغ پرداختی: $amount تومان\n🔮 نام سرویس: $remark\n", $keys, "html", $admin);
        exit;

