মিডিয়াউইকি:Gadget-markAdmins.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন।
- অপেরা: Ctrl-F5 টিপুন।
$(function () {
function markAdmins() {
// স্থির তালিকা
var admins = ['Aishik_Rehman', 'Ashiq_Shawon', 'Ferdous', 'MdsShakil', 'Moheen', 'NahidSultan', 'RiazACU', 'RockyMasum', 'Suvray', 'Wikitanvir', 'Yahya', 'Zaheen', 'আফতাবুজ্জামান'];
var admins_str = '|' + admins.join('|') + '|';
var bureaucrats = ['NahidSultan', 'Wikitanvir'];
var bureaucrats_str = '|' + bureaucrats.join('|') + '|';
var checkusers = ['NahidSultan', 'RiazACU'];
var checkusers_str = '|' + checkusers.join('|') + '|';
var oversighters = ['MdsShakil', 'Yahya'];
var oversighters_str = '|' + oversighters.join('|') + '|';
var inta_admins = ['Yahya', 'আফতাবুজ্জামান'];
var inta_admins_str = '|' + inta_admins.join('|') + '|';
// স্টুয়ার্ডগণ
var stewards = ['Ajraddatz', 'Albertoleoncio', 'AmandaNP', 'AntiCompositeNumber', 'Base', 'Bsadowski1', 'DerHexer', 'Elton', 'EPIC', 'HakanIST', 'Hasley', 'Hoo_man', 'JJMC89', 'Johannnes89', 'Jon_Kolbert', 'MarcGarver', 'Martin_Urbanec', 'Masti', 'Melos', 'Mykola7', 'RadiX', 'Sakretsu', 'Schniggendiller', 'Sotiale', 'Stryn', 'Superpes15', 'Tegel', 'Teles', 'Vermont', 'Wim_b', 'Xaosflux', 'Yahya', 'علاء'];
var stewards_str = '|' + stewards.join('|') + '|';
// ন্যায়পাল কমিশনের সদস্য
var ombudsmen = ['Ameisenigel', 'Arcticocean', 'Bennylin', 'Daniuu', 'Doğu', 'Emufarmers', 'Faendalimas', 'MdsShakil', 'Minorax', 'Nehaoua', 'Renvoy', 'RoySmith', 'だ*ぜ'];
var ombudsmen_str = '|' + ombudsmen.join('|') + '|';
if (
mw.config.get('wgCanonicalNamespace') === 'Special' ||
mw.config.get('wgAction') === 'history' ||
mw.config.get('wgNamespaceNumber') % 2 === 1 ||
mw.config.get('wgCanonicalNamespace') === 'User' ||
mw.config.get('wgCanonicalNamespace') === 'Project' ||
mw.config.get('wgCanonicalNamespace') === 'Help' ||
mw.util.getParamValue('diff') !== null
) {
var i;
var aNode;
var $bodyContent = $('#bodyContent').get(0);
var allanchors = $bodyContent ? $bodyContent.getElementsByTagName('A') : [];
var trenn = mw.config.get('wgArticlePath').replace('$1', mw.config.get('wgFormattedNamespaces')[2]) + ':';
var searchExp = new RegExp(mw.util.escapeRegExp(trenn) + '(.+)');
var marker;
var mainpageanchor;
var href;
mw.util.addCSS('span.adminMark { font-weight: bold; }');
for (i = 0; i < allanchors.length; i++) {
aNode = allanchors[i];
mainpageanchor = true;
// যদি এটি কোনও ব্যবহারকারীর লিংক হয়
if ((href = aNode.getAttribute('href')) && (decodeURI(href).indexOf(trenn) !== -1)) {
var currUser = searchExp.exec(decodeURI(href))[1];
var currUserClean = currUser.replace(/\/.*/, '');
if (currUserClean !== currUser) {
mainpageanchor = false;
}
currUser = '|' + currUserClean + '|';
marker = [];
// এই ব্যবহারকারী কি প্রশাসক?
if (admins_str.indexOf(currUser) !== -1) {
marker.push('প্র');
}
// এই ব্যবহারকারী কি ব্যুরোক্র্যাট?
if (bureaucrats_str.indexOf(currUser) !== -1) {
marker.push('ব্যু');
}
// এই ব্যবহারকারী কি ব্যবহারকারী পরীক্ষক?
if (checkusers_str.indexOf(currUser) !== -1) {
marker.push('ব্য-প');
}
// এই ব্যবহারকারী কি গোপনকারী?
if (oversighters_str.indexOf(currUser) !== -1) {
marker.push('OS');
}
// এই ব্যবহারকারী কি ইন্টারফেস প্রশাসক?
if (inta_admins_str.indexOf(currUser) !== -1) {
marker.push('ই-প্র');
}
// এই ব্যবহারকারী কি স্টুয়ার্ড?
if (stewards_str.indexOf(currUser) !== -1) {
marker.push('স্টু');
}
// এই ব্যবহারকারী কি ন্যায়পাল কমিশনের সদস্য?
if (ombudsmen_str.indexOf(currUser) !== -1) {
marker.push('ন্যা');
}
// ব্যবহারকারীর প্রধান পাতার লিংক ব্যতীত নির্দিষ্ট পাতাগুলি চিহ্নিত করবেন না।
if (mainpageanchor && marker.length > 0) {
// Variant 1 (traditionell)
// var aMark = document.createElement('b');
// Variant 2 (vom Erzbschof)
var aMark = document.createElement('span');
aMark.className = 'adminMark';
var aMarkText = document.createTextNode(' (' + marker.join('/') + ')');
aMark.appendChild(aMarkText);
aNode.appendChild(aMark);
}
}
}
}
}
markAdmins();
});