মিডিয়াউইকি: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', 'Moheen', 'MdsShakil', 'NahidSultan', 'RiazACU', 'RockyMasum', 'Suvray', 'Wikitanvir', 'Yahya', 'Zaheen', 'আফতাবুজ্জামান' ];
		var admins_str = '|' + admins.join( '|' ) + '|';


		var bureaucrats = [ 'Wikitanvir', 'NahidSultan' ];
		var bureaucrats_str = '|' + bureaucrats.join( '|' ) + '|';

		var checkusers = [ 'NahidSultan', 'RiazACU' ];
		var checkusers_str = '|' + checkusers.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', '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 = [ 'だ*ぜ', 'Arcticocean', 'Ameisenigel', 'Bennylin', 'Daniuu', 'Doğu', 'Emufarmers', 'Faendalimas', 'MdsShakil', 'Minorax', 'Nehaoua', 'Renvoy', 'RoySmith' ];
		var ombudsmen_str = '|' + ombudsmen.join( '|' ) + '|';

		// বৈশ্বিক প্রশাসকগণ
		//var global_sysops = [ 'Amire80', 'Atcovi', 'BRPever', 'Billinghurst', 'Biplab_Anand', 'CptViraj', 'DARIO_SEVERI', 'DannyS712', 'Hasley' , 'Iluvatar', 'Infinite0694', 'MF-Warburg', 'Minorax', 'NahidSultan', 'Praxidicae', 'Samuele2002', 'Savh', 'Turkmen', 'Uncitoyen', 'Vermont', 'WhitePhosphorus', 'WikiBayer', 'Daniuu', 'Mtarch11', 'Shanmugamp7' ];
		//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 ( bureaucrats_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'ব্যু' );
					}
					// এই ব্যবহারকারী কি ব্যবহারকারী পরীক্ষক?
					if ( checkusers_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();
});