// ==UserScript==
// @name SAMARA | Forum Script for ГС/ЗГС
// @namespace https://openuserjs.org/users/Kingston007
// @version 1.111
// @description my project
// @author Roy_Climber
// @match https://forum.blackrussia.online/index.php?threads/*
// @include https://forum.blackrussia.online/index.php?threads/
// @icon https://icons.iconarchive.com/icons/aha-soft/iron-man/48/Ironman-Mask-3-Old-icon.png
// @grant none
// @license MIT
// ==/UserScript==
(async function () {
`use strict`;
const UNACCEPT_PREFIX = 4; // Prefix that will be set when thread closes
const ACCEPT_PREFIX = 8; // Prefix that will be set when thread accepted
const PIN_PREFIX = 2; // Prefix that will be set when thread pins
const COMMAND_PREFIX = 10; // Prefix that will be set when thread send to project team
const WATCHED_PREFIX = 9;
const CLOSE_PREFIX = 7;
const data = await getThreadData(),
greeting = data.greeting,
user = data.user;
const buttons = [
{
title: `Приветствие`,
content:
`[SIZE=4][FONT=georgia][CENTER] ${greeting}, уважаемый ${user.mention}![/CENTER]<br>` +
`[CENTER] [/CENTER][/FONT][/SIZE]`,
},
{
title: `Открытие заявок ГОСС/ОПГ`,
content:
`[IMG]https://i.postimg.cc/QC9Sntp3/Picsart-22-07-27-00-45-34-377.jpg[/IMG]<br>`+
`[CENTER][SIZE=5][FONT=times new roman][COLOR=lightgreen] Доброго времени суток, каждый из игроков подходящий по критериям ниже имеет право оставить это заявление, и побороться за лидерство. Помните главное, данный пост это серьезный шаг, делая его вы соглашаетесь со всеми критериями, а так же понимаете то что должны будете отдавать игре много времени, для поддержания стабильной работы вашей организации. Только после понимания того на что вы идете, пишите это заявление и просим вас не тратить наше время на то, чтобы проверить бессмысленные заявления! [/COLOR]<br><br>`+
`[CENTER][SIZE=5][FONT=times new roman]Критерии для подачи заявления:<br><br>`+
`Игровой уровень не менее 8-го. <br>`+
` Не иметь действующих наказаний. <br>`+
` Наличие одобренной Role Play биографии <br>`+
` Nick Name должен соответствовать Role Play нормам <br>`+
` Не иметь подписок на запрещенные группы ВКонтакте <br>`+
` Минимальный суточный онлайн +3-4 часа. <br>`+
` Реальный возраст от 15 лет (Без исключений). <br>`+
` Знание правил Role-Play и правила отыгровки RP, а так же правил лидеров/ОПГ/ Правила нападения на конвой ФСИН. <br>`+
` Так же Вам могут отказать заявку ещё по 4 причинам: <br>`+
` 1 - Неграмотное составление заявки. <br>`+
` 2 - Флуд в теме заявлений. <br>`+
` 3 - Иметь какие либо ЧС/ОЧСЫ. <br>`+
` Открытый профиль в "VK", дабы была возможность добавлять в беседы. <br><br>`+
` [[COLOR=red] Примечание:[/COLOR] Если вы не выполнили/не подходите по вышеперечисленным критериям, следящая администрация имеет право вам отказать в заявление на пост «Лидера».<br>`+
` Форма подачи заявления:[/FONT][/SIZE].<br><br>`+
`[SIZE=6][FONT=times new roman][COLOR=rgb(153 , 0, 153)] IС информация:[/COLOR] [/FONT][/SIZE].<br>`+
`[SIZE=5][FONT=times new roman]Ваш NickName:.<br>`+
`Ваш игровой уровень:.<br>`+
`Ваша статистика (/stats):.<br>`+
`Скриншот истории смены игровых NickName'ов (/history):<br>`+
`Ваша RolePlay биография [Одобренная]:[/FONT][/SIZE].<br><br>`+
`[SIZE=6][FONT=times new roman][COLOR=rgb(153 , 0, 153)] ООС информация: [/COLOR][/FONT][/SIZE].<br>`+
`[SIZE=5][FONT=times new roman]Ваше реальное имя и фамилия:<br>`+
`Ваш возраст:<br>`+
`Страна город/страна проживания:<br>`+
`Часовой пояс (указать в часах от мск):<br>`+
`Ваш средний суточный онлайн:<br>`+
`Расскажите о себе (чем увлекаетесь, занимаетесь в свободное время):<br>`+
`Почему именно вы должны занять данный пост, и администрация должна выбрать именно вас?:<br>`+
`Имеется ли опыт на посту лидера:<br>`+
`Представьте ситуацию - У вас завязался сильный конфликт с лидером другой организации, ваши действия и рассуждения в данной ситуации? Как Вы будете решать эту ситуацию?:<br>`+
`Вы сможете удерживать members 25+ стабильно?:<br>`+
`Ваш логин в Discord:<br>`+
`Ссылка на Вашу страничку VK:<br><br>`+
`[IMG width="695px"]https://i.postimg.cc/KvHdx0dz/20220726-024508.jpg[/IMG]<br>`+
`[[COLOR=red] Примечание:[/COLOR]<br><br>`+
` 1. В анкетах всегда поощряется полное описание всего! Меньше воды, больше интересной информации дабы мы могли представить вас как личность! Заявки(анкеты), это тоже один из важнейших этапов прохождения на пост лидерства, отнеситесь к этому очень серьезно!<br>`+
`2. Чьи анкеты по мнению администрации не несут в себе достаточной информации, могут быть отклонены или удалены без объяснения причины!<br>`+
`3. Все скриншоты должны быть с /time.<br>`+
`4. Скриншоты должны быть сделаны после открытия заявок на пост лидера фракции.<br>`+
`5. Ваша страница в ВК не должна быть "Фейком".<br>`+
`6. Нельзя занимать места в заявках. За нарушение этого, Ваше сообщение будет удалено.<br>`+
`Обман администрации даже в анкетах, несет за собой нарушение правил проекта, а именно "2.34. Запрещен обман администрации",<br>`+
`Если, у Вас есть уверенность в том, что Вам действительно нужен данный пост - Вы можете подавать заявку. Если Вы не уверены, что сможете отстоять хотя бы 7 дней, не стоит совершать данный поступок.<br><br>`+
`Помните, что при уходе с данного поста, при этом не отстояв срок в 15 дней, вы получить блокировку аккаунта на 15 дней.[/FONT][/SIZE][/CENTER]<br><br>`+
`[IMG width="695px"]https://i.postimg.cc/KvHdx0dz/20220726-024508.jpg[/IMG]<br>`+
`[FONT=georgia] [[COLOR=red] Примечание: [/COLOR] После одобрение, с вами свяжится Старшая Администрация. Вам будет необходимо добавить представителя старшей администрации в друзья, после вас добавят в специальную беседу.<br>`+
`Никто из состава администрации не будет просить у вас все различные пароли, пин-коды, информация о привязках и так далее. Не ведитесь на обманы!`,
},
{
title: `Открытие заявок АП`,
content:
`[IMG]https://i.postimg.cc/XqP3wbmp/20220726-172947.jpg[/IMG]<br>`+
`[CENTER][SIZE=5][FONT=times new roman][COLOR=lightgreen] Доброго времени суток, каждый из игроков подходящий по критериям ниже имеет право оставить это заявление, и побороться за пост агента поддержки. Помните главное, данный пост это серьезный шаг, делая его вы соглашаетесь со всеми критериями, а так же понимаете то что должны будете отдавать игре много времени, для поддержания стабильной работы вашей должности и продвижение на пост администратора. Только после понимания того на что вы идете, пишите это заявление и просим вас не тратить наше время на то, чтобы проверить бессмысленные заявления! [/COLOR]<br><br>`+
`[CENTER][SIZE=5][FONT=times new roman]Критерии для подачи заявления:<br><br>`+
`Игровой уровень не менее 4-го. <br>`+
` Не иметь действующих наказаний. <br>`+
` Nick Name должен соответствовать Role Play нормам <br>`+
` Не иметь подписок на запрещенные группы ВКонтакте <br>`+
` Обязательно знать правила сервера, проекта и системы сервера ( команды, gps ) <br>`+
` Реальный возраст от 15 лет (Без исключений). <br>`+
` Так же Вам могут отказать заявку ещё по 4 причинам: <br>`+
` 1 - Неграмотное составление заявки. <br>`+
` 2 - Флуд в теме заявлений. <br>`+
` 3 - Любое редактирование собственного заявления. <br>`+
` 4 - Странице ВКонтакте, либо форумнику меньше 40 дней. <br>`+
` Открытый профиль в "VK", дабы была возможность добавлять в беседы. <br><br>`+
` [[COLOR=red] Примечание:[/COLOR] Если вы не выполнили/не подходите по вышеперечисленным критериям, следящая администрация имеет право вам отказать в заявление на пост «Агента Поддержки».<br>`+
` Форма подачи заявления:[/FONT][/SIZE].<br><br>`+
`[SIZE=6][FONT=times new roman][COLOR=rgb(162, 0, 255)] IС информация:[/COLOR] [/FONT][/SIZE].<br>`+
`[SIZE=5][FONT=times new roman]Ваш NickName:.<br>`+
`Ваш игровой уровень:.<br>`+
`Ваша статистика (/stats):.<br>`+
`Скриншот лицензий (/lic):<br>`+
`Скриншот истории смены игровых NickName'ов (/history):.[/FONT][/SIZE].<br><br>`+
`[SIZE=6][FONT=times new roman][COLOR=rgb(162, 0, 255)] OOC информация:[/COLOR] [/FONT][/SIZE].<br>`+
`[SIZE=5][FONT=times new roman]Ваше реальное имя и фамилия:<br>`+
`Ваш возраст:<br>`+
`Страна город/страна проживания:<br>`+
`Часовой пояс (указать в часах от мск):<br>`+
`Ваш средний суточный онлайн:<br>`+
`Расскажите о себе (чем увлекаетесь, занимаетесь в свободное время):<br>`+
`Почему именно вы должны занять данный пост, и администрация должна выбрать именно вас?:<br>`+
`Имеется ли опыт на посту агента поддержки или администратора:<br>`+
`Представьте ситуацию - У вас завязался сильный конфликт с старшим хелпером, ваши действия и рассуждения в данной ситуации? Как вы будете решать эту ситуацию?:<br>`+
`Вы сможете часто отвечать на обращения от игроков?:<br>`+
`Ваш логин в Discord:<br>`+
`Ссылка на Вашу страничку VK:<br><br>`+
`[IMG width="695px"]https://i.postimg.cc/XNtmGCKk/20220726-183434.png[/IMG]<br>`+
`[[COLOR=red] Примечание:[/COLOR]<br><br>`+
` 1. В анкетах всегда поощряется полное описание всего! Меньше воды, больше интересной информации дабы мы могли представить вас как личность! Заявки(анкеты), это тоже один из важнейших этапов прохождения на пост агента поддержки, отнеситесь к этому очень серьезно!<br>`+
`2. Чьи анкеты по мнению администрации не несут в себе достаточной информации, могут быть отклонены или удалены без объяснения причины!<br>`+
`3. Все скриншоты должны быть с /time.<br>`+
`4. Скриншоты должны быть сделаны после открытия заявок на пост агента поддержки.<br>`+
`5. Ваша страница в ВК не должна быть "Фейком".<br>`+
`6. Нельзя занимать места в заявках. За нарушение этого, Ваше сообщение будет удалено.<br>`+
`Обман администрации даже в анкетах, несет за собой нарушение правил проекта, а именно "2.34. Запрещен обман администрации",<br>`+
`Если, у Вас есть уверенность в том, что Вам действительно нужен данный пост - Вы можете подавать заявку. Если Вы не уверены, что сможете отстоять хотя бы 7 дней, не стоит совершать данный поступок.<br><br>`+
`[IMG width="695px"]https://i.postimg.cc/XNtmGCKk/20220726-183434.png[/IMG]<br>`+
`[FONT=georgia] [[COLOR=red] Примечание: [/COLOR] После одобрение, с вами свяжится Старшая Администрация. Вам будет необходимо добавить представителя старшей администрации в друзья, после вас добавят в специальную беседу.<br>`+
`Никто из состава администрации не будет просить у вас все различные пароли, пин-коды, информация о привязках и так далее. Не ведитесь на обманы!`,
},
{
title: `Закрытие заявок Универс`,
content : `[SIZE=5][FONT=georgia][CENTER] ${greeting}, уважаемые игроки.<br>`+
`[CENTER] В данной теме вы узнаете список [color=lightgreen] одобренных [/color] и [[COLOR=red] отказанных [/color] игроков на должность « Лидера Фракции »<br>`+
`[CENTER] В случае если вы не согласны с решениям Главного Следящего или его Заместителя то составьте свою претензию в раздел «Жалобы на Администрацию».<br><br>`+
`[SIZE=6] [CENTER] [color=lightgreen] Список одобренных кандидат;[/color]<br>`+
`[CENTER] [LIST=1]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[/LIST]<br><br>`+
`[SIZE=6] [CENTER] [COLOR=red] Список отказанных игроков;[/color]<br>`+
`[CENTER] [LIST]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[*] — [[COLOR=red] Причина отказа: [/color]
[/LIST]<br><br>`+
`[CENTER] [SIZE=6] [COLOR=red] Время обзвона сообщу позже .<br>`+
`[CENTER] [SIZE=6] Никто из состава администрации не будет просить у вас все различные пароли, пин-коды, информация о привязках и так далее. Не ведитесь на обманы!<br><br>`+
`[CENTER] Всем одобренным кандидатам, желаю удачи на обзвоне! Не забудьте почитать правила до обзвона😝`,
},
{
title: `На рассмотрении`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}![/CENTER]<br>` +
`[CENTER] Ваша жалоба взята на рассмотрение.<br><br>` +
`Пожалуйста ожидайте ответа.<br>` +
`[COLOR=orange]На рассмотрение.[/color] [/CENTER][/FONT][/SIZE]`,
prefix: PIN_PREFIX,
status: true,
},
{
title: `Проведена беседа ЛД`,
content: ` [SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}!<br>` +
` Благодарим за ваше обращение!<br>` +
` С лидером будет проведена профилактическая беседа.<br>` +
` [COLOR=lightgreen]Одобрено[/color],закрыто [/CENTER][/FONT][/SIZE]`,
prefix: ACCEPT_PREFIX,
status: false,
},
{
title: `Проведена беседа АП`,
content: ` [SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}!<br>` +
` Благодарим за ваше обращение!<br>` +
` С Агентом Поддержки будет проведена профилактическая беседа.<br>` +
` [COLOR=lightgreen]Одобрено[/color],закрыто [/CENTER][/FONT][/SIZE]`,
prefix: ACCEPT_PREFIX,
status: false,
},
{
title: `Получит наказание ЛД`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}!<br>` +
`Благодарим за ваше обращение!<br>` +
`Лидер получит соответствующие наказание` +
` [COLOR=lightgreen]Одобрено[/color],закрыто [/CENTER][/FONT][/SIZE]`,
prefix: ACCEPT_PREFIX,
status: false,
},
{
title: `Получит наказание ЛД`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}!<br>` +
`Благодарим за ваше обращение!<br>` +
`Лидер получит соответствующие наказание` +
` [COLOR=lightgreen]Одобрено[/color],закрыто [/CENTER][/FONT][/SIZE]`,
prefix: ACCEPT_PREFIX,
status: false,
},
{
title: `Получит наказание АП`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}!<br>` +
`Благодарим за ваше обращение!<br>` +
`Агент Поддержки получит соответствующие наказание` +
` [COLOR=lightgreen]Одобрено[/color],закрыто [/CENTER][/FONT][/SIZE]`,
prefix: ACCEPT_PREFIX,
status: false,
},
{
title: `Жалоба не по форме`,
content:
`[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
"[CENTER]Жалоба составлена не по форме. Внимательно прочитайте правила составления жалобы, которые закреплены в этом разделе. <br><br>" +
`[CENTER] [COLOR=red] Отказано[/color], закрыто.[/CENTER][/FONT][/SIZE]`,
prefix: CLOSE_PREFIX,
status: false,
},
{
title: `В раздел ЖБ на сотрудников`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER]Ошиблись разделом,пожалуйста напишите свою жалобу в раздел «Жалобы на сотрудников»<br>` +
`[CENTER] [[COLOR=red] Отказано[/color],закрыто[/CENTER][/FONT][/SIZE]`,
prefix: CLOSE_PREFIX,
status: false,
},
{
title: ` Не являеться ЛД`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER]Данный игрок больше не являеться лидером или им не является , на данный момент времени.<br>` +
`[CENTER] [COLOR=red] Отказано[/color],закрыто.[/CENTER][/FONT][/SIZE]`,
prefix: CLOSE_PREFIX,
status: false,
},
{
title: ` Не являеться АП`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER]Данный игрок больше не являеться агентом поддержки или им не является, на данный момент времени.<br>` +
`[CENTER] [COLOR=red] Отказано[/color],закрыто.[/CENTER][/FONT][/SIZE]`,
prefix: CLOSE_PREFIX,
status: false,
},
{
title: `Лидер будет снят`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
` [CENTER] Благодарим за ваше обращение!<br>` +
` [CENTER] Лидер будет снят!<br>` +
` [CENTER] [COLOR=lightgreen]Одобрено[/color],закрыто.[/CENTER][/FONT][/SIZE]`,
prefix: CLOSE_PREFIX,
status: false,
},
{
title: `АП будет снят`,
content: `[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
` [CENTER] Благодарим за ваше обращение!<br>` +
` [CENTER] Агент Поддержки будет снят!<br>` +
` [CENTER] [COLOR=lightgreen]Одобрено[/color],закрыто.[/CENTER][/FONT][/SIZE]`,
prefix: CLOSE_PREFIX,
status: false,
},
{
title: `Недостаточно док-вы`,
content:`[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER] Недостаточно доказательств, которые потверждают нарушение.<br>`+
` [CENTER][[COLOR=red] Отказано[/color],закрыто.[/CENTER][/FONT][/SIZE]`,
prefix: UNACCEPT_PREFIX,
status: false,
},
{
title: `Нет нарушения ЛД`,
content:`[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER] Исходя из выше приложенных доказательств,нарушение со стороны лидера - не имееться!<br>`+
`[CENTER] [COLOR=red] Отказано[/color],закрыто. [/CENTER][/FONT][/SIZE]`,
prefix: UNACCEPT_PREFIX,
status: false,
},
{
title: `Нет нарушения АП`,
content:`[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER] Исходя из выше приложенных доказательств,нарушение со стороны хелпера - не имееться!<br>`+
`[CENTER] [COLOR=red] Отказано[/color],закрыто. [/CENTER][/FONT][/SIZE]`,
prefix: UNACCEPT_PREFIX,
status: false,
},
{
title: `Опра в соц.сети ЛД`,
content:` [CENTER][SIZE=5][FONT=georgia]${greeting}, уважаемый ${user.mention} <br><br>`+
"Пожалуйста внимательно прочитайте тему «[URL=`https://forum.blackrussia.online/index.php?threads/Правила-подачи-жалоб-на-лидеров.2639616/`]Правила подачи жалоб на администрацию[/URL][SIZE=5][B]»<br><br>"+
"И обратите своё внимание, на данный пункт правил —[/B][/SIZE][/FONT][/SIZE][SIZE=4][FONT=georgia][QUOTE]3.6. Прикрепление доказательств обязательно.Примечание: загрузка доказательств в соц. сети (ВКонтакте, instagram) запрещается, доказательства должны быть загружены на фото/видео хостинги (YouTube, Япикс, imgur).[/QUOTE][/FONT][QUOTE][/quote][/SIZE][QUOTE][/QUOTE]"+
`[SIZE=4][FONT=georgia][COLOR=red] Отказано[/color],[S] закрыто.[/S][/FONT][/SIZE]`,
prefix: UNACCEPT_PREFIX,
status: false,
},
{
title: `Ошибка разделом`,
content:`[SIZE=4][FONT=georgia][CENTER]${greeting}, уважаемый ${user.mention}[/CENTER]<br><br>` +
`[CENTER]Пожалуйста, убедительная просьба, ознакомится с назначением данного раздела в котором Вы создали тему, так как ваш запрос никоим образом не относится к предназначению данного раздела.[/CENTER]`+
`[CENTER][COLOR=red] Отказано[/color], закрыто.[/CENTER][/FONT]<br><br>`,
prefix: UNACCEPT_PREFIX,
status:false,
},
];
$(document).ready(() => {
// Загрузка скрипта для обработки шаблонов
$(`body`).append(`<script src="https://cdn.jsdelivr.net/npm/handlebars@latest/dist/handlebars.js"></script>`);
// Добавление кнопок при загрузке страницы
addButton(`На рассмотрение`, `pin`);
addButton(`Одобрено`, `accepted`);
addButton(`Отказано`, `unaccept`);
addButton(`Ответы`, `selectAnswer`);
// Поиск информации о теме
const threadData = getThreadData();
$(`button#pin`).click(() => editThreadData(PIN_PREFIX, true));
$(`button#accepted`).click(() => editThreadData(ACCEPT_PREFIX, false));
$(`button#teamProject`).click(() => editThreadData(COMMAND_PREFIX, true));
$(`button#unaccept`).click(() => editThreadData(UNACCEPT_PREFIX, false));
$(`button#selectAnswer`).click(() => {
XF.alert(buttonsMarkup(buttons), null, `Выберите ответ:`);
buttons.forEach((btn, id) => {
if (id > 2) {
$(`button#answers-${id}`).click(() => pasteContent(id, threadData, true));
} else {
$(`button#answers-${id}`).click(() => pasteContent(id, threadData, false));
}
});
});
});
function addButton(name, id) {
$(`.button--icon--reply`).before(
`<button type="button" class="button rippleButton" id="${id}" style="margin: 3px;">${name}</button>`,
);
}
function buttonsMarkup(buttons) {
return `<div class="select_answer">${buttons
.map(
(btn, i) =>
`<button id="answers-${i}" class="button--primary button ` +
`rippleButton" style="margin:5px"><span class="button-text">${btn.title}</span></button>`,
)
.join(``)}</div>`;
}
function pasteContent(id, data = {}, send = false) {
const template = Handlebars.compile(buttons[id].content);
if ($(`.fr-element.fr-view p`).text() === ``) $(`.fr-element.fr-view p`).empty();
$(`span.fr-placeholder`).empty();
$(`div.fr-element.fr-view p`).append(template(data));
$(`a.overlay-titleCloser`).trigger(`click`);
if (send == true) {
editThreadData(buttons[id].prefix, buttons[id].status);
$(`.button--icon.button--icon--reply.rippleButton`).trigger(`click`);
}
}
async function getThreadData() {
const authorID = $(`a.username`)[0].attributes[`data-user-id`].nodeValue;
const authorName = $(`a.username`).html();
const hours = new Date().getHours();
const greeting = 4 < hours && hours <= 11
? `Доброе утро`
: 11 < hours && hours <= 15
? `Добрый день`
: 15 < hours && hours <= 21
? `Добрый вечер`
: `Доброй ночи`
return {
user: {
id: authorID,
name: authorName,
mention: `[USER=${authorID}]${authorName}[/USER]`,
},
greeting: greeting
};
}
function editThreadData(prefix, pin = false) {
// Получаем заголовок темы, так как он необходим при запросе
const threadTitle = $(`.p-title-value`)[0].lastChild.textContent;
if (pin == false) {
fetch(`${document.URL}edit`, {
method: `POST`,
body: getFormData({
prefix_id: prefix,
title: threadTitle,
_xfToken: XF.config.csrf,
_xfRequestUri: document.URL.split(XF.config.url.fullBase)[1],
_xfWithData: 1,
_xfResponseType: `json`,
}),
}).then(() => location.reload());
}
if (pin == true) {
fetch(`${document.URL}edit`, {
method: `POST`,
body: getFormData({
prefix_id: prefix,
title: threadTitle,
sticky: 1,
_xfToken: XF.config.csrf,
_xfRequestUri: document.URL.split(XF.config.url.fullBase)[1],
_xfWithData: 1,
_xfResponseType: `json`,
}),
}).then(() => location.reload());
}
}
function getFormData(data) {
const formData = new FormData();
Object.entries(data).forEach(i => formData.append(i[0], i[1]));
return formData;
}
})();