মিডিয়াউইকি:Gadget-markAdmins.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
- অপেরা: Ctrl-F5 টিপুন।
$( function () {
function markAdmins() {
// স্থির তালিকা
var admins = [ 'MdsShakil'];
var admins_str = '|' + admins.join( '|' ) + '|';
var inta_admins = [ 'Aishik_Rehman'];
var inta_admins_str = '|' + inta_admins.join( '|' ) + '|';
// স্টুয়ার্ডগণ
var stewards = [ 'Ajraddatz', 'Albertoleoncio', 'AmandaNP', 'AntiCompositeNumber', 'Base', 'Bsadowski1', 'DerHexer', 'Elton', 'EPIC', 'HakanIST', 'Hasley', 'Hoo_man', 'Jon_Kolbert', 'JJMC89', 'Johannnes89', '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', 'Daniuu', 'Doğu', 'Emufarmers', 'Faendalimas', 'MdsShakil', 'Minorax', 'Nehaoua', 'Renvoy', 'RoySmith' ];
var ombudsmen_str = '|' + ombudsmen.join( '|' ) + '|';
// বৈশ্বিক প্রশাসকগণ
var global_sysops = [ '1234qwer1234qwer4', 'Ameisenigel', 'Amire80', 'Billinghurst', 'Biplab Anand', 'CptViraj', 'Daniuu', 'DannyS712', 'DARIO SEVERI', 'Fehufanga', 'Iluvatar', 'Infinite0694', 'LR0725', 'MdsShakil', 'MF-Warburg', 'Minorax', 'Mtarch11', 'Praxidicae', 'Renvoy', 'Samuele2002', 'Savh', 'Syunsyunminmin', 'Turkmen', 'Uncitoyen', 'WhitePhosphorus', 'WikiBayer' ];
var global_sysops_str = '|' + global_sysops.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 ( 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 ( global_sysops_str.indexOf( currUser ) !== -1 ) {
marker.push( 'বৈ-প্র' );
}
// ব্যবহারকারীর প্রধান পাতার লিংক ব্যতীত নির্দিষ্ট পাতাগুলি চিহ্নিত করবেন না।
if ( mainpageanchor &&
// পরীক্ষা শেষ হয়েছে, এখন নোড যোগ করুন
marker.length > 0
) {
// Variante 1 (traditionell)
// var aMark = document.createElement( 'b' );
// Variante 2 (vom Erzbschof)
var aMark = document.createElement( 'span' );
aMark.className = 'adminMark';
var aMarkText = document.createTextNode( ' (' + marker.join( '/' ) + ')' );
aMark.appendChild( aMarkText );
aNode.appendChild( aMark );
}
}
}
}
}
markAdmins();
});