MediaWiki:Gadget-Welcome.js
Ծանուցում. Հիշելուց հետո կատարված փոփոխությունները տեսնելու համար մաքրեք ձեր զննարկիչի հիշապահեստը. Mozilla / Firefox / Safari՝ Ctrl+Shift+R (Cmd+Shift+R Mac OS X-ում) Konqueror՝ F5 Opera՝ Tools→Preferences ընտրացանկից։ Internet Explorer՝ Ctrl+F5
/*
global mw $
<nowiki>
Ակտիվացնելուց հետո նոր գրանցված մասնակիցների քննարկման էջի հղման կողքին ավելանում է «Ողջունել» և «Անթույլատրելի» հղումները։ Առաջինը մասնակցի քննարկման էջում տեղադրում է {{Ողջույն}} կաղապարը, իսկ երկրորդ՝ {{ՄԱ}} կաղապարը։ Եթե մասնակիցը ադմին է, ապա երկրորդ կոճակը նաև միանգամից արգելափակում է նոր գրանցված մասնակցին, հակառակ դեպքում՝ ծանուցում է ուղարկում վերջին փոփոխություններում առաջինը հանդիպած ադմինին։
*/
$(function() {
$(".new.mw-usertoollinks-talk").each(function() {
if (!mw.util.isIPAddress($(this).attr("title").replace(/^[^:]+:([^\n]+) \(դեռ գրված չէ\)/, "$1"))) {
$(this.parentElement).before('<span><a class="mw-usertoollinks-warn" title="Մասնակցին տեղեկացնել, որ նրա մասնակցային անունը չի համապատասխանում Հայերեն Վիքիպեդիայի կանոններին։">Անթույլատրելի</a></span>');
$(this.parentElement).before('<span><a class="mw-usertoollinks-hi" title="Ողջունել մասնակցին">Ողջունել</a></span>');
}
});
var api = new mw.Api();
mw.loader.using(['jquery.ui'], function() {
var $easyTranslateDialogText = document.createElement("div");
function confirmUser(that) {
$easyTranslateDialogText.innerHTML = "Վստա՞հ եք, որ այս մասնակցի անունը չի համապատասխանում Հայերեն Վիքիպեդիայի կանոններին։";
$('<div>').append($easyTranslateDialogText).dialog({
width: 400,
modal: false,
title: "Անթույլատրելի մասնակցային անուն",
draggable: true,
dialogClass: "wikiEditor-toolbar-dialog",
buttons: [{
text: "Ոչ",
click: function() {
$(this).dialog("close");
}
},
{
text: "Այո",
click: function() {
var talk = that.parentElement.parentElement.getElementsByClassName('mw-usertoollinks-talk')[0];
var newtitle = $(talk).attr("title").replace(/^[^:]+:([^\n]+) \(դեռ գրված չէ\)/, "$1");
api.post({
'action': 'edit',
'title': 'Մասնակցի քննարկում:' + newtitle,
'text': '{{subst:ՄԱ}}',
'summary': '+{{subst:ՄԱ}} ',
'section': 0,
'createonly': true,
'token': mw.user.tokens.get('csrfToken')
});
$(talk).removeClass("new");
$(this.parentElement).prev().remove();
$(this.parentElement).remove();
blockhandler(newtitle);
$(this).dialog("destroy");
$(this).remove();
}
}
],
close: function() {
$(this).dialog("destroy");
$(this).remove();
}
});
}
if (document.getElementsByClassName('mw-usertoollinks-hi').length > 0) {
$('.mw-usertoollinks-hi').click(function() {
var talk = this.parentElement.parentElement.getElementsByClassName('mw-usertoollinks-talk')[0];
var newtitle = $(talk).attr("title").replace(/(^[^:]+:[^\n]+) \(դեռ գրված չէ\)/, "$1");
api.post({
'action': 'edit',
'title': newtitle,
'text': '{{subst:ողջույն}}',
'summary': '+{{subst:ողջույն}} ',
'section': 0,
'watchlist': 'watch',
'createonly': true,
'token': mw.user.tokens.get('csrfToken')
});
$(talk).removeClass("new");
$(this.parentElement).prev().remove();
$(this.parentElement).remove();
});
$('.mw-usertoollinks-warn').click(function() {
confirmUser(this);
});
}
});
function blockhandler(buser) {
if (mw.config.get('wgUserGroups').includes("sysop")) {
api.post({
'action': 'block',
'user': buser,
'expiry': 'infinite',
'reason': 'Կանոնակարգին չհամապատասխանող մասնակցային անուն',
'autoblock': false,
'token': mw.user.tokens.get('csrfToken')
});
} else {
var admins = ["23artashes", "Beko", "GeoO", "Lilitik22", "Samo04", "Sigma'am", "Voskanyan", "Xelgen"];
var lastedit = [];
for (var i = admins.length - 1; i >= 0; i--) {
var url = "https://hy.wikipedia.org/w/api.php?action=query&list=usercontribs&uclimit=1&ucprop=timestamp&format=json&ucuser=" + admins[i];
$.ajax({
async: false,
url: url,
success: function(data) {
lastedit.push([data.query.usercontribs[0].timestamp, data.query.usercontribs[0].user]);
}
});
}
lastedit.sort();
api.post({
'action': 'edit',
'title': 'Մասնակցի քննարկում:' + lastedit[lastedit.length - 1][1],
'appendtext': '\n\n{{subst:ՄԱ/ադմին|' + buser + '}}',
'summary': '+{{subst:ՄԱ/ադմին}}',
'token': mw.user.tokens.get('csrfToken')
});
}
}
});
//</nowiki>