diff --git a/API.js b/API.js deleted file mode 120000 index 277130b..0000000 --- a/API.js +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/API.js \ No newline at end of file diff --git a/API.js b/API.js new file mode 100644 index 0000000..b5d5de0 --- /dev/null +++ b/API.js @@ -0,0 +1,165 @@ +$(async function() { + RequestAPI(); + CheckProfile(); +}); + +let servers_active = ` +<div class="col text-center rounded border border-dark gy-3" style="background-color: #E2EFDE;"> + <h2>Где сейчас играют карлики</h2> +</div> +` + +let servers_inactive = ` +<div class="col text-center rounded border border-dark gy-3" style="background-color: #E2EFDE;"> + <h2>Пустуют без дела</h2> +</div> +` + +let servers_dead = ` +<div class="col text-center rounded border border-dark gy-3" style="background-color: #E2EFDE;"> + <h2>Временно выключены</h2> +</div> +` + +let invalid_captcha = ` +<div class="col" id="InvalidCaptcha"> + <br> + <h1 style="color: red">ДЯДЯ ТЫ ДУРАЧЕК, КАПЧА НЕПРАВИЛЬНАЯ, ЖМИ СНОВА НА КНОПКУ</h1> +</div> +` + +function generate_working_server_div(data) { + let workshop = `` + let direct_url = `` + let connect_url = `` + ///////////////////// + let w_disabled = `` + let d_disabled = `` + let c_disabled = `` + + if (data.status == true) { + if ("workshop" in data && data.workshop != "") { + workshop = data.workshop + } else { + w_disabled = `disabled` + } + ///////////////////////////// + if ("direct_url" in data && data.direct_url != "") { + direct_url = data.direct_url + } else { + d_disabled = `disabled` + } + ///////////////////////////// + if ("address" in data && data.address != "") { + connect_url = data.address + } else { + c_disabled = `disabled` + } + } else { + w_disabled = `disabled` + d_disabled = `disabled` + c_disabled = `disabled` + } + + workshop = ` +<div class="col border" style="background-color: #d86800"> + <a class="btn btn-link btn-lg ${w_disabled}" target="_blank" role="button" href="${data.workshop}" style="font-family: tf2build;">Workshop</a> +</div> +` + direct_url = ` +<div class="col border" style="background-color: #d86800"> + <a class="btn btn-link btn-lg ${d_disabled}" target="_blank" role="button" href="${data.direct_url}" style="font-family: tf2build;">Скачать карту</a> +</div> +` + connect_url = ` +<div class="col border" style="background-color: #d86800"> + <a class="btn btn-link btn-lg ${c_disabled}" role="button" href="steam://${data.address}" style="font-family: tf2build;">Подключиться</a> +</div> +` + + return ` + <div class="col text-center border gy-3 rounded"> + <div class="row align-items-center" style="background-color: ${data.color};"> + <div class="col align-self-center p-4" style="background-size: cover; background-image: url('${data.preview}');"> + <div class="row justify-content-md-center"> + <div class="col" style="background-color:rgba(255, 255, 255, 0.5); background-size: 100%;"> + <h1>${data.name}</h1> + <h4>${data.player_count}/${data.max_players} ${data.human_name}</h4> + </div> + </div> + </div> + <div class="col row-cols-1 p-2" style="background-color: ${data.color};"> + ${connect_url} + ${workshop} + ${direct_url} + </div> + </div> +</div> +`; +} + +async function RequestAPI() { + //, {headers: {'Cache-Control':'no-cache'}} + await fetch("https://tf2.pblr-nyk.pro/api/stats", {headers: {'Cache-Control':'no-cache'}}) + .then(res => res.json()) + .then(res => { + console.log(res.servers.statistic); + document.getElementById("current_players").innerHTML = res.servers.statistic.player_now; + document.getElementById("max_per_day").innerHTML = res.servers.statistic.player_max; + document.getElementById("servers_works").innerHTML = res.servers.statistic.working_servers + '/' + res.servers.statistic.total_servers; + document.getElementById("uniq_day_players").innerHTML = res.uniq.day; + document.getElementById("uniq_month_players").innerHTML = res.uniq.month; + document.getElementById("uniq_year_players").innerHTML = res.uniq.year; + + let active = false; + let inactive = false; + let dead = false; + + let insert_type = "beforeend"; + //active servers + let sorted_servers = Object.keys(res.servers).sort((a, b) => { + return res.servers[b].player_count - res.servers[a].player_count; + }); + console.log(sorted_servers); + + for (let sort_id in sorted_servers) { + let server = sorted_servers[sort_id]; + if (server == `statistic`) {continue;} + if(res.servers[server].status == true && res.servers[server].player_count > 0) { + if(!active) { + document.getElementById("servers_list").insertAdjacentHTML(insert_type,servers_active) + active = true; + } + document.getElementById("servers_list").insertAdjacentHTML(insert_type,generate_working_server_div(res.servers[server])); + } + } + + //inactive server + for (const server in res.servers) { + if (server == `statistic`) {continue;} + if(res.servers[server].status == true && res.servers[server].player_count == 0) { + if(!inactive) { + document.getElementById("servers_list").insertAdjacentHTML(insert_type,servers_inactive) + inactive = true; + } + document.getElementById("servers_list").insertAdjacentHTML(insert_type,generate_working_server_div(res.servers[server])); + } + } + + //dead server + for (const server in res.servers) { + if (server == `statistic`) {continue;} + if(res.servers[server].status == false) { + if(!dead) { + document.getElementById("servers_list").insertAdjacentHTML(insert_type,servers_dead) + dead = true; + } + document.getElementById("servers_list").insertAdjacentHTML(insert_type,generate_working_server_div(res.servers[server])); + } + } + }); +} + +function UNIX2TIMESTAMP(unix) { + return new Date(unix * 1000); +} \ No newline at end of file diff --git a/Player_API.js b/Player_API.js deleted file mode 120000 index de8453d..0000000 --- a/Player_API.js +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/Player_API.js \ No newline at end of file diff --git a/Player_API.js b/Player_API.js new file mode 100644 index 0000000..ff77df0 --- /dev/null +++ b/Player_API.js @@ -0,0 +1,60 @@ +$(document).on("show.bs.modal", '#CheckProfileCaptcha', async function () { + console.log("setup captcha"); + if(document.getElementById("InvalidCaptcha")) {document.getElementById("InvalidCaptcha").remove()} + let form = document.forms["formProfileChecker"]; + let captcha_id; + + await fetch("https://tf2.pblr-nyk.pro/player_api/v1/captcha", {method:'POST'}) + .then(response => response.json()) + .then(response => { + console.log(response.id) + captcha_id = response.id; + form.captcha_img.src = "https://tf2.pblr-nyk.pro/player_api/v1/captcha?id=" + response.id; + }) + + form.addEventListener("submit", async function (ev) { + ev.preventDefault(); + $("#check_profile_submit_button").prop("disabled", true); + $("#check_profile_close_button").prop("disabled", true); + + console.log("pukkkk") + await fetch("https://tf2.pblr-nyk.pro/player_api/v1/player?steam_url=" + form.steamurl.value + "&captcha_id=" + captcha_id + "&captcha_code=" + form.captcha.value) + .then(response => response.json()) + .then(response => { + $("#check_profile_submit_button").removeAttr("disabled"); + $("#check_profile_close_button").removeAttr("disabled"); + + if ("error" in response) { + if (response.error == "incorrect captcha") { + $('#check_profile_close_button').click(); + document.getElementById("profile_list").insertAdjacentHTML("beforeend",invalid_captcha); + //await new Promise(r => setTimeout(r, 2000)); + //document.getElementById('CheckProfileCaptchaLabel').innerHTML = "НЕВЕРНАЯ КАПЧА, ПОВТОРИ ПОПЫТКУ" + //document.getElementById('CheckProfileCaptchaLabel').style.color = 'red'; + //$('#buttonCheck').click(); + return; + } else { + alert("Сервер сказал хуй: " + response.error); + $('#check_profile_close_button').click(); + return; + } + } else if ("detail" in response) { + alert("Сервер сказал хуй: " + response.detail[0].msg); + $('#check_profile_close_button').click(); + return; + } else { + console.log(response); + document.getElementById("profile_check").remove(); + document.getElementById("buy_vip").remove(); + document.getElementById("profile_list").insertAdjacentHTML("beforeend",current_vip(response.permition)); + document.getElementById("vip_prices").insertAdjacentHTML("beforeend",generate_vip_table()); + $('#check_profile_close_button').click(); + return; + } + }) + }); +}); + +async function CheckProfile() { + +} \ No newline at end of file diff --git a/SlideShow.js b/SlideShow.js deleted file mode 120000 index 2d08e3f..0000000 --- a/SlideShow.js +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/SlideShow.js \ No newline at end of file diff --git a/SlideShow.js b/SlideShow.js new file mode 100644 index 0000000..419222a --- /dev/null +++ b/SlideShow.js @@ -0,0 +1,29 @@ +$(async function() { + //вам смешно,а мне нет + var images=new Array( + 'https://sun9-54.userapi.com/impf/L4gabJSytEz1NpTNLMMY4H2I0Ii2G8BZWLF43w/qYSHLfNsb7s.jpg?size=1920x1080&quality=96&proxy=1&sign=dd5b204676b475018a320a3ea4da605d&type=album', + 'https://sun9-47.userapi.com/impf/W24ZlAJv_hRsfSWo52xJuQxiYsLIBACpZrZLZQ/PloSNn9b2mQ.jpg?size=1920x1080&quality=96&proxy=1&sign=1fd9c7ede5a4824442b79bff28bcc928&type=album', + 'https://sun9-56.userapi.com/impf/gumag_-zFNTd9kxmAlDnX12T1kOzx10Nel8NBg/cQlqHiyWdxQ.jpg?size=1920x1080&quality=96&proxy=1&sign=1c348f58c41e5ebc19e49e6bd9535998&type=album'); + var nextimage=0; + return; + + doSlideshow(); + + function doSlideshow() + { + if($('.slideshowimage').length!=0) + { + $('.slideshowimage').fadeOut(500,function(){slideshowFadeIn();$(this).remove()}); + } + else + { + slideshowFadeIn(); + } + } + function slideshowFadeIn() + { + $('.slideshow').prepend($('<img class="slideshowimage" src="'+images[nextimage++]+'" style="display:none">').fadeIn(500,function(){setTimeout(doSlideshow,1000);})); + if(nextimage>=images.length) + nextimage=0; + } +}); \ No newline at end of file diff --git a/SteamAuth.js b/SteamAuth.js deleted file mode 120000 index 81c0911..0000000 --- a/SteamAuth.js +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/SteamAuth.js \ No newline at end of file diff --git a/SteamAuth.js b/SteamAuth.js new file mode 100644 index 0000000..4abd61a --- /dev/null +++ b/SteamAuth.js @@ -0,0 +1,40 @@ +const http_build_query = (obj) => { + let str = "" + + for (const key in obj) { + const value = obj[key]; + str += `${key}=${value}&`; + } + + return str; +} + +const genUrl = (urlToReturnTo) => { + const params = { + 'openid.ns' : 'http://specs.openid.net/auth/2.0', + 'openid.mode' : 'checkid_setup', + 'openid.return_to' : urlToReturnTo, + 'openid.realm' : 'http://localhost:8080', + 'openid.identity' : 'http://specs.openid.net/auth/2.0/identifier_select', + 'openid.claimed_id' : 'http://specs.openid.net/auth/2.0/identifier_select', + }; + + const url = `${STEAM_LOGIN}?${http_build_query(params)}` + return url; +}; + +const search = location.search.substring(1); +const urlObj = JSON.parse('{"' + decodeURI(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}') + +const getUserId = (response) => +{ + const str = response["openid.claimed_id"]; + const res = decodeURIComponent(str) + const propsArr = res.split("\/"); + console.log(propsArr); + + return propsArr[propsArr.length-1]; +} + + +const userId = getUserId(urlObj) \ No newline at end of file diff --git a/VIP_API.js b/VIP_API.js deleted file mode 120000 index 9553b97..0000000 --- a/VIP_API.js +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/VIP_API.js \ No newline at end of file diff --git a/VIP_API.js b/VIP_API.js new file mode 100644 index 0000000..8151f65 --- /dev/null +++ b/VIP_API.js @@ -0,0 +1,98 @@ +$(async function() { + await VIP_API(); +}); + +function generate_vip_table(steamid3) { + let h_size = "h4" + let table = ` +<div class="col text-center rounded border border-dark gy-3 p-4" style="background-color: #E2EFDE;"> + <${h_size}>Если ты выбираешь оплату киви, тебе переадресует на страницу оплаты.</${h_size}> + <${h_size}>Если оплатить через трейд бота в стиме, тебе перекинет в стим, где ты должен скинуть нужные вещички. SteamGuard с твоей стороны должен быть включен.</${h_size}> + <table class="table"> + <thead> + <tr> + <th scope="col">Количество дней</th> + <th scope="col">Рублями через QIWI</th> + <th scope="col">Обмен Steam</th> + </tr> + </thead> + <tbody> + <tr> + <th>Сутки</th> + <th><a href="https://qiwi.ru">20 Рублей</a></th> + <th><a href="https://steam.com">5 Рефов</a></th> + </tr> + <tr> + <th>Неделя</th> + <th><a href="https://qiwi.ru">75 Рублей</a></th> + <th><a href="https://qiwi.ru">20 Рефов</a></th> + </tr> + <tr> + <th>Месяц</th> + <th><a href="https://qiwi.ru">150 Рублей</a></th> + <th><a href="https://qiwi.ru">1 Ключ</a></th> + </tr> + </tbody> + </table> +</div> +` + return table; +} + +function current_vip(permition) { + + let check_vip; + if(permition == null) { + check_vip = ` + <h2>У тебя нет випки, может стоит ее прикупить??</h2> + <h5><a href="#VIPSection" data-toggle="tab">> КУПИТЬ <</a></h3> + ` + } else { + let start_vip; + if (permition["UNIX_TIMESTAMP(`reg_date`)"] == 0){ + start_vip = "с момента создания"; + } else { + start_vip = UNIX2TIMESTAMP(permition["UNIX_TIMESTAMP(`reg_date`)"]); + } + + let end_vip; + if(permition.amount == 0){ + end_vip = "бесконечны"; + } else { + end_vip = UNIX2TIMESTAMP(permition["UNIX_TIMESTAMP(`reg_date`)"] + permition.amount); + } + + check_vip = ` + <h2>VIP права на текущий момент</h2> + <table class="table"> + <thead> + <tr> + <th scope="col" alt="ок">Steam ID 3</th> + <th scope="col" alt="ок">Доступ</th> + <th scope="col" alt="ок">Дата получения</th> + <th scope="col" alt="ок">Дата окончания</th> + </tr> + </thead> + <tbody> + <tr> + <th>${permition.identity}</th> + <th>${permition.status}</th> + <th>${start_vip}</th> + <th>${end_vip}</th> + </tr> + </tbody> + </table> + <h5><a href="#VIPSection" data-toggle="tab">Продлить права...</a></h3> + ` + } + + return ` + <div class="col text-center rounded border border-dark gy-3 p-4" style="background-color: #E2EFDE;" id="ProfileVip"> + ${check_vip} +</div> +`; +} + +async function VIP_API() { + +} \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 120000 index c4df64a..0000000 --- a/index.html +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/index.html \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..3830e1b --- /dev/null +++ b/index.html @@ -0,0 +1,255 @@ +<!DOCTYPE html> +<head> + <meta charset="UTF-8"> + <title>Факты 13</title> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous"> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script> + <link rel="stylesheet" href="shit_style.css?version=1"> +</head> +<body> +<div class="container-fluid"> + <div class="row"> + <ul class="nav nav-pills nav-fill" style="font-family: tf2build"> + <li class="nav-item"> + <a class="nav-link active" data-toggle="tab" href="#MainSection">Факты 13</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#RulesSection">Правила</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#ServersSection" id="MenuServersSection">Серверы</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#ProfileSection">Профиль/Баны</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#VIPSection">Купить VIP</a> + </li> + <li class="nav-item"> + <a class="nav-link" data-toggle="tab" href="#AboutSection">О нас</a> + </li> + </ul> + </div> + </div> +</div> +<div class="slideshow" style="background-color: darkgray;"> +<div class="container col-8"> + <div class="tab-content"> + <div class="tab-pane fade show active" id="MainSection"> + <div class="row row-cols-1"> + <div class="col gy-3"> + <div class="row justify-content-md-center"> + <div class="col-3 text-center rounded border border-dark p-3" style="background-color: #ff8946; "> + <h1>Факты 13</h1> + </div> + </div> + </div> + <div class="col" style="margin-top: -1%;"> + <div class="row justify-content-md-center"> + <div class="col-9 text-center rounded border border-dark p-2" style="background-color: #ff8946; "> + <h2>Добро пожаловать на "лучший" ру-сервер ТФ2</h2> + </div> + </div> + </div> + <div class="col" style="margin-top: -1%;"> + <div class="row justify-content-md-center"> + <div class="col-10 text-center rounded border border-dark" style="background-color: #fffefc; "> + <div class="row"> + <!----> + <div class="col text-center pt-3 rounded border border-dark" style="background-color: #E2EFDE;"> + <h3>Давно искал место где можно почилить в данной мертвой игре??? Поздравляю ты его нашел!!!</h3> + <hr> + <div class="col-6 offset-3"> + <div class="row row-cols-3 align-self-center"> + <div class="col align-self-center"><h4>Сейчас играют</h4></div> + <div class="col align-self-center"><h4>Пик игроков за день</h4></div> + <div class="col align-self-center"><h4>Серверов работает</h4></div> + <div class="col align-self-center"><h2 class="rounded border border-dark" style="background-color: #ff8946;" id="current_players">~</h2></div> + <div class="col align-self-center"><h2 class="rounded border border-dark" style="background-color: #ff8946;" id="max_per_day">~</h2></div> + <div class="col align-self-center"><h2 class="rounded border border-dark" style="background-color: #ff8946;" id="servers_works">~</h2></div> + </div> + </div> + <div class="col-6 offset-3"> + <hr> + <h1 class="rounded border border-dark text-center" style="background-color: #ff8946;"> + <a class="nav-link" data-toggle="tab" href="#ServersSection" style="color: black">Подключиться к серверам</a> + </h1> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="col pt-2" style="margin-top: -0%;"> + <div class="row justify-content-md-center"> + <div class="col-10 text-center rounded border border-dark" style="background-color: #fffefc; "> + <div class="row"> + <!----> + <div class="col text-center pt-3 rounded border border-dark" style="background-color: #E2EFDE;"> + <h3>Все еще сомневаешься??? Посмотри как много карликов у нас бывают!</h3> + <h6>p.s (статистика предоставлена при условии что игрок сыграл больше 5 минут)</h6> + <h6>p.s.s (уникальный = игрок зашел за данный период впервый раз)</h6> + <br> + <div class="col-6 offset-3"> + <div class="row row-cols-3 align-self-center"> + <div class="col align-self-center"><h4>За день</h4></div> + <div class="col align-self-center"><h4>За месяц</h4></div> + <div class="col align-self-center"><h4>За год</h4></div> + <div class="col align-self-center"><h2 class="rounded border border-dark" style="background-color: #ff8946;" id="uniq_day_players">~</h2></div> + <div class="col align-self-center"><h2 class="rounded border border-dark" style="background-color: #ff8946;" id="uniq_month_players">~</h2></div> + <div class="col align-self-center"><h2 class="rounded border border-dark" style="background-color: #ff8946;" id="uniq_year_players">~</h2></div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + <!----> + <div class="col pt-2"> + <div class="row justify-content-md-center"> + <div class="col-10 text-center rounded border border-dark" style="background-color: #fffefc; "> + <div class="row"> + <div class="col"> + <div class="col text-center"> + <h1>Почему стоит начать играть?</h1> + </div> + <div class="row row-cols-1"> + <div class="col text-left"> + <h4>> Все карты на сервере уникальны и сделаны нами, ты всегда можншь найти место по вкусу!</h4> + </div> + <div class="col text-left"> + <h4>> Большенство плагинов на сервере сделаны нами и добавляют некий шарм в геймплей.</h4> + </div> + <div class="col text-left"> + <h4>> Правила для вас не писаны(каканы), можете делать всё что душе угодно, но ожидайте что вам дадут пиздюлей наши модераторы.</h4> + </div> + <div class="col text-left"> + <h4>> Сервера работают на божем слове, так что шанс что проект закроется стремится к нулю. Конечно пока нам не надоест.</h4> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + <!--#########################################################################################################################################################--> + <div class="tab-pane fade" id="ServersSection"> + <div class="row row-cols-1" id="servers_list"> + <div class="col text-center rounded border border-dark gy-3" style="background-color: #E2EFDE;"> + <h2>Выбери сервер на свой "ОТЛИЧНЫЙ" вкус!</h2> + </div> + </div> + </div> + <!--#########################################################################################################################################################--> + <div class="tab-pane fade" id="VIPSection"> + <div class="row row-cols-1" id="vip_prices"> + <div class="col text-center rounded border border-dark gy-3 p-4" style="background-color: #E2EFDE;" id="buy_vip"> + <h2>Заинтересовался покупкой? Cкорее выбирай!</h2> + <h5 id="CheckAndDelete">Цены появятся только после проверки профиля!</h5> + <h5><a data-toggle="tab" href="#ProfileSection">> Проверить <</a></h5> + </div> + </div> + </div> + <!--#########################################################################################################################################################--> + <div class="tab-pane fade" id="ProfileSection"> + <div class="row row-cols-1" id="profile_list"> + <div class="col text-center rounded border border-dark gy-3 p-4" style="background-color: #E2EFDE;" id="profile_check"> + <h2>Проверь свой профиль на фактах!</h2> + <h6>На этой странице после ввода твоего профиля, появится вся твоя статистика на фактах, наличие банов и их история, а так-же возможность купить випку!</h6> + <span> ></span> + <button type="button" class="btn btn-primary" data-toggle="modal" id="buttonCheck" data-action="CheckProfileCaptcha" data-target="#CheckProfileCaptcha">Проверить свой профиль</button> + <span> <</span> + </div> + </div> + </div> + <!--#########################################################################################################################################################--> + <div class="tab-pane fade" id="AboutSection"> + <div class="row row-cols-1" id="about_list"> + <div class="col text-center rounded border border-dark gy-3 p-4" style="background-color: #E2EFDE;"> + <h2>Здраствуйте, спасибо что выбрали факты 13 в качестве сервера, где можно весело проводить время!</h2> + </div> + <div class="col text-center rounded border border-dark gy-3 p-4" style="background-color: #E2EFDE;"> + <h4>Наши "отличные" сервера выбирают, не только русские игроки, но и другие, из разных стран, например: украина</h2> + <div class="row"> + <div class="col align-self-center m-1" style="background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Flag_of_Russia.svg/320px-Flag_of_Russia.svg.png'); background-size: 100% auto;" id="count_russian"><h3>~</h3></div> + <div class="col align-self-center m-1" style="background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/4/49/Flag_of_Ukraine.svg/1280px-Flag_of_Ukraine.svg.png'); background-size: 100% auto;" id="count_ukraine"><h3>~</h3></div> + <div class="col align-self-center m-1" style="background-image: url('https://president.gov.by/content-pages/gosudarstvo/national-symbols/national-flag/image-thumb__17074__text-with-image/flag~-~media--06a35258--query.jpg'); background-size: 100% auto;" id="count_belorussia"><h3>~</h3></div> + <div class="col align-self-center m-1" style="background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Flag_of_Kazakhstan.svg/1280px-Flag_of_Kazakhstan.svg.png'); background-size: 100% auto;" id="count_kazakhstan"><h3>~</h3></div> + <div class="col align-self-center m-1" style="background-image: url('https://upload.wikimedia.org/wikipedia/commons/1/11/Flag_of_the_United_Nations.png'); background-size: 100% auto;" id="count_other"><h3>~</h3></div> + </div> + </div> + </div> + </div> + </div> +</div> +</div> + +<div class="modal fade" id="CheckProfileCaptcha" role="dialog" aria-hidden="true" aria-labelledby="CheckProfileCaptchaLabel" tabindex="-1"> + <div class="modal-dialog modal-dialog-centered" role="document"> + <div class="modal-content"> + <form id="formProfileChecker"> + <div class="modal-header"> + <h5 class="modal-title" id="CheckProfileCaptchaLabel">Проверка IQ...</h5> + <button type="button" class="btn-close" data-dismiss="modal" aria-label="Close" id="check_profile_close_button"></button> + </div> + <div class="modal-body"> + <div class="row"> + <div class="col"> + <div class="row"> + <div class="col">Смещная картинка:</div> + <div class="col"><img alt="Captcha" src="https://sun9-13.userapi.com/impg/rGJ07_WhqnJBxl-5NhAVGO6Gog8y4i_GiCHk7A/Y7YcvnUaJRg.jpg?size=443x170&quality=96&sign=7f1e16fe825e41d94c22e93af132a936&type=album" class="img-fluid" id="captcha_img"></img></div> + </div> + <div class="row"> + <div class="col">Код с картинки:</div> + <div class="col"><input class="form-control" type="text" name="captcha" id="captcha" required/></div> + </div> + <div class="row"> + <div class="col">Ссылка на профиль:</div> + <div class="col"><input class="form-control" type="text" name="steamurl" id="steamurl" required/></div> + </div> + </div> + </div> + </div> + <div class="modal-footer"> + <button type="submit" class="btn btn-danger" id="check_profile_submit_button">Проверить данные</button> + </div> + </form> + </div> + </div> +</div> + + <div class="modal fade" id="CheckProfileMain" aria-hidden="true" aria-labelledby="CheckProfileMainLabel" tabindex="-1"> + <div class="modal-dialog modal-dialog-centered"> + <div class="modal-content"> + <div class="modal-header"> + <h5 class="modal-title" id="CheckProfileMainLabel">Модалка 2</h5> + <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> + </div> + <div class="modal-body"> + Скройте это модальное окно и покажите первое с помощью кнопки ниже. + </div> + <div class="modal-footer"> + <button class="btn btn-primary" data-bs-dismiss="modal">Я понял, я обосрался</button> + </div> + </div> + </div> + </div> + +<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" + integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha384-VHvPCCyXqtD5DqJeNxl2dtTyhF78xXNXdkwX1CZeRusQfRKp+tA7hAShOK/B/fQ2" + crossorigin="anonymous"></script> +<script type="text/javascript" src="/API.js?version=3"></script> +<script type="text/javascript" src="/Player_API.js?version=1"></script> +<script type="text/javascript" src="/VIP_API.js?version=1"></script> +<script type="text/javascript" src="/SlideShow.js?version=1"></script> +</body> +</html> \ No newline at end of file diff --git a/shit_style.css b/shit_style.css deleted file mode 120000 index 3d1d622..0000000 --- a/shit_style.css +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/shit_style.css \ No newline at end of file diff --git a/shit_style.css b/shit_style.css new file mode 100644 index 0000000..ed51bf3 --- /dev/null +++ b/shit_style.css @@ -0,0 +1,39 @@ +@font-face { + font-family: tf2build; + src: url('tf2build.ttf'); +} + +h1,h2,h3,h4,h5,h6 { + font-family: tf2build; + color: #333333; +} + +a { + font-family: tf2build; +} + +.nav-pills { + background-color: #d86800; +} + +.nav-link { + color: #000000; +} + +.nav-pills > li > a:hover { + color: #5a5a5a; +} + +.slideshow +{ + position: relative; + width: 350px; + height: 150px; +} +.slideshow img +{ + position: absolute; + width: 350px; + height: 150px; + z-index:-1; +} \ No newline at end of file diff --git a/tf2build.ttf b/tf2build.ttf deleted file mode 120000 index fe57436..0000000 --- a/tf2build.ttf +++ /dev/null @@ -1 +0,0 @@ -/media/ssddrive0/fastdl/www-content/tf2build.ttf \ No newline at end of file diff --git a/tf2build.ttf b/tf2build.ttf new file mode 100644 index 0000000..d59eec9 Binary files /dev/null and b/tf2build.ttf differ