Участник:Haffman/MarkAdmins.js

Материал из Википедии — свободной энциклопедии
var userSet = {
'A': '|A.I.|Abiyoyo|Aleksandrit|Alex Smotrov|Alex Spade|Alma Pater|Altes|Artem Korzhimanov|Atorero|Bezik|Bilderling|Blacklake|Bogdanpax|Butko|Cantor|Carn|Claymore|CodeMonk|Ctac|Daryona|David.s.kats|D.bratchuk|Dmitry89|Dmitry Rozhkov|Drbug|DR|Dinamik|Dodonov|Dstary|Eleferen|Elmor|Grebenkov|Gruznov|Ilya Voyager|Infovarius|INSAR|Insider||Jackie|Kalan|Kartmen|Kovani|Kv75|Letzte*Spieler|Lazyhawk|Levg|Lite|Loyna|Michgrig|Mitrius|Mstislavl|NBS|Neon|OneLittleMouse|Panther|Putnik|Rave|Samal|Serguei S. Dukachev|Shakko|ShinePhantom|Sigwald|Stauffenberg|Stassats|TenBaseT|Testus|Torin|Tosha|Track13|VasilievVV|Vladimir Solovjev|Vlsergey|Volkov|Wind|WindEwriX|Wulfson|АлександрВв|Александр Сигачёв|Андрей Романенко|Дядя Фред|Ликка|Николай Путин|С. Л.|Сайга20К|Юрий Педаченко|Якушев Илья|',
'B':'|Maximaximax|Obersachse|Rubin16|Wanderer|',
'C':'|DR|Ilya Voyager|Kv75|Wulfson|Wind|',
'I':'|Amdf|Andreykor|Aserebrenik|Be nt all|Biathlon|Cemenarist|Changall|Convallaria majalis|Deevrod|Deinocheirus|DerLetzteRegenbogen|Dimitris|Doomych|Dr Jorgen|Drakosh|Eugen844|Evacat|FlankerFF|Haffman|Horim|JenVan|JukoFF|Krassotkin|MadDog|MaxBioHazard|Maykel|Melirius|~obsidian|Pasteurizer|Pessimist2006|Postoronniy-13|PtQa|Raise-the-Sail|Rampion|Sergeisemenoff|Skydrinker|The Wrong Man|Trycatch|Qweedsa|Scorpion-811|Wanwa|Wisky|Zero Children|Zooro-Patriot|Yuri Che|Александр Мотин|Александр Русский|Обывало|Рулин|Скороварка|Синдар|Стаканчик|',
'O':'|Александр Сигачёв|Kv75|Blacklake|Levg|',
'K':'|Kv75|Michgrig|TenBaseT|Wanwa|',
'Ar':'|Artem Korzhimanov|D.bratchuk|Vladimir Solovjev|Дядя Фред|Сайга20К|',
'Ar+':'|'
}

var userSetTip = {
'A':'администратор',
'B':'бюрократ',
'C':'проверяющий участников',
'I':'подводящий итоги',
'O':'ревизор',
'K':'клерк',
'Ar':'арбитр',
'Ar+':'резервный арбитр'}



function markUsers(){

 var cont = mw.util.$content || $('#bodyContent')
 var mm, f, user, flags, tips
 if (!cont) return

 mw.util.addCSS('tt.userflags {color:#0645ad}')

 cont.find('a').each( function(i, lnk){

  if (!lnk.title
    || ! (mm=lnk.title.match('^Участник:(.*)'))
    || (/[?#]/.test(lnk.href)&&lnk.href.indexOf('redlink=1')==-1)
  ) return

  user = decodeURIComponent(mm[1])
  if (lnk.className.indexOf('new') != -1) user = user.replace(/ \([^\)]+\)$/,'')
  user = '|' + user + '|'

  flags = []; tips = []
  for (f in userSet)
    if (userSet[f].indexOf(user) >= 0){
      flags.push(f)
      tips.push(userSetTip[f])
    }

  if (!flags.length) return

  tips = ' ('+tips.join(', ')+')'

  $(lnk)
  .after('\u00A0', '<tt class=userflags title="'+tips+'">('+flags.join(',') + ')</tt>')
  .attr('title', $(lnk).attr('title') +  tips)

 })
}

$(markUsers)