User:Bosco/MediaWiki:Gadget-MarkRights.js: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
via W+: |
mNo edit summary |
||
| Line 1: | Line 1: | ||
$(function() { |
|||
/** |
|||
!function() { |
|||
* 取自 oldid=46135902 |
|||
var e = $("a.mw-userlink:not(.mw-anonuserlink)"), s = {}; |
|||
* MediaWiki:Gadget-MarkRights.js |
|||
e.each(function(e, r) { |
|||
* |
|||
s[r.textContent] = !0; |
|||
* 在最近修改、监视列表、条目历史记录等位置以特殊格式显示有特殊权限的用户 |
|||
* |
|||
*/ |
|||
$(function () { |
|||
var markUG = function () { |
|||
var $users = $('a.mw-userlink:not(.mw-anonuserlink)'); |
|||
var users = {}; |
|||
$users.each(function (index, link) { |
|||
users[link.textContent] = true; |
|||
}); |
}); |
||
var r = [], n = [], u = 0, p = 0; |
|||
var |
for (var l in s) r.push(l), 50 == ++u && (n.push(r), r = [], p++, u = 0); |
||
r.length > 0 && (n.push(r), p++); |
|||
for (var o = [], t = [], a = [], i = [], m = [], f = [], g = [], h = [], d = [], c = [], k = [], w = [], y = [], x = function(e) { |
|||
var i=0, n=0; |
|||
var s; |
|||
s = e.query && e.query.users ? e.query.users : []; |
|||
for (var r = 0; r < s.length; r++) { |
|||
var n = s[r]; |
|||
n.groups && (n.groups.indexOf("bureaucrat") > -1 && t.push(n.name), n.groups.indexOf("checkuser") > -1 && a.push(n.name), |
|||
queue2.push(queue1); |
|||
n.groups.indexOf("oversight") > -1 && i.push(n.name), n.groups.indexOf("sysop") > -1 && o.push(n.name), |
|||
queue1 = []; |
|||
n.groups.indexOf("patroller") > -1 && m.push(n.name), n.groups.indexOf("rollbacker") > -1 && f.push(n.name), |
|||
n++; |
|||
n.groups.indexOf("autoreviewer") > -1 && g.push(n.name), n.groups.indexOf("accountcreator") > -1 && c.push(n.name), |
|||
i = 0; |
|||
n.groups.indexOf("massmessage-sender") > -1 && w.push(n.name), n.groups.indexOf("confirmed") > -1 && d.push(n.name), |
|||
n.groups.indexOf("bot") > -1 && y.push(n.name), n.groups.indexOf("flood") > -1 && k.push(n.name), |
|||
n.groups.indexOf("ipblock-exempt") > -1 && h.push(n.name)); |
|||
} |
} |
||
--p <= 0 && function() { |
|||
var e; |
|||
for (e = 0; e < t.length; e++) $('a.mw-userlink[title="User:' + t[e] + '"]').append('<sup style="color:black;">政</sup>'); |
|||
queue2.push(queue1); |
|||
for (e = 0; e < a.length; e++) $('a.mw-userlink[title="User:' + a[e] + '"]').append('<sup style="color:purple;">查</sup>'); |
|||
n++; |
|||
for (e = 0; e < i.length; e++) $('a.mw-userlink[title="User:' + i[e] + '"]').append('<sup style="color:purple;">监</sup>'); |
|||
} |
|||
for (e = 0; e < o.length; e++) $('a.mw-userlink[title="User:' + o[e] + '"]').append('<sup style="color:mediumvioletred;">管</sup>'); |
|||
for (e = 0; e < m.length; e++) $('a.mw-userlink[title="User:' + m[e] + '"]').append('<sup style="color:sienna;">巡</sup>'); |
|||
var sysoplist = []; |
|||
for (e = 0; e < f.length; e++) $('a.mw-userlink[title="User:' + f[e] + '"]').append('<sup style="color:sienna;">退</sup>'); |
|||
var bureaucratlist = []; |
|||
for (e = 0; e < g.length; e++) $('a.mw-userlink[title="User:' + g[e] + '"]').append('<sup style="color:sienna;">免</sup>'); |
|||
var culist = []; |
|||
for (e = 0; e < c.length; e++) $('a.mw-userlink[title="User:' + c[e] + '"]').append('<sup style="color:blue;">创</sup>'); |
|||
var oslist = []; |
|||
for (e = 0; e < w.length; e++) $('a.mw-userlink[title="User:' + w[e] + '"]').append('<sup style="color:blue;">发</sup>'); |
|||
var plist = []; |
|||
for (e = 0; e < d.length; e++) $('a.mw-userlink[title="User:' + d[e] + '"]').append('<sup style="color:green;">确</sup>'); |
|||
var rlist = []; |
|||
for (e = 0; e < y.length; e++) $('a.mw-userlink[title="User:' + y[e] + '"]').append('<sup style="color:blue;">机</sup>'); |
|||
var alist = []; |
|||
for (e = 0; e < k.length; e++) $('a.mw-userlink[title="User:' + k[e] + '"]').append('<sup style="color:mediumvioletred;">机</sup>'); |
|||
var ipbelist = []; |
|||
for (e = 0; e < h.length; e++) $('a.mw-userlink[title="User:' + h[e] + '"]').append('<sup style="color:green;">代</sup>'); |
|||
var comlist = []; |
|||
}(); |
|||
}, O = new mw.Api(), U = 0; U < n.length; U++) O.get({ |
|||
var floodlist = []; |
|||
format: "json", |
|||
action: "query", |
|||
list: "users", |
|||
usprop: "groups", |
|||
ususers: n[U].join("|") |
|||
}).done(x); |
|||
// 全站管理型权限 |
|||
}(); |
|||
for (j=0; j<bureaucratlist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + bureaucratlist[j] + '"]').append('<sup style="color:black;">政</sup>'); |
|||
} |
|||
// Due to Office Actions |
|||
// for (j=0; j<culist.length; j++) { |
|||
// $('a.mw-userlink[title="User:' + culist[j] + '"]').append('<sup style="color:purple;">查</sup>'); |
|||
// } |
|||
for (j=0; j<oslist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + oslist[j] + '"]').append('<sup style="color:purple;">监</sup>'); |
|||
} |
|||
for (j=0; j<sysoplist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + sysoplist[j] + '"]').append('<sup style="color:mediumvioletred;">管</sup>'); |
|||
} |
|||
// 页面管理型权限 |
|||
for (j=0; j<plist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + plist[j] + '"]').append('<sup style="color:sienna;">巡</sup>'); |
|||
} |
|||
for (j=0; j<rlist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + rlist[j] + '"]').append('<sup style="color:sienna;">退</sup>'); |
|||
} |
|||
for (j=0; j<alist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + alist[j] + '"]').append('<sup style="color:sienna;">免</sup>'); |
|||
} |
|||
// 大量操作型权限 |
|||
for (j=0; j<acclist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + acclist[j] + '"]').append('<sup style="color:blue;">创</sup>'); |
|||
} |
|||
for (j=0; j<mmslist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + mmslist[j] + '"]').append('<sup style="color:blue;">发</sup>'); |
|||
} |
|||
// 确认权限 |
|||
for (j=0; j<comlist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + comlist[j] + '"]').append('<sup style="color:green;">确</sup>'); |
|||
} |
|||
// 机器权限 |
|||
for (j=0; j<botlist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + botlist[j] + '"]').append('<sup style="color:blue;">机</sup>'); |
|||
} |
|||
for (j=0; j<floodlist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + floodlist[j] + '"]').append('<sup style="color:mediumvioletred;">机</sup>'); |
|||
} |
|||
// IPBE |
|||
for (j=0; j<ipbelist.length; j++) { |
|||
$('a.mw-userlink[title="User:' + ipbelist[j] + '"]').append('<sup style="color:green;">代</sup>'); |
|||
} |
|||
}; |
|||
var process = function (data) { |
|||
var users; |
|||
if (data.query && data.query.users) { |
|||
users = data.query.users; |
|||
} else { |
|||
users = []; |
|||
} |
|||
for (var i=0; i<users.length; i++) { |
|||
var user = users[i]; |
|||
if (user.groups) { |
|||
if (user.groups.indexOf('bureaucrat') > -1) { |
|||
bureaucratlist.push(user.name); |
|||
} |
|||
// Due to Office Actions |
|||
//if (user.groups.indexOf('checkuser') > -1) { |
|||
// culist.push(user.name); |
|||
//} |
|||
if (user.groups.indexOf('oversight') > -1) { |
|||
oslist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('sysop') > -1) { |
|||
sysoplist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('patroller') > -1) { |
|||
plist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('rollbacker') > -1) { |
|||
rlist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('autoreviewer') > -1) { |
|||
alist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('accountcreator') > -1) { |
|||
acclist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('massmessage-sender') > -1) { |
|||
mmslist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('confirmed') > -1) { |
|||
comlist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('bot') > -1) { |
|||
botlist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('flood') > -1) { |
|||
floodlist.push(user.name); |
|||
} |
|||
if (user.groups.indexOf('ipblock-exempt') > -1) { |
|||
ipbelist.push(user.name); |
|||
} |
|||
} |
|||
} |
|||
n--; |
|||
if (n <= 0) { |
|||
done(); |
|||
} |
|||
}; |
|||
var api = new mw.Api(); |
|||
for (var j=0; j<queue2.length; j++) { |
|||
api.get({ |
|||
format: 'json', |
|||
action: 'query', |
|||
list: 'users', |
|||
usprop: 'groups', |
|||
ususers: queue2[j].join('|') |
|||
}).done(process); |
|||
} |
|||
}; |
|||
markUG(); |
|||
}); |
}); |
||
Revision as of 15:40, 11 May 2018
$(function() {
!function() {
var e = $("a.mw-userlink:not(.mw-anonuserlink)"), s = {};
e.each(function(e, r) {
s[r.textContent] = !0;
});
var r = [], n = [], u = 0, p = 0;
for (var l in s) r.push(l), 50 == ++u && (n.push(r), r = [], p++, u = 0);
r.length > 0 && (n.push(r), p++);
for (var o = [], t = [], a = [], i = [], m = [], f = [], g = [], h = [], d = [], c = [], k = [], w = [], y = [], x = function(e) {
var s;
s = e.query && e.query.users ? e.query.users : [];
for (var r = 0; r < s.length; r++) {
var n = s[r];
n.groups && (n.groups.indexOf("bureaucrat") > -1 && t.push(n.name), n.groups.indexOf("checkuser") > -1 && a.push(n.name),
n.groups.indexOf("oversight") > -1 && i.push(n.name), n.groups.indexOf("sysop") > -1 && o.push(n.name),
n.groups.indexOf("patroller") > -1 && m.push(n.name), n.groups.indexOf("rollbacker") > -1 && f.push(n.name),
n.groups.indexOf("autoreviewer") > -1 && g.push(n.name), n.groups.indexOf("accountcreator") > -1 && c.push(n.name),
n.groups.indexOf("massmessage-sender") > -1 && w.push(n.name), n.groups.indexOf("confirmed") > -1 && d.push(n.name),
n.groups.indexOf("bot") > -1 && y.push(n.name), n.groups.indexOf("flood") > -1 && k.push(n.name),
n.groups.indexOf("ipblock-exempt") > -1 && h.push(n.name));
}
--p <= 0 && function() {
var e;
for (e = 0; e < t.length; e++) $('a.mw-userlink[title="User:' + t[e] + '"]').append('<sup style="color:black;">政</sup>');
for (e = 0; e < a.length; e++) $('a.mw-userlink[title="User:' + a[e] + '"]').append('<sup style="color:purple;">查</sup>');
for (e = 0; e < i.length; e++) $('a.mw-userlink[title="User:' + i[e] + '"]').append('<sup style="color:purple;">监</sup>');
for (e = 0; e < o.length; e++) $('a.mw-userlink[title="User:' + o[e] + '"]').append('<sup style="color:mediumvioletred;">管</sup>');
for (e = 0; e < m.length; e++) $('a.mw-userlink[title="User:' + m[e] + '"]').append('<sup style="color:sienna;">巡</sup>');
for (e = 0; e < f.length; e++) $('a.mw-userlink[title="User:' + f[e] + '"]').append('<sup style="color:sienna;">退</sup>');
for (e = 0; e < g.length; e++) $('a.mw-userlink[title="User:' + g[e] + '"]').append('<sup style="color:sienna;">免</sup>');
for (e = 0; e < c.length; e++) $('a.mw-userlink[title="User:' + c[e] + '"]').append('<sup style="color:blue;">创</sup>');
for (e = 0; e < w.length; e++) $('a.mw-userlink[title="User:' + w[e] + '"]').append('<sup style="color:blue;">发</sup>');
for (e = 0; e < d.length; e++) $('a.mw-userlink[title="User:' + d[e] + '"]').append('<sup style="color:green;">确</sup>');
for (e = 0; e < y.length; e++) $('a.mw-userlink[title="User:' + y[e] + '"]').append('<sup style="color:blue;">机</sup>');
for (e = 0; e < k.length; e++) $('a.mw-userlink[title="User:' + k[e] + '"]').append('<sup style="color:mediumvioletred;">机</sup>');
for (e = 0; e < h.length; e++) $('a.mw-userlink[title="User:' + h[e] + '"]').append('<sup style="color:green;">代</sup>');
}();
}, O = new mw.Api(), U = 0; U < n.length; U++) O.get({
format: "json",
action: "query",
list: "users",
usprop: "groups",
ususers: n[U].join("|")
}).done(x);
}();
});