Benutzer:UT-Bot/markAdmins.js

Aus Wiktionary, dem freien Wörterbuch
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// HINWEIS: Dieses Skript ist seit 26.07.2020 unter
// [[MediaWiki:Gadget-markAdmins.js]] eingebunden.
// Es kann somit von allen Benutzern in ihren Einstellungen
// bei den "Helferlein" auf einfache Art und Weise aktiviert werden.
// Zur Hilfe siehe bitte [[Wiktionary:Helferlein/markAdmins]]
// Noch ein HINWEIS:
// Unter Benutzer:UT-Bot/markAdmins-bak.js habe ich die Version vom
// 28.07.2020 01:53 abgelegt, da ich hier das ganze Gedönse mit 
// CU, OS, SG etc. (aus der WP) eliminieren will. Wir werden das eh
// so schnell nicht benötigen.
//***********************************************************************
 // 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]]
 // Aus dewiki von Benutzer:PDD/markAdmins.js übernommen und für dewikt angepasst (04.08.2015)
 //***********************************************************************

 // <nowiki>
 
( function ( mw, $ ) {
	function markAdmins( $content ) {

   // 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.
   //
   // die lokalen Benutzergruppen
   // diese sind per Default immer aktiv, müssen bei Bedarf also
   // in der eigenen common.js o. vector.js auf false gesetzt werden,
   // wenn man sie AB-schalten will
   // Der Schalter markadmins bewirkt die ANzeige von
   // Admins, Interface Admins und Bürokraten auf einmal
   var markadmins        = window.markadmins        !== false;
   //
   // markiert ehemalige Bürokraten, per Default aus, kann in der eigenen
   // common.js o. vector.js bei Bedarf auf true gesetzt werden
   var markexbureaucrats = window.markexbureaucrats === true;

   //
   // markiert ehemalige Admins, per Default aus, kann in der eigenen
   // common.js o. vector.js bei Bedarf auf true gesetzt werden
   var markexadmins      = window.markexadmins      === true;

   // die nachfolgenden Benutzergruppen sind per Default NICHT aktiv,
   // müssen also, wenn die Anzeige gewünscht wird,
   // in der eigenen common.js o. vector.js auf true gesetzt werden,
   // wenn man sie AN-schalten will
   //
   // Benutzergruppen aus de.wikipedia
   var markwpadmins      = window.markwpadmins      === true;
   var markwpbureaucrats = window.markwpbureaucrats === true;

   //
   // globale Benutzergruppen
   var markstewards      = window.markstewards      === true;
   var markgladmins      = window.markgladmins      === true;
   var markglrollbacker  = window.markglrollbacker  === true;
   var markombudsman     = window.markombudsman     === true;
   var markrenamers      = window.markrenamers      === true;

   //
   // Admins aus Commons und Wikidate
   var markcomadmins     = window.markcomadmins     === true;
   var markwdadmins      = window.markwdadmins      === true;
   //
   // Schalter, um das Markieren von Unterseiten oder von
   // einem selber zu ermöglichen, sind per Default AUS und
   // müssen bei Bedarf in der eigenen common.js o. vector.js
   // AN-geschaltet werden
   var marksubpages     = window.marksubpages       === true;
   var dontmarkmyself   = window.dontmarkmyself     === true;

   // Die Markierungen dürfen nie leer sein, das wird hier sichergestellt.
   //
   // die lokalen Benutzergruppen
   var markatxt         = window.markatxt         || 'A';
   var markintatxt      = window.markintatxt      || 'IA';
   var markbureautxt    = window.markbureautxt    || 'B';
   var markexatxt       = window.markexatxt       || 'Ex-A';
   var markexbureautxt  = window.markexbureautxt  || 'Ex-B';
   // derzeit nicht aktiv
   //var markrenatxt      = window.markrenatxt      || 'A-Ren';
   // derzeit nicht aktiv

   //
   // Benutzergruppen aus de.wikipedia
   var markwpatxt       = window.markwpatxt       || 'WP-A';
   var markwpbureautxt  = window.markwpbureautxt  || 'WP-B';

   //
   // globale Benutzergruppen
   // but global-renamers are a local group on Meta!
   var markstewtxt      = window.markstewtxt      || 'S';
   var markglatxt       = window.markglatxt       || 'gl-A';
   var markglrollbtxt   = window.markglrollbtxt   || 'gl-R';
   var markombudsmantxt = window.markombudsmantxt || 'Omb';
   var markrenamerstxt  = window.markrenamerstxt  || 'Ren';
   
   //
   // Admins aus Commons und Wikidata
   var markcomatxt      = window.markcomatxt      || 'Com-A';
   var markwdatxt       = window.markwdatxt       || 'WD-A';

// diese Variablen werden einmal täglich in der Nacht von UT-Bot neu ermittelt und bei Bedarf von ihm aktualisiert
// Variablen-A
var admins = [ 'Akinom', 'Bal%C3%BB', 'Caligari', 'Dr._Karl-Heinz_Best', 'Edfyr', 'Formatierer', 'Peter_Gr%C3%B6bner', 'Susann_Schweden', 'TheIgel69', 'Trevas' ];
var intadmins = [ 'Alexander_Gamauf', 'Formatierer' ];
var bureaucrats = [ 'Alexander_Gamauf', 'Udo_T.' ];
var wpadmins = [ 'AFBorchert', 'Aka', 'Alraunenstern', 'Altaripensis2', 'Altkatholik62', 'Altsprachenfreund', 'Ambross07', 'Ameisenigel', 'Armin_P.', 'Artregor', 'Aspiriniks', 'Atamari', 'Baumfreund-FFM', 'Benowar', 'Brackenheim', 'Cactus26', 'Catrin', 'Chewbacca2205', 'Chricho', 'Codc', 'Count_Count', 'Crazy1880', 'Cymothoa_exigua', 'C%C3%A9sar', 'C%C3%BA_Faoil', 'Dandelo', 'Denis_Barthel', 'Der.Traeumer', 'DerMaxdorfer', 'Doc_Taxon', 'Drahreg01', 'Elendur', 'Elya', 'Emergency_doc', 'Emes', 'Enzian44', 'Ephraim33', 'Eschenmoser', 'Euku', 'Falten-Jura', 'Felistoria', 'Filzstift', 'Flibbertigibbet', 'Flominator', 'Frank_Murmann', 'Frank_Schulenburg', 'GDK', 'Gardini', 'Geiserich77', 'Gerbil', 'Gereon_K.', 'Gestumblindi', 'Ghilt', 'Graphikus', 'Gripweed', 'H7', 'HaeB', 'Hans-J%C3%BCrgen_H%C3%BCbner', 'Hejkal', 'Hephaion', 'Herzi_Pinki', 'Hgzh', 'Holder', 'Holmium', 'Hydro', 'Hyperdieter', 'Icodense99', 'J_budissin', 'JD', 'JWBE', 'Jcornelius', 'Jivee_Blau', 'Johannnes89', 'J%C3%BCrgen_Oetting', 'Kaisersoft', 'Karsten11', 'Kenneth_Wehr', 'Koenraad', 'Kriddl', 'Kuebi', 'Kurt_Jansson', 'LexICon', 'Leyo', 'Logograph', 'Lou.gruber', 'Luke081515', 'Lustiger_seth', 'M.ottenbruch', 'MBq', 'Mabschaaf', 'Machahn', 'Maclemo', 'Magiers', 'Man77', 'Memnon335bc', 'Mikered', 'Minderbinder', 'Mo4jolo', 'Murli', 'NadirSH', 'NiTenIchiRyu', 'Nikkis', 'Nolispanmo', 'NordNordWest', 'Nordprinz', 'Orci', 'Ot', 'Otberg', 'PDD', 'Pacogo7', 'Partynia', 'PaterMcFly', 'Perrak', 'Plani', 'Poupou_l%27quourouce', 'Quedel', 'Queryzo', 'Ra%27ike', 'Rainer_Lippert', 'Rax', 'Raymond', 'Redlinux', 'Regi51', 'Regiomontanus', 'Reinhard_Kraasch', 'Rmcharb', 'Rosenzweig', 'S._F._B._Morse', 'S.Didam', 'Saehrimnir', 'Sargoth', 'Schniggendiller', 'Schwalbe', 'Sebastian_Wallroth', 'Seewolf', 'Septembermorgen', 'Shikeishu', 'Solid_State', 'Squasher', 'SteKrueBe', 'Stechlin', 'Stefan', 'Stefan_K%C3%BChn', 'Stefan64', 'Steffen_L%C3%B6we_Gera', 'Superbass', 'ThePeter', 'Ticketautomat', 'Tilman_Berger', 'Timk70', 'Toni_M%C3%BCller', 'Tsui', 'Ureinwohner', 'Uwe_Gille', 'WAH', 'WIKImaniac', 'Wahldresdner', 'Wahrerwattwurm', 'Wdwd', 'Werner_von_Basil', 'Wnme', 'XanonymusX', 'XenonX3', 'Xqt', 'Yellowcard', 'Zinnmann', 'Zollernalb' ];
var wpbureaucrats = [ 'Achim_Raschka', 'Bubo_bubo', 'CaroFraTyskland', 'Kein_Einstein', 'Krd', 'Leser%C3%A4ttin' ];
var stewards = [ 'Ajraddatz', 'Albertoleoncio', 'AmandaNP', 'AntiCompositeNumber', 'Base', 'Bsadowski1', 'DerHexer', 'EPIC', 'Elton', 'HakanIST', 'Hasley', 'Hoo_man', 'JJMC89', 'Johannnes89', 'Jon_Kolbert', 'MarcGarver', 'Martin_Urbanec', 'Masti', 'Melos', 'Mykola7', 'RadiX', 'Sakretsu', 'Schniggendiller', 'Sotiale', 'Stryn', 'Superpes15', 'Tegel', 'Teles', 'Vermont', 'Wim_b', 'Xaosflux', 'Yahya', '%D8%B9%D9%84%D8%A7%D8%A1' ];
var gladmins = [ '1234qwer1234qwer4', 'Ameisenigel', 'Amire80', 'Billinghurst', 'Biplab_Anand', 'CptViraj', 'DARIO_SEVERI', 'Daniuu', 'DannyS712', 'Fehufanga', 'Iluvatar', 'Infinite0694', 'LR0725', 'MF-Warburg', 'MdsShakil', 'Minorax', 'Mtarch11', 'Praxidicae', 'Renvoy', 'Samuele2002', 'Savh', 'Syunsyunminmin', 'TheresNoTime', 'Turkmen', 'Uncitoyen', 'WhitePhosphorus', 'WikiBayer' ];
var glrollbacker = [ '-revi', '.snoopy.', '1997kB', '20041027_tatsu', '511KeV', '94rain', 'A09', 'ABorba_%28WMF%29', 'Ah3kal', 'Alison', 'AramilFeraxa', 'Atcovi', 'Avicennasis', 'Az1568', 'Baiji', 'Beetstra', 'Bencemac', 'Bencmq', 'Brewster239', 'Bridget', 'Camouflaged_Mirage', 'Church_of_emacs', 'Civv%C3%AC', 'Count_Count', 'Courcelles', 'Cyberpower678', 'Deu', 'Drummingman', 'DutchTina', 'Eihel', 'Esteban16', 'Eurodyne', 'Ezarate', 'Fabexplosive', 'Ferien', 'FlyingAce', 'Hamish', 'Hazard-SJ', 'Hide_on_Ros%C3%A9', 'Holder', 'Hydriz', 'J_ansari', 'Jafeluv', 'Jamesofur', 'Jan_My%C5%A1%C3%A1k', 'Janbery', 'Jasper_Deng', 'JavaHurricane', 'Jeff_G.', 'Jianhui67', 'Juliancolton', 'Kanjy', 'Kirito', 'Koavf', 'KonstantinaG07', 'Krinkle', 'Leonidlednev', 'Leyo', 'LlamaAl', 'Lofty_abyss', 'MathXplore', 'Maximillion_Pegasus', 'Mercy', 'Mirinano', 'MrJaroslavik', 'NGC_54', 'Nadzik', 'Neriah', 'NuclearWarfare', 'PlyrStar93', 'QueerEcofeminist', 'Quinlan83', 'Randykitty', 'Rschen7754', 'Rzuwig', 'SCP-2000', 'Sakura_emad', 'Saroj', 'Seewolf', 'Shanmugamp7', 'Streetdeck', 'St%C3%AFnger', 'Svartava', 'Synoman_Barris', 'Syum90', 'Tanbiruzzaman', 'TenWhile6', 'Tigerzeng', 'Tropicalkitty', 'Ts12rAc', 'Vogone', 'Waihorace', 'Wutsje', 'XXBlackburnXx', 'Xqt', 'Ymblanter', 'Zabe', 'Zetud', '~riley', '%D7%9E%D7%A7%D7%A3' ];
var comadmins = [ '-revi', '1234qwer1234qwer4', '1Veertje', '32X', '99of9', 'A.Savin', 'AFBorchert', 'Aafi', 'Abzeronow', 'Achim55', 'Ahonc', 'Aka', 'Alno', 'AnRo0002', 'Ankry', 'Anthere', 'AntiCompositeNumber', 'Aude', 'Bedivere', 'Beno%C3%AEt_Prieur', 'Billinghurst', 'Blackcat', 'BrightRaven', 'Butko', 'Captain-tucker', 'Christian_Ferrer', 'Ciell', 'Common_Good', 'CommonsDelinker', 'CptViraj', 'Cromium', 'Cybularny', 'Czar', 'D-Kuru', 'DMacks', 'DaB.', 'DarwIn', 'Davepape', 'DerHexer', 'Dharmadhyaksha', 'Didym', 'Dyolf77', 'Ebrahim', 'Elcobbola', 'Ellin_Beltz', 'Ellywa', 'Emha', 'EugeneZelenko', 'Explicit', 'Ezarate', 'Fitindia', 'FunkMonk', 'GPSLeo', 'Gbawden', 'Geagea', 'Geni', 'George_Chernilevsky', 'Gestumblindi', 'Gnangarra', 'GreenMeansGo', 'Grin', 'Hekerui', 'Herbythyme', 'Hesperian', 'Holly_Cheng', 'Huntster', 'Indeedous', 'Infrogmation', 'IronGargoyle', 'Jameslwoodward', 'Jaqen', 'Jarekt', 'JarrahTree', 'Jcornelius', 'Jdforrester', 'Jean-Fr%C3%A9d%C3%A9ric', 'Jianhui67', 'Jmabel', 'JoKalliauer', 'Joergens.mi', 'Jon_Kolbert', 'Josve05a', 'Julo', 'Jusjih', 'Kad%C4%B1', 'Kallerna', 'King_of_Hearts', 'Klemen_Kocjancic', 'Krd', 'Krinkle', 'KrinkleBot', 'Kritzolina', 'Leit', 'Leyo', 'Lofty_abyss', 'Lymantria', 'L%C3%A9na', 'MB-one', 'MBisanz', 'MGA73', 'MPF', 'Magog_the_Ogre', 'Mahagaja', 'Maire', 'Marcus_Cyron', 'Masur', 'Materialscientist', 'Matrix', 'Mdaniels5757', 'Mhhossein', 'Micheletb', 'Mike_Peel', 'Minorax', 'Missvain', 'Mitchazenia', 'Miya', 'Moheen', 'Morgankevinj', 'Multichill', 'Mys_721tx', 'Nagy', 'NahidSultan', 'Natuur12', 'Notafish', 'Odder', 'Otourly', 'P199', 'Pi.1415926535', 'Platonides', 'Poco_a_poco', 'Podzemnik', 'Polarlys', 'Pyb', 'Pymouss', 'RP88', 'Ra%27ike', 'Racconish', 'Ragesoss', 'Rama', 'Rastrojo', 'Raymond', 'Red-tailed_hawk', 'Regasterios', 'Rehman', 'Reinhard_Kraasch', 'Rimshot', 'Romaine', 'Rosenzweig', 'Royalbroil', 'Rubin16', 'Rudolphous', 'Ruthven', 'Sanandros', 'Satdeep_Gill', 'Shizhao', 'Spiritia', 'Sreejithk2000', 'Steinsplitter', 'Stifle', 'Storkk', 'Strakhov', 'TadejM', 'Taivo', 'Tarawneh', 'Teles', 'The_Squirrel_Conspiracy', 'Themightyquill', 'Thibaut120094', 'Thuresson', 'Tulsi', 'T%C3%BArelio', 'VIGNERON', 'Wdwd', 'Well-Informed_Optimist', 'Wikitanvir', 'Wutsje', 'Yann', 'Yasu', 'Ymblanter', 'Yuval_CT', 'Zzyzx11', '%C3%89rico', '%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%A0%D0%BE%D0%BC%D0%B0%D0%BD%D0%B5%D0%BD%D0%BA%D0%BE', '%D8%B9%D9%84%D8%A7%D8%A1' ];
var wdadmins = [ '*Youngjin', '1997kB', 'Abi%C3%A1n', 'Ajraddatz', 'AmaryllisGardener', 'Ameisenigel', 'Andreasmperu', 'Ayack', 'Bencemac', 'Bovlb', 'BrokenSegue', 'ChristianKl', 'DannyS712', 'Dexbot', 'EPIC', 'Ebrahim', 'Emu', 'Ep%C3%ACdosis', 'Esteban16', 'Estopedist1', 'FlyingAce', 'Fralambert', 'Fuzheado', 'Gnoeee', 'HakanIST', 'Hasley', 'Hazard-SJ', 'Hjart', 'Infrastruktur', 'Jasper_Deng', 'Jianhui67', 'Koavf', 'KonstantinaG07', 'Ladsgroup', 'Lymantria', 'MSGJ', 'Madamebiblio', 'Mahir256', 'Martin_Urbanec', 'Mat%C4%9Bj_Such%C3%A1nek', 'Mbch331', 'Mike_Peel', 'Minorax', 'MisterSynergy', 'MsynABot', 'Multichill', 'Nikki', 'Nikosguard', 'Pamputt', 'Penn_Station', 'Pi_admin_bot', 'Romaine', 'Rzuwig', 'S8321414', 'Sannita', 'Saroj', 'Sotiale', 'Stang', 'Stryn', 'Vargenau', 'Wagino_20100516', 'Wd-Ryan', 'WikiBayer', 'Wolver%C3%A8ne', 'Yahya', 'Ymblanter', 'Zafer', '%D7%99%D7%95%D7%A0%D7%94_%D7%91%D7%A0%D7%93%D7%9C%D7%90%D7%A7', '%D8%A8%D8%A7%D8%B3%D9%85', '%D8%B9%D9%84%D8%A7%D8%A1' ];
var ombudsman = [ 'Ameisenigel', 'Arcticocean', 'Daniuu', 'Do%C4%9Fu', 'Emufarmers', 'Faendalimas', 'MdsShakil', 'Minorax', 'Nehaoua', 'Renvoy', 'RoySmith', '%E3%81%A0%EF%BC%8A%E3%81%9C' ];
var renamers = [ '-revi', '1997kB', '331dot', 'Aafi', 'Acalamari', 'Adavyd', 'Ahonc', 'Ajwaan', 'Alphama', 'AramilFeraxa', 'Avraham', 'Bencemac', 'Blua_lago', 'Bradv', 'Cabayi', 'Civv%C3%AC', 'CptViraj', 'C%C3%A9r%C3%A9ales_Killer', 'Deepfriedokra', 'DejaVu', 'Dr-Taher', 'DreamRimmer', 'Editor_D.S', 'Ejs-80', 'Eta_Carinae', 'Euphydryas', 'Faris_knight', 'Fitindia', 'FlightTime', 'Framawiki', 'Geonuch', 'Hide_on_Ros%C3%A9', 'Ingenuity', 'Itti', 'J_ansari', 'JBW', 'Jianhui67', 'Jules*', 'Justlettersandnumbers', 'K6ka', 'Kad%C4%B1', 'Ladsgroup', 'Litlok', 'LuchoCR', 'MBq', 'Maire', 'Maxim', 'MdsShakil', 'MemicznyJanusz', 'Mys_721tx', 'Nadzik', 'Neriah', 'NhacNy2412', 'Nihonjoe', 'Ontzak', 'Oshwah', 'Peacearth', 'PhilKnight', 'PurpleBuffalo', 'QueerEcofeminist', 'Rachmat04', 'Rubin16', 'Squasher', 'Steinsplitter', 'Taketa', 'Tamzin', 'Tcho%C5%99', 'TenWhile6', 'Ternarius', 'TheSandDoctor', 'Turkmen', 'Ulubatli_Hasan', 'Uncitoyen', 'Vincent_Vega', 'Vladimir_Solovjev', 'WikiFer', 'Wong128hk', 'Xeno', 'Yamla', 'Yerpo', '%C3%89rico', '%D7%9E%D7%A7%D7%A3', '%D9%81%D9%8A%D8%B5%D9%84', '%E3%83%8D%E3%82%A4' ];
// Variablen-E
// die obigen Variablen werden einmal täglich in der Nacht von UT-Bot neu ermittelt und bei Bedarf von ihm aktualisiert

//bei Bedarf von Hand zu ändern
var exadmins = [ 'Acf', 'Crux', 'Daniel_Seibert', 'Justy', 'Kronf', 'Mathemaster', 'Melancholie', 'Merlin_G.', 'MichaelDiederich', 'Nino_Barbieri', 'Rhingdrache', 'Seidenk%C3%A4fer', 'Spacebirdy', 'SteffenB', 'Stepro', 'S.', 'Thogo', 'Tosca', 'Tragopogon', 'Yoursmile', '%D0%AB%D1%80%D1%83%D0%B0%D1%82%D1%83%D0%BA' ];
var exbureaucrats = [ 'Baisemain', 'DaB.', 'Elleff_Groom', 'Fire', 'Pajz' ];
//bei Bedarf von Hand zu ändern

//derzeit inaktive Variablen
//var renadmins = [ '@XXX@ '];
//derzeit inaktive Variablen
// Ende der vordefinierbaren Variablenwerte

   // Vorzeitiger Abbruch, wenn es nichts zu tun gibt.
   if (!markadmins &&
       !markexadmins &&
       !markwpadmins &&
       !markwpbureaucrats &&
       !markstewards &&
       !markgladmins &&
       !markglrollbacker &&
       !markombudsman &&
       !markrenamers &&
       !markcomadmins &&
       !markwdadmins) {
       	  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 isContrib        = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions';
   var isDiff           = mw.util.getParamValue('diff') !== null;

   if (markadmins) {
       //
       var admins_str = '|' + admins.join( '|' ) + '|';
       var intadmins_str = '|' + intadmins.join( '|' ) + '|';
       var bureaucrats_str = '|' + bureaucrats.join( '|' ) + '|';
//       var renadmins_str = '|' + renadmins.join( '|' ) + '|';
   }

   if (markexadmins) {
       var exadmins_str = '|' + exadmins.join( '|' )+ '|';
   }

   if (markexbureaucrats) {
       var exbureaucrats_str = '|' + exbureaucrats.join( '|' ) + '|';
   }

   if (markwpadmins) {
       var wpadmins_str = '|' + wpadmins.join( '|' )+ '|';
   }
   
   if (markwpbureaucrats) {
       var wpbureaucrats_str = '|' + wpbureaucrats.join( '|' ) + '|';
   }

   if (markcomadmins) {
       var comadmins_str = '|'+comadmins.join('|')+'|';
   }

   if (markwdadmins) {
       var wdadmins_str = '|' + wdadmins.join( '|' ) + '|';
   }

   if (markstewards) {
       var stewards_str = '|' + stewards.join( '|' ) + '|';
   }

   if (markgladmins) {
       var gladmins_str = '|' + gladmins.join( '|' ) + '|';
   }

   if (markglrollbacker) {
       var glrollbacker_str = '|' + glrollbacker.join( '|' )+ '|';
   }

   if (markrenamers) {
       var renamers_str = '|' + renamers.join( '|' )+ '|';
   }

   if (markombudsman) {
   	  var ombudsman_str = '|' + ombudsman.join( '|' ) + '|';
   }

   if (isSpecial || isHistory || isUserpage || isTalk || isProject || isFile || isHelp || isDiff) {
      var i;
      var aNode;
      var allanchors;
      var allanchorsuser = [];
      var followupmark;
      //var searchExp = /\/wiki\/Benutzer(in)?([ _]Diskussion)?:(.+)/;
      // Ersetzt, damit (Diskussion) nicht auch markiert wird,
      // etwas weiter unten muss dann auf searchExp.exec(href)[2]
      // umgestellt werden
      var searchExp = /\/wiki\/Benutzer(in)?:(.+)/;
      var searchExpTalk = /[ _]Diskussion:/;
      var marker;
      var mainpageanchor;
      var SGSpecial;

      if (isUserpage || isContrib) {
      	// für Benutzerseite u. Spezial:Beiträge die bisherige Methode
        allanchors = document.getElementsByTagName('A');
      } else {
      	// für alle anderen die Methode über mw.hook
        allanchors = $content.get( 0 ).getElementsByTagName( 'A' );
      }

      mw.util.addCSS( 'span.adminMark { font-weight: bold; }' );

      for (i=0; i < allanchors.length; i++) {
         aNode = allanchors[i];
         mainpageanchor = true;
         talkpageanchor = false;
         SGSpecial = false;
         checkuserSpecial = false;
         // if it's a link to a user
         if ((href = aNode.getAttribute('href')) && (searchExp.exec(href) !== null)) {
             //currUser = searchExp.exec(href)[3];
             // Ersetzt, damit (Diskussion) nicht auch markiert wird
             // weil etwas weiter oben nun searchExp = /\/wiki\/Benutzer(in)?:(.+)/
             currUser = searchExp.exec(href)[2];
             /* 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 = [];

             if (markadmins) {
                // 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 bureaucrat?
                if (bureaucrats_str.indexOf(currUser) !== -1) {
                	marker.push(markbureautxt);
                }
                // is this user an interface admin?
                if (intadmins_str.indexOf(currUser) !== -1) {
                	marker.push(markintatxt);
                }
             }

             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);
                }
             }

             if (markwpadmins) {
                // is this user a wikipedia admin?
                if (wpadmins_str.indexOf(currUser) !== -1) {
                	marker.push(markwpatxt);
                }
             }
             
             if (markwpbureaucrats) {
                // is this user a wikipedia bureaucrat?
                if (wpbureaucrats_str.indexOf(currUser) !== -1) {
                	marker.push(markwpbureautxt);
                }
             }

             if (markstewards) {
                // is this user a steward?
                if (stewards_str.indexOf(currUser) !== -1) {
                	marker.push(markstewtxt);
                }
             }
             
             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 (markgladmins) {
                // is this user a global sysop?
                if (gladmins_str.indexOf(currUser) !== -1) {
                	marker.push(markglatxt);
                }
             }
             
             if (markglrollbacker) {
                // is this user a global rollbacker?
                if (glrollbacker_str.indexOf(currUser) !== -1) {
                	marker.push(markglrollbtxt);
                }
             }
             
             if (markrenamers) {
                // is this user a global renamer?
                if (renamers_str.indexOf(currUser) !== -1) {
                	marker.push(markrenamerstxt);
                }
             }

             if (markombudsman) {
                // is this user an ombudsman?
                if (ombudsman_str.indexOf(currUser) !== -1) {
                	marker.push(markombudsmantxt);
                }
             }

             // 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')))) {
                    // Umwandlung, damit der Vergleich mit "mw.config.get('wgUserName')" funktioniert
                    var currUserCleanDecoded = decodeURIComponent(currUserClean).replace(/_/g, ' ');
                    if ((marker.length > 0) && !(dontmarkmyself && (currUserCleanDecoded === 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);
                    }
                }
             }
         }
      }
   }
}

	mw.hook( 'wikipage.content' ).add( markAdmins );

}( mediaWiki, jQuery ) );

 // </nowiki>