Jump to content

MediaWiki:Gadget-markAdmins.js

From Wikipedia!

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
$( function () {
	function markAdmins() {

		// স্থির তালিকা
		var admins = [ 'Ashiq Shawon', 'Ferdous', 'Ibrahim Husain Meraj', 'Jayantanth', 'Moheen', 'NahidSultan', 'RockyMasum', 'Suvray', 'Wikitanvir', 'Zaheen', 'আফতাবুজ্জামান' ];
		var admins_str = '|' + admins.join( '|' ) + '|';


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

		var checkusers = [ 'NahidSultan', 'আফতাবুজ্জামান' ];
		var checkusers_str = '|' + checkusers.join( '|' ) + '|';

		var oversights = [ 'Xxx', 'Yyy' ];
		var oversights_str = '|' + oversights.join( '|' ) + '|';

		// স্টুয়ার্ডগণ
		var stewards = [ '-revi', 'Ajraddatz', 'Bsadowski1', 'Defender', 'DerHexer', 'Green Giant', 'HakanIST', 'Hoo_man', 'Jyothis', 'Linedwell', 'MarcoAurelio', 'Mardetanha', 'Masti', 'Matanya', 'Matiia', 'MBisanz', 'Melos', 'Mentifisto', 'MF-Warburg', 'NahidSultan', 'Pmlineditor', 'QuiteUnusual', 'RadiX', 'Ruslik0', 'Rxy', 'Shanmugamp7', 'Sjoerddebruin', 'Stryn', 'Tegel', 'Teles', 'There\'sNoTime', 'Trijnstel', 'Vituzzu', '%D8%B9%D9%84%D8%A7%D8%A1' ];
		var stewards_str = '|' + stewards.join( '|' ) + '|';

		// ন্যায়পাল কমিশনের সদস্য
		var ombudsmen = [ 'Billinghurst' , 'Dyolf77' , 'Elmacenderesi' , 'Góngora' , 'Jamie Tubers' , 'Krd' , 'Pajz' , 'Saileshpat' , 'Teles' ];
		var ombudsmen_str = '|' + ombudsmen.join( '|' ) + '|';

		// বৈশ্বিক প্রশাসকগণ
		var global_sysops = [ 'Ah3kal' , 'Aldnonymous' , 'Amire80' , 'BRPever' , 'Billinghurst' , 'Biplab Anand' , 'DARIO SEVERI' , 'Esteban16' , 'Holder' , 'Huji' , 'Iluvatar' , 'Infinite0694' , 'MF-Warburg' , 'MoiraMoira' , 'PiRSquared17' , 'Praxidicae' , 'Stanglavine' , 'Turkmen' , 'Vermont' , 'Vogone' , 'WhitePhosphorus' , 'WikiBayer' ];
		var global_sysops_str = '|' + global_sysops.join( '|' ) + '|';
 
/* Note: wgCanonicalNamespace is always english regardless of wiki language unless it is a custom namespace, so these are probably wrong */
		if (
			mw.config.get( 'wgCanonicalNamespace' ) === '%E0%A6%AC%E0%A6%BF%E0%A6%B6%E0%A7%87%E0%A6%B7' ||
			mw.config.get( 'wgAction' ) === 'history' ||
			mw.config.get( 'wgNamespaceNumber' ) % 2 === 1 ||
			mw.config.get( 'wgCanonicalNamespace' ) === '%E0%A6%AC%E0%A7%8D%E0%A6%AF%E0%A6%AC%E0%A6%B9%E0%A6%BE%E0%A6%B0%E0%A6%95%E0%A6%BE%E0%A6%B0%E0%A7%80' ||
			mw.config.get( 'wgCanonicalNamespace' ) === '%E0%A6%89%E0%A6%87%E0%A6%95%E0%A6%BF%E0%A6%AA%E0%A6%BF%E0%A6%A1%E0%A6%BF%E0%A6%AF%E0%A6%BC%E0%A6%BE' ||
			mw.config.get( 'wgCanonicalNamespace' ) === '%E0%A6%B8%E0%A6%BE%E0%A6%B9%E0%A6%BE%E0%A6%AF%E0%A7%8D%E0%A6%AF' ||
			mw.util.getParamValue( 'diff' ) !== null
		) {
			var i;
			var aNode;
			var allanchors = $( '#bodyContent' ).get( 0 ).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( 'A' );
					}
					// এই ব্যবহারকারী কি ব্যুরোক্র্যাট?
					if ( bureaucrats_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'B' );
					}
					// এই ব্যবহারকারী কি ব্যবহারকারী পরীক্ষক?
					if ( checkusers_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'CU' );
					}
					// এই ব্যবহারকারী কি ওভারসাইটের?
					if ( oversights_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'OS' );
					}
					// এই ব্যবহারকারী কি স্টুয়ার্ড?
					if ( stewards_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'S' );
					}
					// এই ব্যবহারকারী কি ন্যায়পাল কমিশনের সদস্য?
					if ( ombudsmen_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'Omb' );
					}
					// এই ব্যবহারকারী কি বৈশ্বিক প্রশাসক?
					if ( global_sysops_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'GS' );
					}
					// ব্যবহারকারীর প্রধান পাতার লিংক ব্যতীত নির্দিষ্ট পাতাগুলি চিহ্নিত করবেন না।
					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();
});