User:Bosco/MediaWiki:Gadget-MarkRights.js: Difference between revisions

From Test Wiki
Content deleted Content added
这是判断了个什么
mNo edit summary
 
(14 intermediate revisions by 4 users not shown)
Line 11: Line 11:
$(function () {
$(function () {
var groups = {
var groups = {
'abusefilter-admin': {list: [], class: "markrights-abusefilter-admin"},
// 全站管理型权限
'abusefilter-restricted': {list: [], class: "markrights-abusefilter-restricted"},
autopatrol: {list: [], class: "markrights-autopatrol"},
autoreview: {list: [], class: "markrights-autoreview"},
blockedfromchat: {list: [], class: "markrights-blockedfromchat"},
bot: {list: [], class: "markrights-bot"},
bureaucrat: {list: [], class: "markrights-bureaucrat"},
bureaucrat: {list: [], class: "markrights-bureaucrat"},
chatmod: {list: [], class: "markrights-chatmod"},
checkuser: {list: [], class: "markrights-checkuser"},
checkuser: {list: [], class: "markrights-checkuser"},
oversight: {list: [], class: "markrights-oversight"},
'checkuser-temporary-account': {list: [], class: "markrights-checkuser-temporary-account"},
sysop: {list: [], class: "markrights-sysop"},
confirmed: {list: [], class: "markrights-confirmed"},
electionadmin: {list: [], class: "markrights-electionadmin"},
'interface-admin': {list: [], class: "markrights-interface-admin"},
'interface-admin': {list: [], class: "markrights-interface-admin"},
templateeditor: {list: [], class: "markrights-templateeditor"},
'interwiki-admin': {list: [], class: "markrights-interwiki-admin"},
transwiki: {list: [], class: "markrights-transwiki"},
//'non-stewardsuppress': {list: [], class: "markrights-non-stewardsuppress"},
// 页面管理型权限
patroller: {list: [], class: "markrights-patroller"},
patroller: {list: [], class: "markrights-patroller"},
rollbacker: {list: [], class: "markrights-rollbacker"},
'push-subscription-manager': {list: [], class: "markrights-push-subscription-manager"},
autoreviewer: {list: [], class: "markrights-autoreviewer"},
reviewer: {list: [], class: "markrights-reviewer"},
suppress: {list: [], class: "markrights-suppress"},
// 大量操作型权限
accountcreator: {list: [], class: "markrights-accountcreator"},
sysop: {list: [], class: "markrights-sysop"},
'massmessage-sender': {list: [], class: "markrights-massmessage-sender"},
translationadmin: {list: [], class: "markrights-translationadmin"},
steward: {list: [], class: "markrights-steward"},
// 确认权限
confirmed: {list: [], class: "markrights-confirmed"},
sysadmin: {list: [], class: "markrights-sysadmin"},
autoconfirmed: {list: [], class: "markrights-autoconfirmed"},
autoconfirmed: {list: [], class: "markrights-autoconfirmed"},
extendedconfirmed: {list: [], class: "markrights-extendedconfirmed"},
// 机器权限
bot: {list: [], class: "markrights-bot"},
flood: {list: [], class: "markrights-flood"},
// IPBE
'ipblock-exempt': {list: [], class: "markrights-ipblock-exempt"},
};
};
var markUG = function () {
var markUG = function () {
Line 64: Line 64:
var username = mw.util.getParamValue('title', url);
var username = mw.util.getParamValue('title', url);
var decode1 = function (username) {
var decode1 = function (username) {
try {
return decodeURIComponent((function (u) {
return decodeURIComponent(username.replace('User:', '').replace(/_/g, ' '));
try {
} catch (e) {
return decodeURIComponent(u.replace('User:', '').replace(/_/g, ' '));
return decodeURIComponent(username.replace('User:', '').replace(/_/g, ' ').replace(/%/g, '%25'));
} catch (e) {
return u.replace('User:', '').replace(/_/g, ' ').replace(/%(?!\d+)/g, '%25');
}
}
})(username))
};
};
if (username) {
if (username) {
Line 75: Line 77:
username = url.match(/\/wiki\/User:(.+?)$/);
username = url.match(/\/wiki\/User:(.+?)$/);
var decode2 = function (username) {
var decode2 = function (username) {
try {
return decodeURIComponent((function (u) {
return decodeURIComponent(username.replace(/_/g, ' '));
try {
} catch (e) {
return decodeURIComponent(u.replace(/_/g, ' '));
return decodeURIComponent(username.replace(/_/g, ' ').replace(/%/g, '%25'));
} catch (e) {
return u.replace(/_/g, ' ').replace(/%(?!\d+)/g, '%25');
}
}
})(username))
};
};
if (username) {
if (username) {
Line 125: Line 129:
}
}
};
};
var api = new mw.Api();
var api = new mw.Api({ userAgent: 'Gadget-MarkRights' });
for (var j = 0; j < queue2.length; j++) {
for (var j = 0; j < queue2.length; j++) {
api.get({
api.get({
Line 137: Line 141:
};
};
mw.hook('wikipage.content').add(function(e) {
mw.hook('wikipage.content').add(function(e) {
if (e.attr('id') !== 'mw-content-text') return;
if (e.attr('id') === 'mw-content-text') {
markUG();
markUG();
return;
}
if (e.hasClass('mw-changeslist')) markUG();
});
});
});
});