Користувач:Andriy.v/Gadget-markadmins.js
Перейти до навігації
Перейти до пошуку
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
- Opera: натисніть Ctrl-F5
function markUsers(data, sysops, bureaucrats, checkusers, interface_admins, suppressors){
var body, lnk, href, title, mm, user, mark, i, k;
if (!(body = document.getElementById('bodyContent'))) return;
var links = body.getElementsByTagName('A');
var userArg;
for (i=0; i<links.length; i++){
lnk = links[i];
if (!lnk.title || ! (mm=lnk.title.match('(?:Користувач|Користувачка):(.*)')))
continue;
try {
userArg = decodeURIComponent(mm[1]).replace(" (ще не написана)", "");
} catch (e) { // could not decode (Uncaught URIError: URI malformed)
userArg = mm[1].replace(" (ще не написана)", "");
}
user = userArg;
for (k in bureaucrats){
if (bureaucrats[k].name.indexOf(user) > -1) {
mark = document.createElement('b');
mark.appendChild(document.createTextNode('(B)'));
lnk.title += data.userSetTip.B;
lnk.appendChild(mark);
}
}
for (k in sysops){
if (sysops[k].name.indexOf(user) > -1) {
mark = document.createElement('b');
mark.appendChild(document.createTextNode('(A)'));
lnk.title += data.userSetTip.A;
lnk.appendChild(mark);
}
}
for (k in checkusers){
if (checkusers[k].name.indexOf(user) > -1) {
mark = document.createElement('b');
mark.appendChild(document.createTextNode('(CU)'));
lnk.title += data.userSetTip.CU;
lnk.appendChild(mark);
}
}
for (k in interface_admins){
if (interface_admins[k].name.indexOf(user) > -1) {
mark = document.createElement('b');
mark.appendChild(document.createTextNode('(IA)'));
lnk.title += data.userSetTip.IA;
lnk.appendChild(mark);
}
}
for (k in suppressors){
if (suppressors[k].name.indexOf(user) > -1) {
mark = document.createElement('b');
mark.appendChild(document.createTextNode('(B)'));
lnk.title += data.userSetTip.OS;
lnk.appendChild(mark);
}
}
}
}
$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=MediaWiki:Gadget-markadmins.json', function(data){
var params = {
action: 'query',
format: 'json',
list: 'allusers',
augroup: 'sysop',
aulimit: 70
},
api = new mw.Api();
api.get( params ).done( function ( data_s ) {
var sysops = data_s.query.allusers;
var params = {
action: 'query',
format: 'json',
list: 'allusers',
augroup: 'bureaucrat',
};
api.get( params ).done( function ( data_b ) {
var bureaucrats = data_b.query.allusers;
var params = {
action: 'query',
format: 'json',
list: 'allusers',
augroup: 'checkuser',
};
api.get( params ).done( function ( data_c ) {
var checkusers = data_c.query.allusers;
var params = {
action: 'query',
format: 'json',
list: 'allusers',
augroup: 'interface-admin',
};
api.get( params ).done( function ( data_i ) {
var interface_admins = data_i.query.allusers;
var params = {
action: 'query',
format: 'json',
list: 'allusers',
augroup: 'suppress',
};
api.get( params ).done( function ( data_o ) {
var suppressors = data_o.query.allusers;
markUsers(data, sysops, bureaucrats, checkusers, interface_admins, suppressors);
});
});
});
});
});
});