MediaWiki:Gadget-markadmins.js: Difference between revisions
Jump to navigation
Jump to search
m Per request from NguoiDungKhongDinhDanh at Test Wiki:Community portal. Attribution: User:NguoiDungKhongDinhDanh/Gadget-markadmins.js Tag: Reverted |
m Undo revision 20691 by Dmehus (talk) Reverting change; the administrator markers no longer display for me Tags: Undo Reverted |
||
Line 1: | Line 1: | ||
// rewritten by [[m:User:Hoo man]]; 2012-08-26, adapted by [[User:Obersachse]], optimized by [[User:Jack who built the house]] | // rewritten by [[m:User:Hoo man]]; 2012-08-26, adapted by [[User:Obersachse]], optimized by [[User:Jack who built the house]] | ||
(function () { | (function () { | ||
var userSet; | var userSet; | ||
var users_talkLinkOnly; | |||
var userSetTips = { | var userSetTips = { | ||
'A' : 'administrator', | 'A' : 'administrator', | ||
'B' : ' | 'B' : 'burecrat', | ||
'C' : 'checkuser', | 'C' : 'checkuser', | ||
'F' : 'interface administrator', | 'F' : 'interface administrator', | ||
'S' : ' | 'S' : 'Steward', | ||
'SA': ' | 'SA':'System administrator', | ||
}; | }; | ||
Line 30: | Line 31: | ||
); | ); | ||
} | } | ||
var $links = $content.find('a[title^="User"], a[title^="Talk"]'); | var $links = $content.find('a[title^="User"], a[title^="Talk"]'); | ||
if (runNum === 2) { | if (runNum === 2) { | ||
if ($links.length === prevLinksCount) { | if ($links.length === prevLinksCount) { | ||
Line 50: | Line 53: | ||
} | } | ||
$.getJSON(mw.util.wikiScript(), { | |||
title: 'MediaWiki:Gadget-markadmins.json', | |||
action: 'raw' | |||
}).done(function (ans) { | |||
userSet = ans.userSet; | |||
users_talkLinkOnly = ans.users_talkLinkOnly; | |||
}).done(function(ans) { | |||
$links.each(function (i, link) { | $links.each(function (i, link) { | ||
if (!link.parentNode || | if (!link.parentNode || | ||
Line 87: | Line 70: | ||
matches = /^User:(.+)|Talk:(.+)/.exec(link.title); | matches = /^User:(.+)|Talk:(.+)/.exec(link.title); | ||
if (!matches) return; | if (!matches) return; | ||
if (matches[2]) { | if (matches[2] && users_talkLinkOnly.indexOf(matches[2]) !== -1) { | ||
if ($(link).parent().hasClass('mw-usertoollinks') || link.textContent.match(/обс/i)) return; | if ($(link).parent().hasClass('mw-usertoollinks') || link.textContent.match(/обс/i)) return; | ||
matches[1] = matches[2]; | matches[1] = matches[2]; | ||
Line 93: | Line 77: | ||
return; | return; | ||
} | } | ||
user = decodeURIComponent(matches[1]); | user = decodeURIComponent(matches[1]); | ||
if (link.href.indexOf('redlink=1') !== -1) { | if (link.href.indexOf('redlink=1') !== -1) { | ||
user = user.replace(/ \([^\)]+\)$/, ''); | user = user.replace(/ \([^\)]+\)$/, ''); | ||
} | } | ||
for (flag in userSet) { | for (flag in userSet) { | ||
if (userSet[flag].indexOf(user) !== -1 && userSetTips[flag]) { | if (userSet[flag].indexOf(user) !== -1 && userSetTips[flag]) { | ||
Line 106: | Line 90: | ||
} | } | ||
if (!flags.length) return; | if (!flags.length) return; | ||
tips = ' (' + tips.join(', ') + ')'; | tips = ' (' + tips.join(', ') + ')'; | ||
var spanElem = document.createElement('span'); | var spanElem = document.createElement('span'); |