میدیاویکی:Gadget-markAdmins.js

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
تێبینی: دوای پاشەکەوتکردن، پێویستە کاشی وێبگەڕەکەت پاک بکەیتەوە تا گۆڕانکارییەکان ببینیت. بۆ گووگڵ کڕۆم، فایەرفۆکس، مایکرۆسۆفت ئێج و سافاری: پەنجە لەسەر دوگمەی ⇧ Shift ڕاگرە و کرتە لەسەر Reload بکە. بۆ وردەکاری و ڕێنمایییەکان لەسەر وێبگەڕەکانی تر، بڕوانە ئێرە.
$( function () {
	function markAdmins() {

//////<------------------------------------------------پێـــرســــتـــی گـــــرووپــــــە نـــــــاوخـــــــــۆکـــــــــــان------------------------------------------------------>////////////////
		// پێرستی بەڕێوەبەران
		var admins = [ 'Aram','Sakura_emad', 'Tessla', 'Kushared', 'Calak', 'Pirehelokan', 'Serchia' ];
		var admins_str = '|' + admins.join( '|' ) + '|';
		
		
		var bureaucrats = [];
		var bureaucrats_str = '|' + bureaucrats.join( '|' ) + '|';

		var checkusers = [];
		var checkusers_str = '|' + checkusers.join( '|' ) + '|';

		var inta_admins = [ 'Aram', 'Sakura_emad','Calak','Épine','Klein_Muçi' ];
		var inta_admins_str = '|' + inta_admins.join( '|' ) + '|';


//////<---------------------------------------------------پێـــرســــتـــی گـــــرووپــــــە ســـەرانـــســەریـــیـــــەکــــان--------------------------------------------->////////////////
		// ستیواردەکان
		var stewards = [ '-revi', 'AmandaNP', 'Base', 'Bsadowski1', 'Elton', 'DerHexer', 'Cromium', 'HakanIST', 'Hoo_man', 'Jon_Kolbert', 'Linedwell', 'MarcoAurelio', 'Martin_Urbanec', 'Masti', 'Matanya', 'MusikAnimal', 'Operator873', 'RadiX', 'Sakretsu',
		'Schniggendiller', 'Sotiale', 'Stanglavine', 'Stryn', 'Tegel', 'Teles', 'Tks4Fish', 'Trijnstel', 'Vituzzu', 'Wiki13', 'Wim_b', 'MarcGarver', 'علاء', 'AntiCompositeNumber', 'BRPever', 'Hasley', 'Vermont','Xaosflux','Mykola7'];
		var stewards_str = '|' + stewards.join( '|' ) + '|';

		// چاودێران
		var ombudsmen = [ 'AGK', 'Ameisenigel', 'Bennylin', 'Daniuu', 'Emufarmers', 'Faendalimas', 'JJMC89', 'MdsShakil', 'Minorax', 'Renvoy', 'Zabe',
		'Renvoy','AGK'];
		var ombudsmen_str = '|' + ombudsmen.join( '|' ) + '|';

		// Global sysops
		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','Infinite0694','1234qwer1234qwer4','Amire80','Billinghurst','Biplab_Anand',
		'CptViraj','Iluvatar','MF-Warburg','Minorax','Mtarch11','NahidSultan','Praxidicae','Samuele2002','Savh','Styyx','Turkmen','Uncitoyen','WhitePhosphorus',
		'WikiBayer','','','','','','','','','','','','',''];
		var global_sysops_str = '|' + global_sysops.join( '|' ) + '|';
		
		var global_rollback = 
		['Eurodyne','Atcovi','Biplab_Anand','Stïnger','Samuele2002','DARIO_SEVERI','Praxidicae','Kirito','1997kB','PlyrStar93','WikiBayer','Jianhui67','XXBlackburnXx',
		'Camouflaged_Mirage','Randykitty','Turkmen','94rain','Jeff_G.','Zetud','WhitePhosphorus','Janbery','MrJaroslavik','J_ansari','DannyS712','~riley','Kostas20142',
		'Hamish','Streetdeck','DutchTina','Bencemac','20041027_tatsu','Infinite0694','Kanjy','Syunsyunminmin','Mirinano','-akko','.snoopy.','94rain','Ah3kal','Ajraddatz',
		'Atcovi','Avicennasis','Az1568','Baiji','Beetstra','Bencemac','Bencmq','Billinghurst','Biplab_Anand','Brewster239','Bridget','Camouflaged_Mirage','Church_of_emacs'
		,'Courcelles','CptViraj','Cyberpower678','Daniuu','Deu','Drummingman','DutchTina','Eihel','Esteban16','Eurodyne','Ezarate','Fabexplosive','Fehufanga','Ferien','FlyingAce',
		'Hamish','Hazard-SJ','Holder','Hydriz','Iluvatar','J_ansari','Jafeluv','Jamesofur','Jan_Myšák','Janbery','Jasper_Deng','JavaHurricane','Jeff_G.','Jianhui67','Johannnes89',
		'Juliancolton','Kirito','Kostas20142','Krinkle','Leyo','LlamaAl','Lofty_abyss','MF-Warburg','Maximillion_Pegasus','MdsShakil','Melos','Minorax','MrJaroslavik','Mtarch11',
		'Nadzik','Neriah','NguoiDungKhongDinhDanh','NuclearWarfare','PiRSquared17','PiRSquared17','Praxidicae','QueerEcofeminist','Renvoy','Rschen7754','Rzuwig','Samuele2002','Savh',
		'Shanmugamp7','Streetdeck','Styyx','Stïnger','Synoman_Barris','Syum90','Tryvix1509','','Ts12rAc','Turkmen','Uncitoyen','Waihorace','WhitePhosphorus','WikiBayer','XXBlackburnXx',
		'Xqt','Yahya','Zabe','Zetud','MathXplore','','','','','','','','','','','','','','',''];
		var global_rollback_str = '|' + global_rollback.join( '|' ) + '|';
		
		var global_renamer = ['ネイ','1997kB','Ahonc','Albertoleoncio','Alison','Bencemac','CptViraj','DejaVu','Itti','Jeff_G.','Jianhui67','Jimmy_Xu','Justlettersandnumbers',
		'Ladsgroup','MdsShakil','Mys_721tx','Nadzik','NahidSultan','Nihonjoe','Nosebagbear','QueerEcofeminist','Rachmat04','Steinsplitter','TonyBallioni','Trần_Nguyễn_Minh_Huy','Turkmen',
		'Uncitoyen','Vladimir_Solovjev','Wong128hk','Yahya','Yerpo','Ymblanter','YourEyesOnly','فيصل','331dot','Acalamari','Adavyd','Ajwaan','Alphama','Avraham','Cabayi','Civvì',
		'Céréales_Killer','Deepfriedokra','Dr-Taher','Editor_D.S','Ejs-80','Eta_Carinae','Euphydryas','Faris_knight','Fitindia','GeneralizationsAreBad','Geonuch','HTPF','JBW','K6ka',
		'Levg','Litlok','LuchoCR','MBq','Maire','Maxim','MemicznyJanusz','Murbaut','NhacNy2412','Ontzak','Oshwah','Peacearth','PhilKnight','Rubin16','Samat','Squasher','Taketa','Tamzin',
		'Tchoř','Ternarius','TheSandDoctor','Track13','Ulubatli_Hasan','Vincent_Vega','WikiFer','Xeno','Yamla','Érico','','','','','','','','','','','','','','','','','','','','','',''];
		
		var global_renamer_str = '|' + global_renamer.join('|') + '|';
		
		var global_interface_editor = ['ESanders_(WMF)','Isaac_(WMF)','Jon_(WMF)','KHarlan_(WMF)','Krinkle','Ladsgroup','Matma_Rex','MusikAnimal_(WMF)','Mvolz_(WMF)',
		'NKohli_(WMF)','Nlaxstrom-WMF','Pathoschild','Roan_Kattouw_(WMF)','SSastry_(WMF)','Seddon_(WMF)','Sophivorus','Tpt','Trizek_(WMF)'];
		
		var global_interface_editor_str = '|' + global_interface_editor.join('|') + '|';
		
		var global_deleter = ['Pathoschild'];
		
		var global_deleter_str = '|' + global_deleter.join('|') + '|';
		
		var staff = ['SBassett_(WMF)','SNg_(WMF)','SPoore_(WMF)','Samuel_(WMF)','Tgr_(WMF)','Tim_Starling_(WMF)','WMFOffice','AJones_(WMF)','AKarani_(WMF)','ATripathi-WMF',
		'BChoo_(WMF)','CMaslak_(WMF)','CSteigenberger_(WMF)','DMaza_(WMF)','DWalden_(WMF)','Guillaume_(WMF)','JEissfeldt_(WMF)','JSutherland_(WMF)','JWang_(WMF)','Jrogers_(WMF)',
		'KLevan_(WMF)','Kalliope_(WMF)','MSchottlender-WMF','Martin_Urbanec_(WMF)','Mdennis_(WMF)','NForrester_(WMF)','NKohli_(WMF)','NahidSultan_(WMF)','PBradley-WMF','PEarley_(WMF)',
		'PSaxena_(WMF)','Reedy_(WMF)','Slaporte_(WMF)','TChan_(WMF)'];
		var staff_str = '|' + staff.join('|') + '|';
		
		var staff_IT = ['ERoss_(WMF)','EBarrios_(WMF)','JLam-WMF','KValencia_(WMF)','MBywater-WMF'];
		var staff_IT_str = '|' + staff_IT.join('|') + '|';
		
		var sysadmin = ['Taavi','TheresNoTime','Tim_Starling_(WMF)','Zabe','Aaron_Schulz_(WMF)','Jdforrester_(WMF)','Jon_(WMF)','Legoktm','Martin_Urbanec','Martin_Urbanec_(WMF)','Reedy_(WMF)'];
		var sysadmin_str = '|'  + sysadmin.join('|') + '|';
		
		var founder = ['Jimbo_Wales'];
		var founder_str =  '|'  + founder.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 it is a user link
				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 = [];

					// Is this user an administrator?
					if ( admins_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'بەڕێوەبەر' );
					}
					// Is this user a bureaucrat?
					if ( bureaucrats_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'بیروکرات' );
					}
					// Is this user a checkuser?
					if ( checkusers_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'پشکنەر' );
					}
					// Is this user an Interface administrator??
					if ( inta_admins_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'تەکنیکی' );
					}
					// Is this user a steward?
					if ( stewards_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'ستیوارد' );
					}
					// Is this user a ombudsmen?
					if ( ombudsmen_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'چاودێر' );
					}
					// Is this user a Global sysop?
					if ( global_sysops_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'GS' );
					}
					// if this user a Global Rollback
					if ( global_rollback_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'GR' );
					}
					// if this user a global renamer
					if ( global_renamer_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'GRN' );
					}
					// if this user a global interface-editor
					if ( global_interface_editor_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'GIE' );
					}
					// if this user is a Global deleter
					if ( global_deleter_str.indexOf( currUser ) !== -1 ) {
						marker.push( 'GE' );
					}
					// if this user is a staff
					if (staff_str.indexOf( currUser ) !== -1){
						marker.push('ستاف');
					}
					if (sysadmin_str.indexOf( currUser ) !== -1){
						marker.push('SA');
					}
					// Specific pages are identified without linking to the user's main page
					if ( mainpageanchor &&
						// Test done, now add node
						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();
});