<?php
	/* ══════════════════════════════════════════════════════════
	   TELEGRAM NOTIFY HELPER
	   Admin/Owner-কে নতুন Deposit Request এলে সাথে সাথে Telegram-এ
	   Notification পাঠানোর জন্য একটা Reusable Function।

	   ব্যবহারের আগে Admin Panel-এর "Telegram Alert Settings" Page
	   থেকে Bot Token ও Chat ID Save করে নিতে হবে।

	   ⚠️ এই Function-এ Timeout সেট করা আছে (আগে IndianPay/Bank-List
	   API-তে Timeout না থাকায় যে সমস্যা হয়েছিল, সেই একই ভুল যেন
	   এখানে না হয়)। Telegram Server Slow/Dead হলেও Deposit Request
	   কখনো আটকে থাকবে না — বড়জোর Notification পাঠানো Skip হবে।
	   ══════════════════════════════════════════════════════════ */

	if (!function_exists('sendTelegramAlert')) {
		function sendTelegramAlert($conn, $text) {
			$settingsQ = mysqli_query($conn,
				"SELECT setting_key, setting_value FROM site_settings WHERE setting_key IN ('telegram_bot_token','telegram_chat_id')"
			);
			if (!$settingsQ) { return false; }

			$settings = [];
			while ($row = mysqli_fetch_assoc($settingsQ)) {
				$settings[$row['setting_key']] = $row['setting_value'];
			}

			$botToken = $settings['telegram_bot_token'] ?? '';
			$chatId   = $settings['telegram_chat_id'] ?? '';

			if (empty($botToken) || empty($chatId)) {
				// Setup করা হয়নি — চুপচাপ Skip, কোনো Error দেখাবে না,
				// Deposit Flow-এ কোনো বাধা তৈরি করবে না।
				return false;
			}

			$url = "https://api.telegram.org/bot" . $botToken . "/sendMessage";
			$data = [
				'chat_id' => $chatId,
				'text' => $text,
				'parse_mode' => 'HTML'
			];

			$ch = curl_init($url);
			curl_setopt($ch, CURLOPT_POST, true);
			curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_TIMEOUT, 6);
			curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
			$response = curl_exec($ch);
			curl_close($ch);

			return $response !== false;
		}
	}
?>
