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

Материал из Абсурдопедии
Перейти к навигации Перейти к поиску
Из Википедии
Нет описания правки
 
(не показано 115 промежуточных версий 7 участников)
Строка 1: Строка 1:
var userSet = {
mw.loader.using('mediawiki.util', function () {
'А': 'Exlex|Pyaniy mutant|Dimetr|Странник27';,
    var userSet = {
'Б':''Exlex|Pyaniy mutant',
        'К': ['Тэйтанка-птекила'],
'П':'|Deevrod|Dimitris|Dmitry Rozhkov|JukoFF|MadDog|Melirius|~obsidian|Pessimist2006|Skydrinker|Trycatch|Vlsergey|'
        'С': ['Тэйтанка-птекила', 'Dimetr','Dirruw\'o'],
}
        'М': ['Dimetr', 'Странник27', 'Адмирал Кабаньерро', 'Nihil Omnia', 'Serebr','Dirruw\'o','Тигр амурский'],
        'Б': ['Собака Баскервилей', 'Аманита Мускария', 'Архисубасинреквазипостгиперпсевдодеантимаг', 'Тима Мурашко'],
        'Р': [
        'Звездолет Робота', 'АнтиУчителка', 'Томас Перси', 'RomaWar', 'Баскервильская собака', 'Старварыч', 'Rain Dreamer', 'VanBash', 'Köpleres','Tundrabeaver', // не зарегистрированы после переезда или фактически не имеют флагов
        'Llwy-ar-lawr', 'Vlad26t', 'Alex Skela', 'Funcold', 'Пламен Янаев', 'Не анонимус333', 'Aibolytt', 'Zutio','Vizator','The Cat1987' // зарегистрированы после переезда
        ],
        'А': ['Звездолет Робота', 'Виталик Штепсель-бот', 'Бот-койот', 'Mark I'],
        'Ч': ['Виталик Штепсель'],
        'Ш': ['Сырнийский оракул'],
        'Я': ['Адмирал Кабаньерро']
    };


var userSetTip = {
    var userSetTip = {
'А':'администратор',
        'К': 'король',
'Б':'бюрократ',
        'С': 'судья',
'П':'подводящий итоги'}
        'М': 'маркиз',
addOnloadHook(markUsers)
        'Б': 'барон',
        'Р': 'рыцарь',
function markUsers(){
        'А': 'автоматон',
var body, lnk, mm, user, mark, i, k, flags, tips
        'Ч': 'чародей',
cont = document.getElementById('bodyContent') || document.getElementById('content')
        'Ш': 'шут',
if (!cont) return
        'Я': 'ясновидец'
var links = cont.getElementsByTagName('A')
    };
for (i=0; i<links.length; i++){
 
  lnk = links[i]
    $(document).ready(function () {
  if (!lnk.title || ! (mm=lnk.title.match('Участник:(.*)'))) continue
        mw.util.$content.find('a').each(function (i, lnk) {
  if (lnk.href.indexOf('?') != -1) continue
            if (/[?#]/.test(lnk.href) && lnk.href.indexOf('redlink=1') === -1) {
  user = decodeURIComponent(mm[1])
                return;
  if (lnk.className.indexOf('new') != -1) user = user.replace(/ \([^\)]+\)$/,'')
            }
  user = '|' + user + '|'
            var mm, f, user, flags, tips;
  flags = []
            mm = /^Участни(к|ца):(.*)/.exec(lnk.title);
  for (k in userSet)
            if (!mm) {
    if (userSet[k].indexOf(user) >= 0)
                return;
  flags.push(k)
            }
  if (flags.length == 0) continue
            user = decodeURIComponent(mm[2]);
  tips = []
            if (lnk.className.indexOf('new') !== -1) {
  for (k in flags) tips.push(userSetTip[flags[k]])
                user = user.replace(/ \([^\)]+\)$/, '');
  mark = document.createElement('tt')
            }
  mark.className = 'userflags'
            flags = []; tips = [];
  mark.appendChild(document.createTextNode('(' + flags.join(',') + ')'))
            for (f in userSet) {
  lnk.appendChild(mark)
                if ($.inArray(user, userSet[f]) !== -1) {
  lnk.title += ' ('+tips.join(', ')+')'
                    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);
        });
    });
});

Текущая версия от 06:08, 11 ноября 2025

mw.loader.using('mediawiki.util', function () {
    var userSet = {
        'К': ['Тэйтанка-птекила'],
        'С': ['Тэйтанка-птекила', 'Dimetr','Dirruw\'o'],
        'М': ['Dimetr', 'Странник27', 'Адмирал Кабаньерро', 'Nihil Omnia', 'Serebr','Dirruw\'o','Тигр амурский'],
        'Б': ['Собака Баскервилей', 'Аманита Мускария', 'Архисубасинреквазипостгиперпсевдодеантимаг', 'Тима Мурашко'],
        'Р': [
        	'Звездолет Робота', 'АнтиУчителка', 'Томас Перси', 'RomaWar', 'Баскервильская собака', 'Старварыч', 'Rain Dreamer', 'VanBash', 'Köpleres','Tundrabeaver', // не зарегистрированы после переезда или фактически не имеют флагов
        	'Llwy-ar-lawr', 'Vlad26t', 'Alex Skela', 'Funcold', 'Пламен Янаев', 'Не анонимус333', 'Aibolytt', 'Zutio','Vizator','The Cat1987' // зарегистрированы после переезда
        ],
        'А': ['Звездолет Робота', 'Виталик Штепсель-бот', 'Бот-койот', 'Mark I'],
        'Ч': ['Виталик Штепсель'],
        'Ш': ['Сырнийский оракул'],
        'Я': ['Адмирал Кабаньерро']
    };

    var userSetTip = {
        'К': 'король',
        'С': 'судья',
        'М': 'маркиз',
        'Б': 'барон',
        'Р': 'рыцарь',
        'А': 'автоматон',
        'Ч': 'чародей',
        'Ш': 'шут',
        'Я': 'ясновидец'
    };

    $(document).ready(function () {
        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;
            }

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

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