Line 11: Open to level 1 | 'function processTelegramUpdate($update) {'
Line 15: Open to level 2 | "if (isset($update['message'])) {"
Line 30: Open to level 3 | 'if (!$user) {'
Line 35: Open to level 4 | "if (strpos($text, '/start ref_') === 0) {"
Line 37: Open to level 5 | 'if (isset($ref_parts[1]) && is_numeric($ref_parts[1])) {'
Line 40: Open to level 6 | 'if ($potential_referrer !== $chat_id) {'
Line 44: Open to level 7 | 'if ($stmtCheckRef->fetchColumn() > 0) {'
Line 46: Close to level 6 | '}'
Line 47: Close to level 5 | '}'
Line 48: Close to level 4 | '}'
Line 49: Close to level 3 | '}'
Line 61: Open to level 4 | 'if ($referrer_id) {'
Line 62: Open to level 5 | 'sendTelegramMessage($referrer_id, "👥 *New Referral!*\\n\\n@{$u'
Line 62: Close to level 4 | 'sendTelegramMessage($referrer_id, "👥 *New Referral!*\\n\\n@{$u'
Line 63: Close to level 3 | '}'
Line 64: Close to level 2 | '} else {'
Line 64: Open to level 3 | '} else {'
Line 66: Open to level 4 | "if ($user['username'] !== $username || $user['first_name'] !"
Line 72: Close to level 3 | '}'
Line 73: Close to level 2 | '}'
Line 76: Open to level 3 | "if (strpos($text, '/start') === 0) {"
Line 81: Open to level 4 | 'if ($is_new_user) {'
Line 85: Open to level 5 | 'if ($welcome_img && file_exists($welcome_img)) {'
Line 86: Open to level 6 | '$default_welcome = "👋 *Assalamu Alaikum, {name}! Welcome to '
Line 86: Close to level 5 | '$default_welcome = "👋 *Assalamu Alaikum, {name}! Welcome to '
Line 90: Open to level 6 | 'if (empty(trim($caption))) {'
Line 92: Close to level 5 | '}'
Line 97: Open to level 6 | "['{name}', '{username}', '{id}'],"
Line 97: Close to level 5 | "['{name}', '{username}', '{id}'],"
Line 97: Open to level 6 | "['{name}', '{username}', '{id}'],"
Line 97: Close to level 5 | "['{name}', '{username}', '{id}'],"
Line 97: Open to level 6 | "['{name}', '{username}', '{id}'],"
Line 97: Close to level 5 | "['{name}', '{username}', '{id}'],"
Line 106: Close to level 4 | '}'
Line 107: Close to level 3 | '}'
Line 111: Close to level 2 | '}'
Line 113: Open to level 3 | "if (isset($message['reply_to_message']) && strpos($message['"
Line 115: Open to level 4 | 'if ($amount <= 0) {'
Line 118: Close to level 3 | '}'
Line 120: Open to level 4 | 'if ($paymentUrl) {'
Line 122: Close to level 3 | '} else {'
Line 122: Open to level 4 | '} else {'
Line 124: Close to level 3 | '}'
Line 126: Close to level 2 | '}'
Line 129: Open to level 3 | "if (strpos($text, '/deposit') === 0) {"
Line 132: Open to level 4 | 'if (count($parts) < 4) {'
Line 135: Close to level 3 | '}'
Line 141: Open to level 4 | 'if ($amount <= 0) {'
Line 144: Close to level 3 | '}'
Line 146: Open to level 4 | 'if (empty($txn_id)) {'
Line 149: Close to level 3 | '}'
Line 154: Open to level 4 | 'if ($stmtTxCheck->fetchColumn() > 0) {'
Line 157: Close to level 3 | '}'
Line 161: Open to level 4 | "if ($stmtInsDep->execute([$user['id'], $amount, strtoupper($"
Line 168: Close to level 3 | '} else {'
Line 168: Open to level 4 | '} else {'
Line 170: Close to level 3 | '}'
Line 172: Close to level 2 | '}'
Line 176: Close to level 1 | '}'
Line 179: Open to level 2 | "if (isset($update['callback_query'])) {"
Line 191: Open to level 3 | 'if (!$user) {'
Line 194: Close to level 2 | '}'
Line 199: Open to level 3 | "if ($data === 'main_menu') {"
Line 236: Open to level 4 | "if (isset($callback['message']['photo'])) {"
Line 241: Close to level 3 | '} else {'
Line 241: Open to level 4 | '} else {'
Line 244: Close to level 3 | '}'
Line 248: Close to level 2 | '}'
Line 251: Open to level 3 | "if ($data === 'main_reseller') {"
Line 255: Open to level 4 | "if ($user['role'] === 'reseller') {"
Line 257: Close to level 3 | '} else {'
Line 257: Open to level 4 | '} else {'
Line 264: Close to level 3 | '}'
Line 272: Close to level 2 | '}'
Line 275: Open to level 3 | "if ($data === 'main_orders') {"
Line 285: Open to level 4 | 'if (count($orders) === 0) {'
Line 287: Close to level 3 | '} else {'
Line 287: Open to level 4 | '} else {'
Line 289: Open to level 5 | 'foreach ($orders as $order) {'
Line 291: Open to level 6 | '$text_msg .= "📦 *Order #{$order[\'id\']}* - {$order[\'product_n'
Line 291: Close to level 5 | '$text_msg .= "📦 *Order #{$order[\'id\']}* - {$order[\'product_n'
Line 291: Open to level 6 | '$text_msg .= "📦 *Order #{$order[\'id\']}* - {$order[\'product_n'
Line 291: Close to level 5 | '$text_msg .= "📦 *Order #{$order[\'id\']}* - {$order[\'product_n'
Line 292: Open to level 6 | '. "▫️ *Duration*: {$order[\'duration_name\']}\\n"'
Line 292: Close to level 5 | '. "▫️ *Duration*: {$order[\'duration_name\']}\\n"'
Line 294: Open to level 6 | '. "▫️ *Status*: {$status_emoji} " . strtoupper($order[\'statu'
Line 294: Close to level 5 | '. "▫️ *Status*: {$status_emoji} " . strtoupper($order[\'statu'
Line 296: Open to level 6 | "if ($order['status'] === 'completed') {"
Line 297: Open to level 7 | '$text_msg .= "▫️ 🔑 *Key*: `{$order[\'license_key_text\']}`\\n";'
Line 297: Close to level 6 | '$text_msg .= "▫️ 🔑 *Key*: `{$order[\'license_key_text\']}`\\n";'
Line 298: Close to level 5 | "} elseif ($order['status'] === 'waiting') {"
Line 298: Open to level 6 | "} elseif ($order['status'] === 'waiting') {"
Line 300: Close to level 5 | '}'
Line 302: Close to level 4 | '}'
Line 303: Close to level 3 | '}'
Line 314: Close to level 2 | '}'
Line 317: Open to level 3 | "if ($data === 'main_profile') {"
Line 338: Open to level 4 | '. "🪪 *Telegram ID:* `{$chat_id}`\\n\\n"'
Line 338: Close to level 3 | '. "🪪 *Telegram ID:* `{$chat_id}`\\n\\n"'
Line 340: Open to level 4 | '. "💳 *Wallet Balance:* *{$bal_text}*\\n"'
Line 340: Close to level 3 | '. "💳 *Wallet Balance:* *{$bal_text}*\\n"'
Line 341: Open to level 4 | '. "🎖 *Account Role:* {$role_text}\\n\\n"'
Line 341: Close to level 3 | '. "🎖 *Account Role:* {$role_text}\\n\\n"'
Line 343: Open to level 4 | '. "🛍 *Total Orders:* {$total_orders}\\n"'
Line 343: Close to level 3 | '. "🛍 *Total Orders:* {$total_orders}\\n"'
Line 344: Open to level 4 | '. "👥 *Total Referrals:* {$total_referrals}\\n"'
Line 344: Close to level 3 | '. "👥 *Total Referrals:* {$total_referrals}\\n"'
Line 355: Close to level 2 | '}'
Line 358: Open to level 3 | "if ($data === 'main_add_balance') {"
Line 368: Close to level 2 | '}'
Line 369: Close to level 1 | '}'
Line 372: Open to level 2 | "if ($data === 'main_referral') {"
Line 380: Open to level 3 | '$ref_link = "https://t.me/{$bot_user}?start=ref_{$chat_id}";'
Line 380: Close to level 2 | '$ref_link = "https://t.me/{$bot_user}?start=ref_{$chat_id}";'
Line 380: Open to level 3 | '$ref_link = "https://t.me/{$bot_user}?start=ref_{$chat_id}";'
Line 380: Close to level 2 | '$ref_link = "https://t.me/{$bot_user}?start=ref_{$chat_id}";'
Line 383: Open to level 3 | '. "Invite users to our bot and earn **{$ref_percent}%** comm'
Line 383: Close to level 2 | '. "Invite users to our bot and earn **{$ref_percent}%** comm'
Line 384: Open to level 3 | '. "🔗 *Your Invitation Link*:\\n`{$ref_link}`\\n\\n"'
Line 384: Close to level 2 | '. "🔗 *Your Invitation Link*:\\n`{$ref_link}`\\n\\n"'
Line 385: Open to level 3 | '. "👥 *Total Referrals*: {$total_referrals} Users";'
Line 385: Close to level 2 | '. "👥 *Total Referrals*: {$total_referrals} Users";'
Line 396: Close to level 1 | '}'
Line 399: Open to level 2 | "if ($data === 'main_how_to_use') {"
Line 411: Close to level 1 | '}'
Line 414: Open to level 2 | "if ($data === 'main_lucky_spin') {"
Line 416: Open to level 3 | "if ($user['last_spin']) {"
Line 419: Open to level 4 | 'if ($time_diff < 86400) {'
Line 425: Close to level 3 | '}'
Line 426: Close to level 2 | '}'
Line 428: Open to level 3 | 'if ($cooldown) {'
Line 429: Open to level 4 | '$text_msg = "🎡 *Lucky Spin Cooldown*\\n\\nYou have already spu'
Line 429: Close to level 3 | '$text_msg = "🎡 *Lucky Spin Cooldown*\\n\\nYou have already spu'
Line 429: Open to level 4 | '$text_msg = "🎡 *Lucky Spin Cooldown*\\n\\nYou have already spu'
Line 429: Close to level 3 | '$text_msg = "🎡 *Lucky Spin Cooldown*\\n\\nYou have already spu'
Line 429: Open to level 4 | '$text_msg = "🎡 *Lucky Spin Cooldown*\\n\\nYou have already spu'
Line 429: Close to level 3 | '$text_msg = "🎡 *Lucky Spin Cooldown*\\n\\nYou have already spu'
Line 430: Close to level 2 | '} else {'
Line 430: Open to level 3 | '} else {'
Line 434: Open to level 4 | 'if (count($rewards) === 0) {'
Line 436: Close to level 3 | '} else {'
Line 436: Open to level 4 | '} else {'
Line 441: Open to level 5 | 'foreach ($rewards as $r) {'
Line 443: Open to level 6 | 'if ($rand <= $cumulative) {'
Line 446: Close to level 5 | '}'
Line 447: Close to level 4 | '}'
Line 449: Open to level 5 | 'if (!$selected_reward) {'
Line 451: Close to level 4 | '}'
Line 454: Open to level 5 | "if ($selected_reward['reward_type'] === 'balance') {"
Line 464: Close to level 4 | '} else {'
Line 464: Open to level 5 | '} else {'
Line 472: Close to level 4 | '}'
Line 473: Close to level 3 | '}'
Line 474: Close to level 2 | '}'
Line 485: Close to level 1 | '}'
Line 490: Open to level 2 | "if (strpos($data, 'cat_') === 0) {"
Line 506: Open to level 3 | 'foreach ($products as $p) {'
Line 509: Open to level 4 | 'if ($stmtPlCount->fetchColumn() > 0) {'
Line 511: Close to level 3 | '}'
Line 512: Close to level 2 | '}'
Line 517: Open to level 3 | 'if (!empty($cat_desc)) {'
Line 519: Close to level 2 | '}'
Line 524: Open to level 3 | "if (isset($callback['message']['photo'])) {"
Line 527: Close to level 2 | '} else {'
Line 527: Open to level 3 | '} else {'
Line 529: Close to level 2 | '}'
Line 532: Close to level 1 | '}'
Line 535: Open to level 2 | "if ($data === 'back_categories') {"
Line 540: Open to level 3 | 'foreach ($categories as $cat) {'
Line 545: Open to level 4 | 'if ($prod_count > 0) {'
Line 547: Close to level 3 | '}'
Line 548: Close to level 2 | '}'
Line 555: Open to level 3 | "if (isset($callback['message']['photo'])) {"
Line 558: Close to level 2 | '} else {'
Line 558: Open to level 3 | '} else {'
Line 560: Close to level 2 | '}'
Line 563: Close to level 1 | '}'
Line 566: Open to level 2 | "if (strpos($data, 'prod_') === 0) {"
Line 577: Open to level 3 | 'if (!$product) {'
Line 580: Close to level 2 | '}'
Line 588: Open to level 3 | 'foreach ($plans as $pl) {'
Line 596: Open to level 4 | '$buttons[] = [[\'text\' => "⚡ {$pl[\'duration_name\']} - " . for'
Line 596: Close to level 3 | '$buttons[] = [[\'text\' => "⚡ {$pl[\'duration_name\']} - " . for'
Line 597: Close to level 2 | '}'
Line 609: Open to level 3 | "if ($image_path && file_exists(__DIR__ . '/../' . $image_pat"
Line 612: Close to level 2 | '} else {'
Line 612: Open to level 3 | '} else {'
Line 613: Open to level 4 | "if (isset($callback['message']['photo'])) {"
Line 616: Close to level 3 | '} else {'
Line 616: Open to level 4 | '} else {'
Line 618: Close to level 3 | '}'
Line 619: Close to level 2 | '}'
Line 622: Close to level 1 | '}'
Line 625: Open to level 2 | "if (strpos($data, 'plan_') === 0) {"
Line 636: Open to level 3 | 'if (!$plan) {'
Line 639: Close to level 2 | '}'
Line 656: Open to level 3 | 'if ($keys_left > 0) {'
Line 657: Open to level 4 | '$text_msg .= "🟢 *Stock*: **{$keys_left} keys** available in '
Line 657: Close to level 3 | '$text_msg .= "🟢 *Stock*: **{$keys_left} keys** available in '
Line 658: Close to level 2 | '} else {'
Line 658: Open to level 3 | '} else {'
Line 660: Close to level 2 | '}'
Line 663: Open to level 3 | "if (isset($callback['message']['photo'])) {"
Line 666: Close to level 2 | '} else {'
Line 666: Open to level 3 | '} else {'
Line 668: Close to level 2 | '}'
Line 671: Close to level 1 | '}'
Line 674: Open to level 2 | "if (strpos($data, 'buy_') === 0) {"
Line 684: Open to level 3 | 'if (!$plan) {'
Line 687: Close to level 2 | '}'
Line 691: Open to level 3 | "if ($user['balance'] < $price) {"
Line 694: Close to level 2 | '}'
Line 697: Open to level 3 | 'try {'
Line 706: Open to level 4 | 'if ($key) {'
Line 717: Open to level 5 | '. "▫️ *Order ID*: #{$order_id}\\n"'
Line 717: Close to level 4 | '. "▫️ *Order ID*: #{$order_id}\\n"'
Line 732: Close to level 3 | '} else {'
Line 732: Open to level 4 | '} else {'
Line 740: Open to level 5 | '. "▫️ *Order ID*: #{$order_id}\\n"'
Line 740: Close to level 4 | '. "▫️ *Order ID*: #{$order_id}\\n"'
Line 755: Close to level 3 | '}'
Line 756: Close to level 2 | '} catch (Exception $e) {'
Line 756: Open to level 3 | '} catch (Exception $e) {'
Line 759: Close to level 2 | '}'
Line 761: Close to level 1 | '}'
Line 764: Open to level 2 | "if ($data === 'confirm_reseller') {"
Line 765: Open to level 3 | "if ($user['role'] === 'reseller') {"
Line 768: Close to level 2 | '}'
Line 772: Open to level 3 | "if ($user['balance'] < $reseller_cost) {"
Line 775: Close to level 2 | '}'
Line 778: Open to level 3 | 'try {'
Line 803: Close to level 2 | '} catch (Exception $e) {'
Line 803: Open to level 3 | '} catch (Exception $e) {'
Line 806: Close to level 2 | '}'
Line 808: Close to level 1 | '}'
Line 809: Close to level 0 | '}'
Line 810: Close to level -1 | '}'
Line 815: Open to level 0 | 'function sendMainMenu($chat_id, $first_name) {'
Line 817: Open to level 1 | '. "👋 Welcome back, *{$first_name}*!\\n\\n"'
Line 817: Close to level 0 | '. "👋 Welcome back, *{$first_name}*!\\n\\n"'
Line 853: Close to level -1 | '}'
Line 858: Open to level 0 | 'function getBotUsername() {'
Line 862: Open to level 1 | 'if (empty($username)) {'
Line 864: Open to level 2 | "if (!empty($token) && $token !== 'YOUR_TELEGRAM_BOT_TOKEN') "
Line 874: Open to level 3 | "if ($resp && isset($resp['ok']) && $resp['ok'] === true) {"
Line 877: Close to level 2 | '}'
Line 878: Close to level 1 | '}'
Line 879: Close to level 0 | '}'
Line 882: Close to level -1 | '}'