MediaWiki:Gadget-BlockRequest.js
Зовнішній вигляд
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5.
/*
* @author Andriy.v
* for ukwiki only
*/
function install (usertype, username) {
var message = 'Увага! Ви збираєтесь подати запит на блокування ' + usertype + ' ' + username + ' до бота. Будь ласка зверніть увагу, що запит дозволяється виключно за очевидні вандальні дії. У випадку зловживань інструментом, Вам може бути обмежено доступ до сторінки запитів';
var title = 'Запит на блокування';
var link = mw.util.addPortletLink('p-tb', '#', 'Запит на блокування','t-blockreq');
$('#t-blockreq > a').css( 'color', 'red' );
$( link ).click( function ( e ) {
e.preventDefault();
mainDialog(title, message, username);
});
}
function mainDialog (text, message, target) {
var manager = OO.ui.getWindowManager();
return manager.openWindow( 'message', $.extend( {
title: text,
message: message
}) ).closed.then( function ( data ) {
if (data.action == 'accept')
makeRequest(target);
} );
}
function checkUserRights () {
var username = mw.config.get('wgRelevantUserName');
var params = {
action: 'query',
list: 'users',
ususers: username,
usprop: 'rights',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var users = data.query.users;
var usertype = 'IP-адреси';
if (users[0].missing == undefined) {
if (users[0].invalid == undefined) {
if (!users[0].rights.includes('autoconfirmed')) {
usertype = 'користувача';
install(usertype, username);
}
}
else {
install(usertype, username);
}
}
} );
}
function makeRequest (target) {
mw.notify('Додається запит');
new mw.Api().edit('Користувач:VAdminBot/Запити на блокування', function(revision) {
return {
text: revision.content.replace('|}','|-\n| {{u|' + target + '}} || {{u|' + mw.config.get('wgUserName') + '}}\n|}'),
summary: '[[MediaWiki:Gadget-BlockRequest.js|Script]]: додавання запиту на блокування [[user:' + target + '|' + target +']]',
assert: 'user'
};
}).done( function () {
location.replace("https://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87:VAdminBot/%D0%97%D0%B0%D0%BF%D0%B8%D1%82%D0%B8_%D0%BD%D0%B0_%D0%B1%D0%BB%D0%BE%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F");
});
}
$(document).ready(function () {
var NamespaceNumber = mw.config.get( 'wgNamespaceNumber' );
var time = new Date ();
mw.loader.using( 'oojs', function() {
if (( NamespaceNumber === 2 || NamespaceNumber === 3 || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions')
&& (mw.config.get('wgUserGroups').includes('rollback') || mw.config.get('wgUserGroups').includes('editor') || mw.config.get('wgUserGroups').includes('sysop') ) && (time.getUTCHours() > 19 || time.getUTCHours() < 7))
checkUserRights();
});
});