/*
Для отключения перехода к странице обсуждения участника, добавьте следующую
строчку в ваш common.js, после строки импорта этого крипта:
userwarner_noredirect = true;
*/
function userwarner_waiting_html(text) {
return `<div style="align-items: center;position: fixed;\
display: flex;justify-content: center;top: 50%;left: 50%;width: 300px;\
height: 80px;margin: -40px 0 0 -150px;\
background-color: #ffe8bf;font-size: 14px;font-style: italic;\
border-radius: 5px;z-index: 10000000;" id="userwarner-waiting-box">${ text }\
</div>`;
}
function userwarner_report_warn_text(username) {
return `<onlyinclude>
{{ЗКА:Быстрый запрос|
<!-- Не редактируйте строку ниже, если не являетесь администратором -->
| статус =
<!-- Формат при редактировании этого поля:
• u/Jimmy Wales — участник или IP-адрес;
• название страницы — без префикса.
-->
| вопрос = u/${ username }
<!-- Дополнительные действия для выполнения запроса, пояснения администраторам и т. п. -->
| пояснение = Вандализм <small>([[У:Skmp/userwarner.js|UW]])</small>
<!-- Не редактируйте строку ниже -->
| автор = {{под` + `ст:зкаб|}}
<!-- Администраторам: вставьте {{подст:зкаб|}} -->
| администратор =
}}
</onlyinclude>`
}
var userwarner_bel_warn = `Здравствуйте! Пожалуйста, не заменяйте название государства «Белоруссия» → «Беларусь», так как в Википедии принято использовать первый вариант. Подробнее об этом Вы можете прочитать на странице '''[[Википедия:Список рекомендованных вариантов написания#Государства]]'''. По этой причине Ваши правки будут отменены.
: Подробнее о работе и правилах в Википедии Вы можете посмотреть здесь:
* [[Википедия:Первые шаги]]
* [[Википедия:Пять столпов]]
* [[Википедия:Список рекомендованных вариантов написания]]`
$(function () {
if(mw.config.get('wgCanonicalSpecialPageName') === 'Contributions' || mw.config.get('wgNamespaceNumber') === 3) {
mw.loader.using('mediawiki.util').done( function () {
// Украл из Участник:Higimo/remove.js :)
var menu = 'bel=Не Беларусь|biog1=Без АИ в СОВР|v1=Ванд ПДН|v2=Ванд|v3=Ванд Последнее|v4im=Ванд Первое и последнее|report=На ЗКАБ|'.replace(/(.*?)=(.*?)\|/g, `<li><a id="uw-link-$1" href="javascript:userwarner_send('$1')">$2</a></li>`);
$('#p-search').before('<div class="vectorMenu"><h3><span>UW</span></h3><ul class="menu">' + menu + '</ul></div>');
$('#uw-link-report').css("color", "#ad0606");
});
}
});
function userwarner_send(type) {
$.getJSON(mw.config.get('wgScriptPath') + '/api.php?action=tokens&format=json', function (resp) {
var user_talk_addr = '';
var username = '';
var report_page_addr = 'Википедия:Запросы_к_администраторам/Быстрые';
var currently_in_talk = false;
if(mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
username = mw.config.get('wgPageName').split('/', 2)[1];
user_talk_addr = 'Обсуждение_участника:' + username;
} else if(mw.config.get('wgNamespaceNumber') === 3) {
user_talk_addr = mw.config.get('wgPageName');
username = user_talk_addr.split(":", 2)[1];
currently_in_talk = true;
}
//const user_talk_addr = 'Участник:Sk4mp/Песочница/2';
var warn_sectionname = '';
var warn_message = '';
var warn_summary = '';
switch(type) {
case "bel":
warn_sectionname = '«Белоруссия» → «Беларусь»';
warn_message = userwarner_bel_warn;
warn_summary = 'Не Беларусь';
break;
case "biog1":
warn_sectionname = 'Предупреждение от {' + '{подст:сегодня}' + '}: биографии современников';
warn_message = '{{uw-biog1}}';
warn_summary = 'Биографии современников';
break;
case "v1":
warn_sectionname = 'Сообщение от {' + '{подст:сегодня}' + '}';
warn_message = '{{uw-vandalism1}}';
warn_summary = 'Вандализм (мягкое)';
break;
case "v2":
warn_sectionname = 'Предупреждение от {' + '{подст:сегодня}' + '}: вандализм';
warn_message = '{{uw-vandalism2}}';
warn_summary = 'Вандализм';
break;
case "v3":
warn_sectionname = 'Предупреждение от {' + '{подст:сегодня}' + '}: вандализм';
warn_message = '{{uw-vandalism3}}';
warn_summary = 'Вандализм (последнее)';
break;
case "v4im":
warn_sectionname = 'Предупреждение от {' + '{подст:сегодня}' + '}: вандализм';
warn_message = '{{uw-vandalism4im}}';
warn_summary = 'Вандализм (первое и последнее)';
break;
}
var post_options = {};
if(type === "report") {
$("body").append(userwarner_waiting_html("Записываем запрос на ЗКАБ..."));
post_options = {
action: 'edit',
title: report_page_addr,
token: resp.tokens.edittoken,
summary: 'Новый запрос: ' + username + ' ([[У:Sk4mp/userwarner.js|UW]])',
section: 'new',
sectiontitle: "u/{{под" + "ст:зкаб|" + username + "}}",
appendtext: userwarner_report_warn_text(username)
}
} else {
$("body").append(userwarner_waiting_html("Записываем предупреждение..."));
post_options = {
action: 'edit',
title: user_talk_addr,
token: resp.tokens.edittoken,
summary: 'Предупреждение участника с помощью [[У:Sk4mp/userwarner.js|UW]] — ' + warn_summary,
section: 'new',
sectiontitle: warn_sectionname,
appendtext: warn_message + ' ~~' + '~~'
}
}
$.post(mw.config.get('wgScriptPath') + '/api.php', post_options, function() {
if(currently_in_talk) {
if(type !== "report") window.location = mw.config.get('wgServer') + '/wiki/' + user_talk_addr;
} else if(userwarner_noredirect) {
$("#userwarner-waiting-box").text("Готово!");
$("#userwarner-waiting-box").css("background-color", "#caffbf");
setTimeout(function () { $("#userwarner-waiting-box").remove(); }, 1000);
} else {
if(type !== "report") window.location = mw.config.get('wgServer') + '/wiki/' + user_talk_addr;
}
});
});
}