<?php
$data = file_get_contents('php://input');
require_once(__DIR__.'/core/DB.php');
require_once(__DIR__.'/core/helpers.php'); 
require_once(__DIR__.'/core/Bottele.php');

$DVR = new DB(); 
$DVR->connect();

$bot_token = $DVR->site('token_bot_2');
$bot = new Bot($bot_token);
$json = json_decode($data, true);

if (isset($json['message']['text'])) {
    $message = $json['message']['text'];
    $chatId = $json['message']['chat']['id'];
    $messageId = $json['message']['message_id'];
    $messageWithoutSpaces = str_replace(' ', '', $message);

    // Kiểm tra nếu là link Facebook hợp lệ
    if (filter_var($message, FILTER_VALIDATE_URL) && strpos($message, 'facebook.com') !== false) {
        $response = LayId($message);

        if (isset($response['id'])) {
            $fbId = $response['id'];

            
            
            $linkQueryCards = "SELECT * FROM gdv WHERE id_fb = '$fbId'";
            $linkRowsCards = $DVR->get_list($linkQueryCards);

            
            $linkQueryTicket = "SELECT * FROM tocaoscam WHERE linkfb = '$message'";
            $linkRowsTicket = $DVR->get_list($linkQueryTicket);

            if (!empty($linkRowsCards)) {
                $responseText = "🕵 Fb Real : \"" . $linkRowsCards[0]['name'] . "\"\n⭐️ GDV Đã Cọc Với Số Tiền " . number_format($linkRowsCards[0]['money']) . " VNĐ";
                foreach ($linkRowsCards as $row) {
                    $responseText .= "\nTại " . $_SERVER['HTTP_HOST'];
                    $responseText .= "\n📷 Avatar: " . htmlspecialchars($row['image'], ENT_QUOTES, 'UTF-8');
                    $responseText .= "\n🎖 Link FB: " . htmlspecialchars($row['linkfb'], ENT_QUOTES, 'UTF-8');
                    $responseText .= "\n🎖 Check Cọc: https://" . $_SERVER['HTTP_HOST'] . "/admin/" . $row['code'] . "\n";
                }
                $bot->sendMessage($chatId, $responseText, $messageId);
            } elseif (!empty($linkRowsTicket)) {
                $responseText = "⚠️ CẢNH BÁO: ĐÂY LÀ FB SCAM\n";
                foreach ($linkRowsTicket as $row) {
                    $responseText .= "🚫 Hãy block ngay\n🔖 https://".$_SERVER['HTTP_HOST']."/scams/" . $row['code'] . ".html\n";        
                }
                $bot->sendMessage($chatId, $responseText, $messageId);
            } else {
            
                $bot->sendMessage($chatId, "🕵 Đây không phải là link FB của admin " . $_SERVER['HTTP_HOST'] . "\n ⚠️ Hãy trung gian khi giao dịch để tránh bị scam!", $messageId);
            }
        } else {
            $bot->sendMessage($chatId, "🕵 Đây không phải là link FB của admin " . $_SERVER['HTTP_HOST'] . "\n ⚠️ Hãy trung gian khi giao dịch để tránh bị scam!", $messageId);
        }
    } 
    // Kiểm tra nếu là link website khác
    elseif (filter_var($message, FILTER_VALIDATE_URL) && strpos($message, $_SERVER['HTTP_HOST']) === false) {
        $query = "SELECT * FROM tocaoscam WHERE username = '$message' AND loai = 'web'";
        $rows = $DVR->get_list($query);

        $responseText = "⚠️ Không Xác Định, Hãy Cẩn Thận Khi Truy Cập \n" . $message . "‼️";
        if (!empty($rows)) {
            $responseText = "🚫 Đây Là Trang Web Lừa Đảo 📛\n⚠️ Hãy Cảnh giác Với Website đó\n";
            foreach ($rows as $row) {
                $responseText .= "🔖 https://".$_SERVER['HTTP_HOST']."/scams/" . $row['code'] . ".html\n";
            }
        }
        $bot->sendMessage($chatId, $responseText, $messageId);
    } 
    // Kiểm tra số điện thoại hoặc số tài khoản
    elseif (ctype_digit($messageWithoutSpaces) && strpos($message, ' ') === false) {
        $query = "SELECT * FROM tocaoscam WHERE sdt = '$message' OR stk = '$message'";
        $rows = $DVR->get_list($query);

        $responseText = "🕵️ $message Chưa Có Đơn Tố Cáo Nào \n🛡 Tại: " . $_SERVER['HTTP_HOST'];
        if (!empty($rows)) {
            $responseText = "🕵 $message Đã Có Đơn Tố Cáo 📛\n⚠️ Hãy cảnh giác với stk, sđt này !!!\n";
            foreach ($rows as $row) {
                $responseText .= "🔖 https://".$_SERVER['HTTP_HOST']."/scams/" . $row['code'] . ".html\n";
            }
        }
        $bot->sendMessage($chatId, $responseText, $messageId);
    }
}

function LayId($urlFb) {
    $finalUrl = get_final_url($urlFb);
    if (!$finalUrl) {
        return null;
    }
    $uid = get_uid_from_profile($finalUrl);
    if ($uid) {
        return ['id' => $uid];
    }
    return null;
}

function get_final_url($url) {
    $ch = curl_init($url);
    curl_setopt_array($ch, array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HEADER => true,
        CURLOPT_NOBODY => true,
        CURLOPT_USERAGENT => 'Mozilla/5.0'
    ));
    curl_exec($ch);
    $finalUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    curl_close($ch);
    return $finalUrl;
}

function get_uid_from_profile($url) {
    $ch = curl_init($url);
    curl_setopt_array($ch, array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_USERAGENT => 'Mozilla/5.0'
    ));
    $html = curl_exec($ch);
    curl_close($ch);

    if (preg_match('/"userID":"(\d+)"/', $html, $matches)) {
        return $matches[1];
    }

    if (preg_match('/entity_id":"(\d+)"/', $html, $matches)) {
        return $matches[1];
    }

    return null;
}
?>
