Benutzer:PDD/markAdmins.js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
//***********************************************************************
// Skript ursprünglich von [[Benutzer:Euku]], 28. Dez. 2005
// Ex-Admin-Markierung von [[Benutzer:Sir]] und [[Benutzer:Olliminatore]]
// Adaptierung/zusätzliche Markierungen/Fixes: [[Benutzer:PDD]]
// Aufgeräumt & beschleunigt: [[Benutzer:Littl]]
// Etwas umgeräumt und potentielle Skinabhängigkeit entfernt: [[Benutzer:Guandalug]]
//***********************************************************************
// <nowiki>
jQuery(document).ready(function() {
// Jede der folgenden Variablen kann in der eigenen monobook.js/vector.js/common.js vorbelegt werden.
// Getestet wird jeweils die Ausnahme, Standard ist jeweils das Gegenteil davon.
var markadmins = window.markadmins !== false;
var markcomadmins = window.markcomadmins === true;
var markwdadmins = window.markwdadmins === true;
var markexadmins = window.markexadmins === true;
var markexbureaucrats = window.markexbureaucrats === true;
var markarbcom = window.markarbcom !== false;
var markoversight = window.markoversight !== false;
var markcheckuser = window.markcheckuser !== false;
var marksubpages = window.marksubpages === true;
var dontmarkmyself = window.dontmarkmyself === true;
// Die Markierungen dürfen nie leer sein, das wird hier sichergestellt.
var markatxt = window.markatxt || 'A';
var markbureautxt = window.markbureautxt || 'B';
var markstewtxt = window.markstewtxt || 'S';
var markrenatxt = window.markrenatxt || 'A-Ren';
var markcomatxt = window.markcomatxt || 'Com-A';
var markwdatxt = window.markwdatxt || 'WD-A';
var markexatxt = window.markexatxt || 'Ex-A';
var markexbureautxt = window.markexbureautxt || 'Ex-B';
var markoversighttxt = window.markoversighttxt || 'OS';
var markcheckusertxt = window.markcheckusertxt || 'CU';
var markombudsmantxt = window.markombudsmantxt || 'Omb';
var markarbcomtxt = window.markarbcomtxt || 'SG';
// Ende der vordefinierbaren Variablenwerte
// Vorzeitiger Abbruch, wenn es nichts zu tun gibt.
if (!markadmins && !markcomadmins && !markwdadmins && !markexadmins && !markexbureaucrats)
return;
var isSpecial = mw.config.get('wgCanonicalNamespace') == "Special";
var isHistory = mw.config.get('wgAction') == 'history';
var isUserpage = mw.config.get('wgCanonicalNamespace') == "User" || mw.config.get('wgCanonicalNamespace') == "User_talk";
var isTalk = mw.config.get('wgNamespaceNumber') % 2 == 1;
var isProject = mw.config.get('wgCanonicalNamespace') == "Project";
var isFile = mw.config.get('wgCanonicalNamespace') == "File";
var isHelp = mw.config.get('wgCanonicalNamespace') == "Help";
var isDiff = mw.util.getParamValue('diff') !== null;
if (markadmins) {
var admins=new Array("9xl", "A._Wagner", "Aschroet", "Bal%C3%BB", "Catrin", "DivineDanteRay", "Enomil", "Fkraus", "Frank_Schulenburg", "FrobenChristoph", "Jmb1982", "Joergens.mi", "Jonathan_Gro%C3%9F", "Kellerkind", "Koffeeinist", "Michail", "PDD", "Paulis", "Pfaerrich", "Raymond", "Robot_Monk", "Starshollow", "Timo_M%C3%BCller", "Tolanor");
var admins_str = '|'+admins.join('|')+'|';
var bureaucrats=new Array("Michail", "Paulis");
var bureaucrats_str = '|'+bureaucrats.join('|')+'|';
// Stewards: Abgleich mit http://de.wikipedia.org/w/index.php?title=Spezial%3AGlobale_Benutzerliste&username=&group=steward&limit=100
var stewards=new Array(
/* global stewards */
"Ajraddatz", "Avraham", "Barras", "Bencmq", "Bennylin", "Billinghurst", "Bsadowski1", "DerHexer", "Elfix", "Hoo_man", "J.delanoy", "Jyothis", "M7", "Mardetanha", "Matanya", "Mathonius", "MBisanz", "Melos", "Meno25", "Mentifisto", "MF-Warburg", "Pundit", "Quentinv57", "QuiteUnusual", "Rschen7754", "Ruslik0", "Savh", "Shanmugamp7", "Shizhao", "Snowolf", "SPQRobin", "TBloemink", "Tegel", "Teles", "Thogo", "Trijnstel", "Vituzzu", "Wikitanvir");
var stewards_str = '|'+stewards.join('|')+'|';
// renames
var renadmins=new Array("Finanzer", "Finanzer_der_Trunkene");
var renadmins_str = '|'+renadmins.join('|')+'|';
}
if (markcomadmins) {
// Stand: 14.08.2014
// Notes:
// MPF-UK = MPF on commons
var comadmins=new Array("1Veertje", "32X", "99of9", "A.Savin", "AFBorchert", "ALE%21", "Ahonc", "Aka", "Alan", "Alhen", "Alison", "Alno", "Alpertron", "Amada44", "AnRo0002", "Angr", "Ankry", "Anthere", "Aude", "Avenue", "Avraham", "Axpde", "AzaToth", "Badseed", "Barcex", "Bastique", "Bdk", "Benoit_Rochon", "Beria", "Bidgee", "Billinghurst", "Blackcat", "Blurpeace", "Butko", "Cambalachero", "Captain-tucker", "Cecil", "Chris_73", "ChrisiPK", "ChristianBier", "Ciell", "Cirt", "Common_Good", "CommonsDelinkerHelper", "Cookie", "Courcelles", "Coyau", "D-Kuru", "DaB.", "Dantadd", "Darwinius", "Davepape", "David_Levy", "Dcoetzee", "Denniss", "DerHexer", "Dereckson", "Didym", "Dschwen", "EPO", "EVula", "Ebraminio", "Edgar181", "Effeietsanders", "Elcobbola", "Elitre", "Ellin_Beltz", "Elya", "%C3%89rico_J%C3%BAnior_Wouters", "Esby", "EugeneZelenko", "Ezarate", "Fanghong", "Fastily", "Flominator", "Funfood", "FunkMonk", "Geagea", "Geni", "George_Chernilevsky", "Gestumblindi", "GifTagger", "Gmaxwell", "Gnangarra", "Golbez", "Grin", "Gruznov", "Guillom", "H-stt", "HJ_Mitchell", "Heb", "Hedwig_in_Washington", "Hekerui", "Hesperian", "Howcheng", "Hym411", "Hystrix", "INeverCry", "Indeedous", "Infrogmation", "J_Milburn", "JGHowes", "Jafeluv", "Jameslwoodward", "January", "Jaqen", "Jarekt", "Jastrow", "Jcb", "Jcornelius", "Jdforrester", "Jean-Fr%C3%A9d%C3%A9ric", "Jmabel", "Joergens.mi", "John_Vandenberg", "JuTa", "Juliancolton", "Julo", "JurgenNL", "Jusjih", "KTo288", "Kaldari", "Kallerna", "Kanonkas", "Killiondude", "King_of_Hearts", "Klemen_Kocjancic", "Krd", "Krinkle", "KrinkleBot", "Krzysiu", "Kwj2772", "Kyro", "Leit", "Letartean", "Leyo", "Lobo", "Logan", "Lokal_Profil", "LtPowers", "Ludo29", "Lupo", "Lymantria", "L%C3%A9na", "M0tty", "MBisanz", "MGA73", "MPF-UK", "Magog_the_Ogre", "Maire", "Marcus_Cyron", "Mardetanha", "Martin_H.", "Masur", "Matanya", "Materialscientist", "Mathonius", "Matt314", "Mattbuck", "Maxim", "McZusatz", "Meisam", "Mentifisto", "MichaelMaggs", "Micheletb", "Mitchazenia", "Miya", "Mmxx", "Mono", "Morgankevinj", "Mormegil", "Morning_Sunshine", "Multichill", "Mys_721tx", "Nagy", "NahidSultan", "Natuur12", "Neozoon", "Nick", "Niklem", "Nilfanion", "NordNordWest", "Notafish", "O", "Odder", "Okki", "Otourly", "PierreSelim", "Pitke", "Platonides", "Pleclown", "Poco_a_poco", "Podzemnik", "Polarlys", "Powerek38", "PumpkinSky", "Putnik", "Pymouss", "Ra%27ike", "Ragesoss", "Rama", "Rastrojo", "Raymond", "Rehman", "Reinhard_Kraasch", "Rimshot", "Rodhullandemu", "Romaine", "Ronhjones", "Rosenzweig", "Royalbroil", "Rubin16", "Russavia", "R%C3%BCdiger_W%C3%B6lk", "Sanandros", "Sandstein", "SarahStierch", "SatuSuro", "Sfu", "Shizhao", "Siebrand", "Skeezix1000", "Sphilbrick", "Spiritia", "Sreejithk2000", "Steinsplitter", "Stifle", "Sven_Manguard", "Tabercil", "Taivo", "Tarawneh", "Techman224", "TheDJ", "Thuresson", "Tiptoety", "Tom", "Trijnstel", "Tsca", "T%C3%BArelio", "VIGNERON", "WJBscribe", "Waldir", "Whym", "Wikitanvir", "Wsiegmund", "Wutsje", "Wuzur", "Wvk", "Yann", "Yarl", "Ymblanter", "Yuval_Y", "Zirland", "Zolo", "Zscout370", "Zzyzx11", "%7EPyb");
var comadmins_str = '|'+comadmins.join('|')+'|';
}
if (markwdadmins) {
// Stand: 05.08.2014
// Notes: Wikibase-Entwickler von WMDE werden nicht gekennzeichnet
var wdadmins=new Array("555", "Addshore", "Ajraddatz", "Akkakk", "Alan_ffm", "AmaryllisGardener", "Andreasmperu", "Andre_Engels", "Arkanosis", "Ayack", "Bene*", "Benoit_Rochon", "Bill_william_compton", "Cheers!", "Chrumps", "Calak", "Conny", "Courcelles", "Csigabi", "Cycn", "Delusion23", "Dr_Zimbu", "Ebraminio", "ElfjeTwaalfje", "Ep%C3%ACdosis", "FakirNL", "Florn88", "Fomafix", "Gabbe", "Hahc21", "Hazard-SJ", "Hoo_man", "Hym411", "Inkowik", "Jakec", "JAn_Dud%C3%ADk", "Jasper_Deng", "Jdforrester", "Jianhui67", "Jitrixis", "John_F._Lewis", "JurgenNL", "Ladsgroup", "LadyInGrey", "Legoktm", "Littledogboy", "Lymantria", "Mat%C4%9Bj_Such%C3%A1nek", "Moe_Epsilon", "Multichill", "Nizil_Shah", "Nouill", "Pamputt", "Pasleim", "Penn_Station", "Place_Clichy", "PMG", "Raymond", "Reaper35", "Ricordisamoa", "Rippitippi", "Romaine", "Rschen7754", "Rxy", "Rzuwig", "Saehrimnir", "Sannita", "Scott5114", "Sjoerddebruin", "Sk!d", "Snow_Blizzard", "Sotiale", "Soulkeeper", "SPQRobin", "Stryn", "Sven_Manguard", "Taketa", "TBloemink", "TCN7JM", "Techman224", "Tobias1984", "Tpt", "ValterVB", "Vituzzu", "Vogone", "Vyom25", "Wagino_20100516", "Whym", "Yair_rand", "Ymblanter", "YMS", "Zolo", "%EB%B6%84%EB%8B%B9%EC%84%A0M", "%EC%BD%A9%EA%B0%80%EB%A3%A8");
var wdadmins_str = '|'+wdadmins.join('|')+'|';
}
if (markexadmins) {
var exadmins=new Array("Alexander_Fischer", "AndreasPraefcke", "Cecil", "Centipede", "D", "Jofi", "Joschy", "Schaengel89", "ThomasV", "Xarax");
var exadmins_str = '|'+exadmins.join('|')+'|';
}
if (markexbureaucrats) {
var exbureaucrats=new Array("Jofi");
var exbureaucrats_str = '|'+exbureaucrats.join('|')+'|';
}
// oversight
if (markoversight) {
var oversight=new Array("");
var oversight_str = '|'+oversight.join('|')+'|';
}
// checkuser
if (markcheckuser) {
var checkuser=new Array("");
var checkuser_str = '|'+checkuser.join('|')+'|';
}
// Ombudspersons: Abgleich mit http://de.wikipedia.org/w/index.php?title=Spezial%3AGlobale_Benutzerliste&username=&group=Ombudsmen
var ombudsman=new Array("Avraham", "Gnom", "Huji", "Levg", "M7", "Polimerek", "Sir48", "Stryn", "Thogo");
var ombudsman_str = '|'+ombudsman.join('|')+'|';
if (markarbcom || markadmins) {
var arbcom=new Array("");
var admarbcom=new Array("");
var arbcom_str = '|'+arbcom.join('|')+'|';
var admarbcom_str = '|'+admarbcom.join('|')+'|';
}
if (isSpecial || isHistory || isUserpage || isTalk || isProject || isFile || isHelp || isDiff) {
var i;
var aNode;
var allanchors = document.getElementsByTagName("A");
var allanchorsuser = new Array();
var followupmark;
var searchExp = /\/wiki\/Benutzer(in)?([ _]Diskussion)?:(.+)/;
var searchExpTalk = /[ _]Diskussion:/;
var marker;
var mainpageanchor;
var SGSpecial;
mw.util.addCSS('span.adminMark { font-weight: bold; background-image:none !important; }');
for (i=0; i < allanchors.length; i++) {
aNode = allanchors[i];
mainpageanchor = true;
talkpageanchor = false;
SGSpecial = false;
// if it's a link to a user
if ((href = aNode.getAttribute("href")) && (searchExp.exec(href) != null)) {
currUser = searchExp.exec(href)[3];
/* if (isUserpage) */ currUserClean = currUser.replace(/\/.*/,'');
if (currUserClean != currUser) mainpageanchor = false;
if (searchExpTalk.exec(href) != null) talkpageanchor = true;
if (mainpageanchor) allanchorsuser[i] = currUserClean;
else allanchorsuser[i] = "";
followupmark = false;
if (i>0)
if ((currUserClean == allanchorsuser[i-1]) && talkpageanchor)
followupmark = true;
currUser= "|" + currUserClean + "|";
marker = new Array();
if (admarbcom_str.indexOf(currUser) != -1) {
SGSpecial = true;
if (markarbcom || markadmins) marker.push(markarbcomtxt + "-" + markatxt);
}
if (markadmins && !SGSpecial) {
// don't mark SG-only Adm twice
if (!(admarbcom_str.indexOf(currUser) != -1)) {
// is this user an admin?
if (admins_str.indexOf(currUser) != -1) marker.push(markatxt);
}
// is this user a renamed admin?
if (renadmins_str.indexOf(currUser) != -1) marker.push(markrenatxt);
// is this user a steward?
if (stewards_str.indexOf(currUser) != -1) marker.push(markstewtxt);
// is this user an ombudsman?
if (ombudsman_str.indexOf(currUser) != -1) marker.push(markombudsmantxt);
// is this user a bureaucrat?
if (bureaucrats_str.indexOf(currUser) != -1) marker.push(markbureautxt);
}
if (markoversight) {
// does this user have oversight rights?
if (oversight_str.indexOf(currUser) != -1) marker.push(markoversighttxt);
}
if (markcheckuser) {
// does this user have checkuser rights?
if (checkuser_str.indexOf(currUser) != -1) marker.push(markcheckusertxt);
}
if (markarbcom && !SGSpecial) {
// is this user an arbcom member?
if (arbcom_str.indexOf(currUser) != -1) marker.push(markarbcomtxt);
}
if (markcomadmins) {
// is this user a commons admin?
if (comadmins_str.indexOf(currUser) != -1) marker.push(markcomatxt);
}
if (markwdadmins) {
// is this user a wikidata admin?
if (wdadmins_str.indexOf(currUser) != -1) marker.push(markwdatxt);
}
if (markexadmins) {
// was this user an admin?
if (exadmins_str.indexOf(currUser) != -1) marker.push(markexatxt);
}
if (markexbureaucrats) {
// was this user a bureaucrat?
if (exbureaucrats_str.indexOf(currUser) != -1) marker.push(markexbureautxt);
}
// don't mark followups
if (!followupmark)
// don't mark certain pages, except link to user main page
if (mainpageanchor ||
(marksubpages && (mw.config.get('wgCanonicalSpecialPageName') != "Prefixindex")
&& (mw.config.get('wgCanonicalSpecialPageName') != "Allpages")) )
// check finished, now append node
if ((marker.length > 0) && !(dontmarkmyself && (currUserClean == mw.config.get('wgUserName')))) {
var aMark = document.createElement("span");
aMark.className = "adminMark";
var aMarkText = document.createTextNode("\u00A0(" + marker.join("/") + ")");
aMark.appendChild(aMarkText);
aNode.appendChild(aMark);
}
}
}
}
});
// </nowiki>