<?php
    // error_reporting(E_ALL);
    // ini_set('display_errors', 1);

    require_once $_SERVER['DOCUMENT_ROOT'] . "/core/config/config.php";
    
    $mysql = new mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_database'], $config['db_port']);

    if(isset($_GET['ref'])) {
        $ref = $mysql->query("SELECT * FROM `referal` WHERE `Nickname` = '".mysqli_real_escape_string($mysql, $_GET['ref'])."'");
        $ref = $ref->fetch_assoc();

        if ($ref) {
            $newCountClick = intval($ref['CountClick'])+1;
            $mysql->query("UPDATE `referal` SET `CountClick` = ".$newCountClick." WHERE `Nickname` = '".mysqli_real_escape_string($mysql, $_GET['ref'])."'");
            setcookie('ref', $_GET['ref'], time() + 3600*24, "/");
        }
    }
    else {
        $ref = $mysql->query("SELECT * FROM `referal` WHERE `Nickname` = 'all'");
        $ref = $ref->fetch_assoc();

        if ($ref) {
            $newCountClick = intval($ref['CountClick'])+1;
            $mysql->query("UPDATE `referal` SET `CountClick` = ".$newCountClick." WHERE `Nickname` = 'all'");
        }
    }
?>

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta property="og:image" content="https://greentech-rp.com/resource/img/logo.png">
    <meta name="twitter:image:src" content="https://greentech-rp.com/resource/img/logo.png">
    <title>GreenTech RolePlay</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap"></noscript>
    <link rel="icon" type="image/png" href="/favicon.png"/>
    <link rel="apple-touch-icon" href="/favicon.png">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.14.0/css/all.css">
	<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.14.0/css/v4-shims.css">
    <link rel="stylesheet" href="/public/css/general.css">
    <link rel="stylesheet" href="/public/css/main.css">
    <link rel="stylesheet" href="/public/css/header.css">
    <link rel="stylesheet" href="/public/css/footer.css">
    <link rel="stylesheet" href="/public/css/aos.css">
	<script src="/public/js/aos.js"></script>
	<script src="/public/js/jquery_3.7.1.min.js"
        integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g=="
        crossorigin="anonymous">
    </script>
    <script src="/public/js/general.js"></script>
</head>
<body>
    <?php include $_SERVER['DOCUMENT_ROOT']."/php/header.php";?>
    <main>
        <div class="main-block1 bg-tint">
            <div class="main-text-container">
                <h1 class="main-block1-text">Начни играть в CRMP на проекте GreenTech RolePlay прямо сейчас!</h1>
                <p class="main-block1-text2">Это игровой сервер GTA Criminal Russia, который удивит тебя и твоих друзей.</p>
                <div class="main-block1-buttons-container">
                    <div class="main-block1-button1" onclick="toStart()">Начать играть</div>
                    <a href="https://www.youtube.com/watch?v=An56qGXVGLk" class="main-block1-button2">Видео о нас</a>
                </div>
                <div class="main-block1-online-container">
                    <div class="main-block1-online-text">игроков онлайн</div>
                    <div class="main-block1-online-block">
                        <div class="main-block1-online-circle"></div>
                        <?php 
                        require_once $_SERVER['DOCUMENT_ROOT'] . '/core/ServerInfoManager.php';
                        $serverInfo = ServerInfoManager::get();
                        $online = $serverInfo->isValid() ? $serverInfo->getPlayers() : 0;
                        $maxOnline = $serverInfo->isValid() ? $serverInfo->getMaxPlayers() : 500;
                        ?>
                        <div class="main-block1-online"><span class="online-var"><?php echo $online; ?> / </span><?php echo $maxOnline; ?></div>
                    </div>
                </div>
            </div>
        </div>
        <div class="wrapper">
            <div class="main-block2">
                <div class="shape1"></div>
                <div class="main-block2-text-block">
                    <h2 class="main-block2-text">Начать игру легко и проще простого!</h2>
                    <p class="main-block2-text2">Для начала игры вам нужна наша сборка.<br>В ней идет сама игра, мультиплеер и наш лаунчер.</p>
                    <a href="https://greentech-samp-cdn.itcloud.io/Setup.exe" download class="main-block2-button" onclick="downloadClick()">Скачать лаунчер <i class="fa fa-download" aria-hidden="true"></i></a>
                </div>
                <div class="main-block2-laucher-block">
                    <img src="/resource/img/launcher_new.png" alt="Лаунчер" class="main-block2-launcher-img" loading="lazy">
                    <div class="main-block2-launcher-bg"></div>
                    <div class="main-block2-launcher-info-block">
                        <img src="/resource/img/info.png" alt="Информация" class="main-block2-launcher-info-img" loading="lazy">
                        <div class="main-block2-launcher-info-text-block">
                            <p class="main-block2-launcher-info-text1">Столкнулись с проблемой?</p>
                            <p class="main-block2-launcher-info-text2">Мы собрали в одну <a href="https://vk.com/@greentech_rp-izvestnye-problemy-i-ih-resheniya">статью</a> все известные нам проблемы и их решения.</p>
                        </div>
                    </div>
                </div>
            </div>
            <div class="main-block3">
                <div class="shape2"></div>
                <div class="main-block3-text-block">
                    <h3 class="main-block3-text1">СЛЕДИ ЗА НАМИ</h3>
                    <p class="main-block3-text2">Узнавай первый о новостях и акциях</p>
                </div>
                <div class="main-block3-blocks-container">
                    <div class="main-block3-block">
                        <div class="main-block3-block-title">Официальная группа ВКонтакте</div>
                        <div class="main-block3-block-text">Все главные новости проекта</div>
                        <div class="main-block3-block-subs">43K+ подписчиков</div>
                        <a href="https://vk.com/greentech_rp" class="main-block3-block-button">Подписаться</a>
                    </div>
                    <div class="main-block3-block">
                        <div class="main-block3-block-title">Свободная группа ВКонтакте</div>
                        <div class="main-block3-block-text">Общение игроков и розыгрыши</div>
                        <div class="main-block3-block-subs">10K+ подписчиков</div>
                        <a href="https://vk.com/greentech_roleplay_free" class="main-block3-block-button">Вступить</a>
                    </div>
                    <div class="main-block3-block">
                        <div class="main-block3-block-title">Официальный Youtube канал</div>
                        <div class="main-block3-block-text">Стримы и видео на проекте</div>
                        <div class="main-block3-block-subs">18K+ подписчиков</div>
                        <a href="https://www.youtube.com/@GreenTechOfficialChannel" class="main-block3-block-button">Подписаться</a>
                    </div>
                    <div class="main-block3-block">
                        <div class="main-block3-block-title">Официальный Discord канал</div>
                        <div class="main-block3-block-text">Канал для общения с игроками</div>
                        <div class="main-block3-block-subs">4K+ подписчиков</div>
                        <a href="https://discord.gg/YxmyH4QxfR" class="main-block3-block-button">Вступить</a>
                    </div>
                </div>
            </div>
            <div class="main-block4">
                <h4 class="main-block4-title">О нашем проекте</h4>
                <p class="main-block4-text">GreenTech RolePlay - это игровой сервер в GTA Criminal Russia, который начал свою деятельность еще в 2012 году и с тех пор стал одним из наиболее популярных мест для ролевой игры на русскоязычной карте. Наш сервер предлагает уникальный и захватывающий опыт, сочетая в себе долголетний опыт администрации и страсть игроков к ролевой игре.<br><br>Особенности сервера GreenTech RolePlay включают в себя:<br><br><span class="text-main"><span class="text-title">1. Ролевой игровой процесс:</span> Наш сервер предлагает хороший уровень ролевой игры, где каждый игрок может воплотить свои идеи и фантазии в жизнь. Здесь вы можете стать кем угодно: от успешного бизнесмена до полицейского, от таксиста до криминального авторитета. Все действия игроков имеют последствия, и каждое решение влияет на игровой мир.</span><br><br><span class="text-main"><span class="text-title">2. Активное сообщество:</span> Наш сервер имеет большое и дружное сообщество игроков, которые всегда рады новым участникам. Здесь вы можете найти друзей, союзников и противников, а также принять участие в различных событиях, организованных другими игроками или администрацией.</span><br><br><span class="text-main"><span class="text-title">3. Постоянное развитие:</span> Мы постоянно работаем над улучшением сервера, добавляя новые возможности, исправляя ошибки и слушая отзывы наших игроков. Мы стремимся сделать игровой процесс более увлекательным и захватывающим для всех участников.</span><br><br>Присоединяйтесь к GreenTech RolePlay и окунитесь в захватывающий мир ролевой игры!</p>
                <div class="shape3"></div>
            </div>
        </div>
    </main>
    <?php include $_SERVER['DOCUMENT_ROOT']."/php/footer.php";?>
</body>
</html>
<script>
    // Гео-DNS, by @temasm
    async function initializeGeoDns() {
        const GEO_DNS_DOMAIN = 'geo.greentech-rp.com';
        const DOWNLOAD_BUTTON_SELECTOR = '.main-block2-button';
        const BASE_CDN_DOMAIN = 'greentech-samp-cdn.itcloud.io';
        
        // Список DoH серверов для фоллбека
        const DOH_SERVERS = [
            'https://8.8.8.8/resolve',
            'https://1.1.1.1/dns-query',
            'https://9.9.9.9/dns-query'
        ];
        
        try {
            const region = await resolveGeoRegion(GEO_DNS_DOMAIN, DOH_SERVERS);
            
            if (region && region.toUpperCase() !== 'NULL') {
                const regionLower = region.toLowerCase();
                console.log(`Определен географический регион: ${region}, используем региональный CDN с суффиксом: -${regionLower}`);
                
                const downloadButton = document.querySelector(DOWNLOAD_BUTTON_SELECTOR);
                if (downloadButton) {
                    const currentHref = downloadButton.href;
                    const newHref = modifyCdnUrl(currentHref, BASE_CDN_DOMAIN, regionLower);
                    
                    if (newHref !== currentHref) {
                        downloadButton.href = newHref;
                        console.log(`Ссылка скачивания обновлена: ${currentHref} -> ${newHref}`);
                    }
                }
            } else {
                console.log('Географический регион не определен или равен NULL, используем основной CDN');
            }
        } catch (error) {
            console.error('Ошибка при определении географического региона:', error);
        }
    }
    
    async function resolveGeoRegion(domain, dohServers) {
        for (let i = 0; i < dohServers.length; i++) {
            try {
                console.log(`Попытка DNS запроса через сервер #${i + 1} (${dohServers[i]})`);
                
                const url = dohServers[i].includes('8.8.8.8') 
                    ? `${dohServers[i]}?name=${domain}&type=TXT`
                    : `${dohServers[i]}?name=${domain}&type=TXT`;
                
                const response = await fetch(url, {
                    headers: {
                        'Accept': 'application/dns-json'
                    }
                });
                
                if (!response.ok) {
                    throw new Error(`HTTP ${response.status}`);
                }
                
                const data = await response.json();
                
                if (data.Answer && data.Answer.length > 0) {
                    for (const answer of data.Answer) {
                        if (answer.type === 16) { // TXT record type
                            const txtValue = answer.data.replace(/"/g, '').trim();
                            console.log(`Успешный DNS запрос через сервер #${i + 1}, получено значение: ${txtValue}`);
                            return txtValue;
                        }
                    }
                }
                
                console.log(`DNS сервер #${i + 1} не вернул TXT записей`);
                
            } catch (error) {
                console.error(`Ошибка DNS запроса через сервер #${i + 1} (${dohServers[i]}):`, error.message);
                
                if (i < dohServers.length - 1) {
                    console.log(`Переключаемся на резервный DNS сервер #${i + 2}`);
                    continue;
                }
            }
        }
        
        throw new Error('Все DNS серверы недоступны');
    }
    
    function modifyCdnUrl(url, baseCdnDomain, region) {
        try {
            if (!url || !url.includes(baseCdnDomain) || !region) {
                return url;
            }
            
            const regionalDomain = insertGeoRegionInDomain(baseCdnDomain, region);
            return url.replace(baseCdnDomain, regionalDomain);
        } catch (error) {
            console.error('Ошибка при модификации URL:', error);
            return url;
        }
    }
    
    function insertGeoRegionInDomain(domain, region) {
        try {
            if (!domain || !region) {
                return domain;
            }
            
            const parts = domain.split('.');
            
            if (parts.length < 2) {
                return domain;
            }
            
            const mainDomain = parts.slice(-2).join('.');
            const subdomain = parts.slice(0, -2).join('.');
            
            return `${subdomain}-${region}.${mainDomain}`;
        } catch (error) {
            console.error('Ошибка при вставке региона в домен:', error);
            return domain;
        }
    }
    
    // Инициализация после загрузки страницы
    document.addEventListener('DOMContentLoaded', function() {
        initializeGeoDns();
        
        if (window.location.hash === '#start') {
            document.querySelector('.main-block2-button').scrollIntoView({
                behavior: 'auto',
                block: 'center',
                inline: 'center'
            });
        }
    });
</script>