MediaWiki:Gadget-markadmins.js: различия между версиями

Нет описания правки
новый код
Строка 1: Строка 1:
$(function() {
mw.loader.using('mediawiki.util', function() {
  var userSet = {//Список пользователей
var userSet = {
    'Б': '|Exlex|Pyaniy mutant|',
'Б':['Exlex','Pyaniy mutant','Dream','Ramir','Saint Johann','Serebr','Valk ster'],
    'А': '|Exlex|Pyaniy mutant|Dimetr|Странник27|',
'А':['Exlex','Pyaniy mutant','Dimetr','Странник27'],
    'ПИ': '|Dimetr|Боевой Космический Роботонный Робот|Тэйтанка-птекила|Serebr|角白羊宮|Anton199|Аддхиранирр|',
'ПИ':['Боевой Космический Роботонный Робот', 'Тэйтанка-птекила', 'Serebr', '角白羊宮', 'Anton199', 'Аддхиранирр']
  }, userSetTip = {
}, userSetTip = {
    'Б': 'Бюрократ',
'A':'представитель Правления',
    'А': 'Администратор',
'W':'мастер',
    'ПИ': 'Подводящий итоги'
'G':'смотритель',
  };
'R':'эксперт'  
};
   
   
  var mm, f, user, flags, tips;
$(document).ready(function() {
  mw.util.addCSS('tt.userflags { color:#0645ad }');
mw.util.addCSS('tt.userflags {color:#0645ad}');
mw.util.$content.find('a').each( function(i, lnk) {
if( /[?#]/.test(lnk.href) && lnk.href.indexOf('redlink=1') === -1 ) {
return;
}
var mm, f, user, flags, tips;
mm = /^Участни(к|ца):(.*)/.exec(lnk.title);
if( !mm ) {
return;
}
user = decodeURIComponent(mm[2]);
if (lnk.className.indexOf('new') !== -1) {
user = user.replace(/ \([^\)]+\)$/,'');
}
flags = []; tips = [];
for( f in userSet ) {
if($.inArray( user, userSet[f] ) !== -1 ){
flags.push(f);
tips.push(userSetTip[f]);
}
}
if( !flags.length ) {
return;
}
   
   
  mw.util.$content.find('a').each( function(i, lnk) {
tips = ' ('+tips.join(', ')+')';
    if(!(mm = /^Участни(к|ца):(.*)/.exec(lnk.title)) ||
      (/[?#]/.test(lnk.href) && !(/redlink=1/.test(lnk.href))) ) return;
   
   
    user = decodeURIComponent(mm[2]);
$(lnk)
    if (lnk.className.indexOf('new') != -1) {
.after('\u00A0', '<tt class=userflags title="'+tips+'">('+flags.join(',') + ')</tt>')
      user = user.replace(/ \([^\)]+\)$/,'');
.attr('title', $(lnk).attr('title') +  tips);
    }
    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));
  }
  );
}
);