„Benutzer:PDD/markAdmins.js“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
Stanglavine ist nicht länger Steward. |
Überarbeitet. Ab jetzt können alle Admins die Datenbasis unter Benutzer:CountCountBot/markAdmins-data.json aktualisieren. Automatisierung folgt, wenn ich Zeit habe. |
||
Zeile 1: | Zeile 1: | ||
//*********************************************************************** |
//*********************************************************************** |
||
// Doku dieses Gadgets: [[Wikipedia:Helferlein/markAdmins]] |
|||
// 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]] |
|||
// Daten nach markAdmins-data.json ausgelagert, etc.: [[Benutzer:Count Count]] |
|||
//*********************************************************************** |
|||
// |
|||
// Alle Admins können die Datenbasis unter https://de.wikipedia.org/wiki/Benutzer:CountCountBot/markAdmins-data.json |
|||
// aktualiseren |
|||
// |
|||
//*********************************************************************** |
|||
// <nowiki> |
|||
(function(mw, $) { |
|||
$.getJSON(mw.config.get('wgScriptPath') + '/index.php?action=raw&ctype=application/json&title=Benutzer:CountCountBot/markAdmins-data.json', function(data) { |
|||
// Jede der folgenden Variablen kann in der eigenen monobook.js/vector.js/common.js vorbelegt werden. |
|||
mw.libs.markAdmins = {}; |
|||
// Getestet wird jeweils die Ausnahme, Standard ist jeweils das Gegenteil davon. |
|||
mw.libs.markAdmins.data = data; |
|||
var markadmins = window.markadmins !== false; |
|||
mw.hook('wikipage.content').add(function(content) { annotateUserLinks(); }); |
|||
var markcomadmins = window.markcomadmins === true; |
|||
}); |
|||
var markwdadmins = window.markwdadmins === true; |
|||
var markexadmins = window.markexadmins === true; |
|||
function annotateUserLinks() { |
|||
var markarbcom = window.markarbcom !== false; |
|||
// Jede der folgenden Variablen kann in der eigenen monobook.js/vector.js/common.js vorbelegt werden. |
|||
var markoversight = window.markoversight !== false; |
|||
// Getestet wird jeweils die Ausnahme, Standard ist jeweils das Gegenteil davon. |
|||
var markcheckuser = window.markcheckuser !== false; |
|||
var markadmins = window.markadmins !== false; |
|||
var markcomadmins = window.markcomadmins === true; |
|||
var markwdadmins = window.markwdadmins === true; |
|||
var markexadmins = window.markexadmins === true; |
|||
var |
var markarbcom = window.markarbcom !== false; |
||
var |
var markoversight = window.markoversight !== false; |
||
var markcheckuser = window.markcheckuser !== false; |
|||
// Vorzeitiger Abbruch, wenn es nichts zu tun gibt. |
|||
// Die Markierungen dürfen nie leer sein, das wird hier sichergestellt. |
|||
if (!markadmins && !markcomadmins && !markwdadmins && !markexadmins) |
|||
var markatxt = window.markatxt || 'A'; |
|||
return; |
|||
var markbureautxt = window.markbureautxt || 'B'; |
|||
var markstewtxt = window.markstewtxt || 'S'; |
|||
var markrenatxt = window.markrenatxt || 'A-Ren'; |
|||
var |
var marksubpages = window.marksubpages === true; |
||
var |
var dontmarkmyself = window.dontmarkmyself === true; |
||
// Die Markierungen dürfen nie leer sein, das wird hier sichergestellt. |
|||
var markexatxt = window.markexatxt || 'Ex-A'; |
|||
var markatxt = window.markatxt || 'A'; |
|||
var markbureautxt = window.markbureautxt || 'B'; |
|||
var markstewtxt = window.markstewtxt || 'S'; |
|||
var markrenatxt = window.markrenatxt || 'A-Ren'; |
|||
var |
var markcomatxt = window.markcomatxt || 'Com-A'; |
||
var |
var markwdatxt = window.markwdatxt || 'WD-A'; |
||
var markombudsmantxt = window.markombudsmantxt || 'Omb'; |
|||
var markarbcomtxt = window.markarbcomtxt || 'SG'; |
|||
var markexatxt = window.markexatxt || 'Ex-A'; |
|||
// Ende der vordefinierbaren Variablenwerte |
|||
var markoversighttxt = window.markoversighttxt || 'OS'; |
|||
// Vorzeitiger Abbruch, wenn es nichts zu tun gibt. |
|||
var markcheckusertxt = window.markcheckusertxt || 'CU'; |
|||
if (!markadmins && !markcomadmins && !markwdadmins && !markexadmins) |
|||
var markombudsmantxt = window.markombudsmantxt || 'Omb'; |
|||
return; |
|||
var markarbcomtxt = window.markarbcomtxt || 'SG'; |
|||
// Ende der vordefinierbaren Variablenwerte |
|||
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; |
|||
var isSpecial = mw.config.get('wgCanonicalNamespace') == "Special"; |
|||
if (markadmins) { |
|||
var isHistory = mw.config.get('wgAction') == 'history'; |
|||
// Stand: 24.07.2023 |
|||
var isUserpage = mw.config.get('wgCanonicalNamespace') == "User" || mw.config.get('wgCanonicalNamespace') == "User_talk"; |
|||
var admins=new Array("AFBorchert", "AHZ", "Achim_Raschka", "Aka", "Alraunenstern", "Altkatholik62", "Altsprachenfreund", "Ameisenigel", "Ambross07", "Armin_P.", "Artregor", "Aspiriniks", "Atamari", "Baumfreund-FFM", "Benowar", "Brackenheim", "Bubo_bubo", "Cactus26", "CaroFraTyskland", "Catrin", "Chewbacca2205", "Chricho", "Codc", "Count_Count", "Crazy1880", "Cymothoa_exigua", "C%C3%A9sar", "C%C3%BA_Faoil", "Dandelo", "Der.Traeumer", "DerMaxdorfer", "Doc_Taxon", "Drahreg01", "Elendur", "Elya", "Emergency_doc", "Emes", "Enzian44", "Ephraim33", "Eschenmoser", "Euku", "Felistoria", "Filzstift", "Flibbertigibbet", "Flominator", "Frank_Murmann", "Frank_Schulenburg", "GDK", "Gardini", "Geiserich77", "Gerbil", "Gereon_K.", "Gestumblindi", "Ghilt", "Graphikus", "Gripweed", "HaeB", "Hans-J%C3%BCrgen_H%C3%BCbner", "Hejkal", "Hephaion", "Herzi_Pinki", "Hgzh", "Holder", "Holmium", "Hydro", "Hyperdieter", "Ixitixel", "J_budissin", "JD", "JWBE", "Jcornelius", "Jivee_Blau", "Johannnes89", "J%C3%BCrgen_Oetting", "Kaisersoft", "Karsten11", "Kein_Einstein", "Kenneth_Wehr", "Krd", "Kriddl", "Kuebi", "Kurt_Jansson", "Leser%C3%A4ttin", "LexICon", "Leyo", "Lipstar", "Logograph", "Lou.gruber", "Lustiger_seth", "M.ottenbruch", "MBq", "Mabschaaf", "Machahn", "Maclemo", "Magiers", "Man77", "Memnon335bc", "Mikered", "Minderbinder", "Mo4jolo", "Murli", "Neozoon", "NiTenIchiRyu", "Nikkis", "Nolispanmo", "NordNordWest", "Nordprinz", "Orci", "Ot", "Otberg", "PDD", "Pacogo7", "Partynia", "PaterMcFly", "Perrak", "Poupou_l%27quourouce", "Ptolusque", "Quedel", "Queryzo", "Ra%27ike", "Rainer_Lippert", "Rax", "Raymond", "Redlinux", "Regi51", "Reinhard_Kraasch", "Rmcharb", "Rosenzweig", "S._F._B._Morse", "S.Didam", "SDKmac", "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", "Tsui", "Ureinwohner", "Uwe_Gille", "WAH", "WIKImaniac", "Wahldresdner", "Wahrerwattwurm", "Wdwd", "Werner_von_Basil", "Wnme", "XanonymusX", "XenonX3", "Xqt", "Yellowcard", "Zinnmann", "Zollernalb"); |
|||
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; |
|||
var jsonData = mw.libs.markAdmins.data; |
|||
var bureaucrats=new Array("Achim_Raschka", "Bubo_bubo", "CaroFraTyskland", "Itti", "Kein_Einstein", "Krd", "Leser%C3%A4ttin"); |
|||
var bureaucrats_str = '|'+bureaucrats.join('|')+'|'; |
|||
if (isSpecial || isHistory || isUserpage || isTalk || isProject || isFile || isHelp || isDiff) { |
|||
// Stewards: Abgleich mit http://de.wikipedia.org/w/index.php?title=Spezial%3AGlobale_Benutzerliste&username=&group=steward&limit=100 |
|||
/* global stewards */ |
|||
var stewards=new Array( |
|||
"AmandaNP", "AntiCompositeNumber", "Base", "BRPever", "Bsadowski1", "DerHexer", "Elton", "HakanIST", "Hasley", "Hoo_man", "Jon_Kolbert", "MarcGarver", "MarcoAurelio", "Martin_Urbanec", "Masti", "Mykola7", "Operator873", "RadiX", "Sakretsu", "Schniggendiller", "Sotiale", "Stryn", "Superpes15", "Tegel", "Teles", "Tks4Fish", "Vermont", "Vituzzu", "Wiki13", "Wim_b", "Xaosflux", "%D8%B9%D9%84%D8%A7%D8%A1"); |
|||
var stewards_str = '|'+stewards.join('|')+'|'; |
|||
// renames |
|||
var renadmins=new Array("Gunter_Krebs", "Budissin", "Gunter.krebs", "RKraasch", "St-fl", "Paul_Conradi", "Hoch_auf_einem_Baum", "OnkelJohn", "Gloecknerd", "Ex-Steerpike", "BayernMuenchen", "HOPflaume", "Necrophorus", "Kenny_McFly"); |
|||
var renadmins_str = '|'+renadmins.join('|')+'|'; |
|||
} |
|||
if (markcomadmins) { |
|||
// Stand: 27.06.2023 |
|||
var comadmins=new Array("-revi", "1234qwer1234qwer4", "1Veertje", "32X", "99of9", "A.Savin", "AFBorchert", "Achim55", "Ahonc", "Aka", "Alno", "AnRo0002", "Ankry", "Anthere", "AntiCompositeNumber", "Aude", "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", "De728631", "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", "Howcheng", "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", "Kaldari", "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", "Mdaniels5757", "Mhhossein", "Micheletb", "Mike_Peel", "Minorax", "Missvain", "Mitchazenia", "Miya", "Moheen", "Morgankevinj", "Multichill", "Mys_721tx", "Nagy", "NahidSultan", "Natuur12", "Nick", "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", "Shizhao", "Spiritia", "Sreejithk2000", "Steinsplitter", "Stifle", "Storkk", "Strakhov", "TadejM", "Taivo", "Tarawneh", "The_Squirrel_Conspiracy", "Themightyquill", "Thibaut120094", "Thuresson", "Teles", "Trijnstel", "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 comadmins_str = '|'+comadmins.join('|')+'|'; |
|||
} |
|||
if (markwdadmins) { |
|||
// Notes: Wikibase-Entwickler von WMDE werden nicht gekennzeichnet |
|||
// Stand: 21.07.2023 |
|||
var wdadmins=new Array("%2AYoungjin", "-revi", "1997kB", "Abi%C3%A1n", "Ajraddatz", "AmaryllisGardener", "Ameisenigel", "Andreasmperu", "Ash_Crow", "Ayack", "BRPever", "Bencemac", "Bovlb", "BrokenSegue", "ChristianKl", "DannyS712", "Dexbot", "Ebrahim", "Emu", "Ep%C3%ACdosis", "Esteban16", "Estopedist1", "Fralambert", "Fuzheado", "Gnoeee", "HakanIST", "Hasley", "Hazard-SJ", "Infrastruktur", "Jasper_Deng", "Jianhui67", "Ladsgroup", "Lymantria", "MSGJ", "Mahir256", "Martin_Urbanec", "Mat%C4%9Bj_Such%C3%A1nek", "Mbch331", "Mike_Peel", "Minorax", "MisterSynergy", "MsynABot", "Multichill", "Nikki", "Nikosguard", "Okkn", "Pamputt", "Penn_Station", "Pi_admin_bot", "Romaine", "Rzuwig", "Sannita", "Sotiale", "Stang", "Stryn", "Taketa", "Vargenau", "Vogone", "Wagino_20100516", "Wd-Ryan", "Wiki13", "Ymblanter", "%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", "Wolver%C3%A8ne", "Koavf"); |
|||
var wdadmins_str = '|'+wdadmins.join('|')+'|'; |
|||
} |
|||
if (markexadmins) { |
|||
var exadmins=new Array("-jha-", "-jkb-", "Addicks", "Akl", "AlexR", "Amberg", "Anathema", "ArtMechanic", "Bj%C3%B6rn_Hagemann", "Bradypus", "Breeze", "B%C3%BCcherw%C3%BCrmlein", "Chd", "DaB.", "Doc.Heintz", "Dolos", "EBB", "Fab", "Fantasy", "Gustav_von_Aschenbach", "H-stt", "Herrick", "Inkowik32", "Inkowik", "Jesusfreund", "Katharina", "Coma", "Koethnig2", "Koethnig", "Mijobe", "Paddy", "Regiomontanus", "Sansculotte", "Simplicius", "Steffen_M.", "Steschke", "Triebt%C3%A4ter", /* ... */ "Ulrich.fuchs", "Unscheinbar", "Unukorno", "Woldemar", "El", "Jah", "Rainer_Bielefeld", "Kils", "Keichwa", "PyBot", "DaTroll", "Tinuriand", "Umbenannter_Benutzer1", "P._Birken", "Juesch", "Dickbauch", "Wst", "Gunther", "Markus_Mueller", "Markus_Schwei%C3%9F", "Berlin-Jurist", "Flups", "Tobias_B%C3%A4r", "Tobi_B.", "Srbauer", "Jergen", "Kellerkind", "Anneke_Wolf", "Aglarech", "Ben-Zin", "Igelball", "Ilja_Lorek", "Jofi", "KMJ", "Karl-Henner", "Pit", "Robert_Kropf", "Skriptor", "Smurf", "Terabyte", "Thomas_Luft", "TheRunnerUp", "Urbanus", "Ralf_Roletschek", "Marcela", "Sechmet", "Herr_Klugbeisser", "Erwin_E_aus_U", "Kiker99", "Vulture", "Kantor.JH", "RobbyBer", "Herr_Th.", "Wolfgangbeyer", "Pfalzfrank", "Frank11NR", "Peterlustig", "Mnh", "Achates", "Hermannthomas", "Baba66", "JHeuser", "Aristeides", "Longbow4u", "Baldhur", "Lennert_B", "Syrcro", "Crux", "Alkuin", "My_name", "Zeno_Gantner", "Zenogantner", "TomK32", "LeonWeber", "Leon", "Richardfabi", "Liesel", "Fristu", "Darkone", "W.wolny", "IGEL", "Eloquence", "Tobnu", "Tobias_N%C3%BCssel", "Stern", "Elian", "GS", "Dishayloo", "Schusch", "Georg_Slickers", "Blunt.", "Blunts", "Nocturne", "ChristophLanger", "Arnomane", "Vigala_Veia", "Asb", "Fire", "ElRaki", "Fusslkopp", "Limasign", "Stw", "Cottbus", "Mikue", "Threedots", "Magnus", "Tullius", "Zenon", "Irmgard", "Chef", "Sigune", "Beyer", "LosHawlos", "Hoheit", "Sven-steffen_arndt", "Vic_Fontaine", "Bernhard55", "Echoray", "Triggerhappy", "Leipnizkeks", "Nina", "Fb78", "Rauenstein", "Schewek", "Schnargel", "Stahlkocher", "Manecke", "Rhododendronbusch", "Kubrick", "Waugsberg", "STBR", "NickKnatterton", "C-M", "Geisterbanker", "S1", "Savin_2005", "SibFreak", "Dr._Shaggeman", "Lung", "Geher", "Voyager", "Sa-se", "Geos", "Andibrunt", "Nerd", "Victor_Eremita", "Idler", "Tilla", "Julius1990", "Codeispoetry", "1001", "Smial", "Sebmol", "Harro_von_Wuff", "Nb", "NebMaatRe", "Tr%C3%B6te", "Hufi", "Hufi2404", "ABC1234567", "Wiggum", "Raven", "Don-kun", "Magadan", "Matth%C3%A4us_Wander", "Engelbaet", "Hozro", "Capaci34", "Thomas_Glintzer", "Karl_Gruber", "MichaelDiederich", "Tafkas", "32X", "TAXman", "Presse03", "Silberchen", "Langec", "Adrian_Suter", "Jacktd", "Dundak", "Philipp_Wetzlar", "CdaMVvWgS", "Chrkl", "Mathias_Schindler", "Presroi", "Streifengrasmaus", "Alexander_Z.", "Avatar", "Birger_Fricke", "Chb", "Duesentrieb", "Holger_I.", "Blaite", "John_N.", "Melkom", "Philipendula", "Robodoc", "Sinn", "Rocco", "Zenit", "Toter_Alter_Mann", "Kku", "Lyzzy", "Christian_G%C3%BCnther", "Guenny", "Port(u*o)s", "Catfisheye", "Poisend-Ivy", "Aineias", "Dealerofsalvation", "Schiwago", "Zumbo", "Hei_ber", "Gnu1742", "Guandalug", "Complex", "Geisslr", "Martin-vogel", "Lady_Whistler", "JakobVoss", "Happolati", "Mautpreller", "Janneman", "Florian_Adler", "Schlendrian", "Noddy93", "Klugschnacker", "Marcus_Cyron", "Kenwilliams", "Sarazyn", "Jonathan_Gro%C3%9F", "Stepro", "Media_lib", "Nightflyer", "Henriette_Fiebig", "Tinz", "Alma", "Saibo", "Napa", "Johannes_Rohr", "Jrohr", "Tolanor", "Tolanor_von_Preto", "NEUROtiker", "Niteshift", "LZ6387", "Jan_eissfeldt", "J%C3%B3n", "Pittimann", "Peter200", "Coyote_III", "Memmingen", "Bdk", "Erzbischof", "Okatjerute", "Hafenbar", "Andreas_Werle", "LKD", "L%C3%B6schkandidat", "Sicherlich", "Feba", "Platte", "Artmax", "Leit", "Borheinsieg", "Eigntlich", "Dbenzhuser", "Xocolatl", "WolfgangRieger", "Jodo", "Magnus_Manske", "Redf0x", "Southpark", "Svens_Welt", "Morten_Haan", "Pajz", "Pill", "Ne_discere_cessa!", "FritzG", "Filterkaffee", "Martin_Bahmann", "Denis_Barthel", "Olaf_Simons", "David_Ludwig", "Davidl", "Tigerente", "Ahellwig", "Millbart", "AT", "Factumquintus", "Morgaine", "Pjacobi", "Schreiber", "Seidl", "Cecil", "Michael_Sander", "BLueFiSH.as", "Nicolai_P.", "Np", "Stullkowski", "Pischdi", "El_Duende", "Magnummandel", "Church_of_emacs", "Nemissimo", "Head", "Slomox", "Rainer_Zenz", "Bhuck", "Michail", "Finanzer", "Scherben", "JCS", "Rdb", "NoCultureIcons", "Miraki", "Otto_Normalverbraucher", "Sir", "Pitichinaccio", "DaBroMfld", "AndreasPraefcke", "Mazbln", "BishkekRocks", "Siechfred", "Tsor", "Rolf_H.", "Schweinepeterle", "Merlissimo", "Eike_sauer", "APPER", "Howwi", "Christian2003", "Firefox13", "Polarlys", "Micha", "Entlinkt", "Hukuk%C3%A7u", "Ireas", "Leithian", "Ukko", "Koenraad", "Kurator71", "Kritzolina", "Eynre", "Kh80", "Theghaz", "Thogo", "Thomas_Goldammer", "Horst_Gr%C3%A4bner", "Mogelzahn", "Dr.heintz", "Dr.Heintz", "Doc.Heintz", "IDTG", "Gleiberg", "D", "Nothere", "Grand-Duc", "T%C3%B6njes", "Umherirrender", "Hadhuey", "Carbidfischer", "Engie", "Nicola", "YourEyesOnly", "Kulac", "DerHexer", "Wo_st_01", "Kam_Solusar", "JoeHard", "Toni_M%C3%BCller", "UW", "Siphonarius", "Anka_Friedrich", "JuTa", "Nepenthes", "Pelz", "Plani", "Cherubino", "Hic_et_nunc", "Funkruf", "He3nry", "Der-Wir-Ing", "Hofres", "Wikijunkie", "Itti"); |
|||
var exadmins_str = '|'+exadmins.join('|')+'|'; |
|||
} |
|||
// oversight |
|||
if (markoversight) { |
|||
var oversight=new Array("Doc_Taxon", "Nolispanmo", "Ra%27ike", "Stefan64"); |
|||
var oversight_str = '|'+oversight.join('|')+'|'; |
|||
} |
|||
var admcheckuser_str = ''; |
|||
// checkuser |
|||
if (markcheckuser) { |
|||
var checkuser=new Array("Karsten11", "MBq", "Perrak", "Squasher"); |
|||
var checkuser_str = '|'+checkuser.join('|')+'|'; |
|||
// admcheckuser_str = '|'+admcheckuser.join('|')+'|'; |
|||
} |
|||
// Ombudspersons: Abgleich mit https://de.wikipedia.org/w/index.php?title=Spezial%3AGlobale_Benutzerliste&username=&group=ombudsman&limit=75 |
|||
var ombudsman=new Array("AGK", "Ameisenigel", "Bennylin", "Daniuu", "Emufarmers", "Faendalimas", "JJMC89", "MdsShakil", "Minorax", "Renvoy"); |
|||
var ombudsman_str = '|'+ombudsman.join('|')+'|'; |
|||
if (markarbcom || markadmins) { |
|||
// Notes: 1.12.2022 bis 30.11.2023 (CURRENT) |
|||
var arbcom=new Array("Arabsalam", "Falten-Jura", "Ghilt", "Icodense99", "Luke081515", "Miraki", "Regiomontanus", "Sophie_Elisabeth", "Stephan_Hense", "Th%C3%BCringerChatte"); |
|||
var admarbcom=new Array("Arabsalam", "Falten-Jura", "Icodense99", "Luke081515", "Miraki", "Regiomontanus", "Sophie_Elisabeth", "Stephan_Hense", "Th%C3%BCringerChatte"); |
|||
var arbcom_str = '|'+arbcom.join('|')+'|'; |
|||
var admarbcom_str = '|'+admarbcom.join('|')+'|'; |
|||
} |
|||
if (isSpecial || isHistory || isUserpage || isTalk || isProject || isFile || isHelp || isDiff) { |
|||
var i; |
var i; |
||
var aNode; |
var aNode; |
||
var allanchors = document.getElementsByTagName("A"); |
var allanchors = document.getElementsByTagName("A"); |
||
var allanchorsuser = |
var allanchorsuser = []; |
||
var followupmark; |
var followupmark; |
||
var searchExp = /\/wiki\/Benutzer(in)?([ _]Diskussion)?:(.+)/; |
var searchExp = /\/wiki\/Benutzer(in)?([ _]Diskussion)?:(.+)/; |
||
Zeile 137: | Zeile 86: | ||
mw.util.addCSS('span.adminMark { font-weight: bold; background-image:none !important; }'); |
mw.util.addCSS('span.adminMark { font-weight: bold; background-image:none !important; }'); |
||
for (i=0; i < allanchors.length; i++) { |
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]; |
|||
/* if (isUserpage) */ currUserClean = currUser.replace(/\/.*/,''); |
/* 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 (jsonData.admarbcom.includes(currUser)) { |
|||
SGSpecial = true; |
|||
if (markarbcom || markadmins) marker.push(markarbcomtxt + "-" + markatxt); |
|||
} |
|||
if (jsonData.admcheckuser.includes(currUser)) { |
|||
checkuserSpecial = true; |
|||
if (markcheckuser || markadmins) marker.push(markcheckusertxt + "-" + markatxt); |
|||
} |
|||
if (markadmins) { |
|||
// is this user an admin? |
|||
if (jsonData.admins.includes(currUser)) marker.push(markatxt); |
|||
// is this user a renamed admin? |
|||
if (jsonData.renadmins.includes(currUser)) marker.push(markrenatxt); |
|||
// is this user a steward? |
|||
if (jsonData.stewards.includes(currUser)) marker.push(markstewtxt); |
|||
// is this user an ombudsman? |
|||
if (jsonData.ombudsman.includes(currUser)) marker.push(markombudsmantxt); |
|||
// is this user a bureaucrat? |
|||
if (jsonData.bureaucrats.includes(currUser)) marker.push(markbureautxt); |
|||
} |
|||
if (markoversight) { |
|||
// does this user have oversight rights? |
|||
if (jsonData.oversight.includes(currUser)) marker.push(markoversighttxt); |
|||
} |
|||
if (markcheckuser && !checkuserSpecial) { |
|||
// does this user have checkuser rights? |
|||
if (jsonData.checkuser.includes(currUser)) marker.push(markcheckusertxt); |
|||
} |
|||
if (jsonData.markarbcom && !SGSpecial) { |
|||
// is this user an arbcom member? |
|||
if (jsonData.arbcom.includes(currUser)) marker.push(markarbcomtxt); |
|||
} |
|||
if (markcomadmins) { |
|||
// is this user a commons admin? |
|||
if (jsonData.comadmins.includes(currUser)) marker.push(markcomatxt); |
|||
} |
|||
if (markwdadmins) { |
|||
// is this user a wikidata admin? |
|||
if (jsonData.wdadmins.includes(currUser)) marker.push(markwdatxt); |
|||
} |
|||
if (markexadmins) { |
|||
// was this user an admin? |
|||
if (jsonData.exadmins.includes(currUser)) marker.push(markexatxt); |
|||
} |
|||
// 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 |
// check finished, now append node |
||
if ((marker.length > 0) && !(dontmarkmyself && (currUserClean == mw.config.get('wgUserName')))) { |
if ((marker.length > 0) && !(dontmarkmyself && (currUserClean == mw.config.get('wgUserName')))) { |
||
var |
var skip = false; |
||
for (let i = 0; i < aNode.childNodes.length; i++) { |
|||
if (aNode.childNodes[i].className === "adminMark") { |
|||
skip = true; |
|||
break; |
|||
} |
|||
} |
|||
if (!skip) { |
|||
var aMark = document.createElement("span"); |
|||
aMark.className = "adminMark"; |
|||
var aMarkText = document.createTextNode("\u00A0(" + marker.join("/") + ")"); |
var aMarkText = document.createTextNode("\u00A0(" + marker.join("/") + ")"); |
||
aMark.appendChild(aMarkText); |
aMark.appendChild(aMarkText); |
||
aNode.appendChild(aMark); |
aNode.appendChild(aMark); |
||
} |
} |
||
} |
} |
||
} |
|||
} |
} |
||
} |
} |
||
} |
|||
}); |
|||
}(mediaWiki, jQuery)); |
|||
// </nowiki> |
Version vom 24. Juli 2023, 16:35 Uhr
//***********************************************************************
// Doku dieses Gadgets: [[Wikipedia:Helferlein/markAdmins]]
// 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]]
// Daten nach markAdmins-data.json ausgelagert, etc.: [[Benutzer:Count Count]]
//
// Alle Admins können die Datenbasis unter https://de.wikipedia.org/wiki/Benutzer:CountCountBot/markAdmins-data.json
// aktualiseren
//
//***********************************************************************
// <nowiki>
(function(mw, $) {
$.getJSON(mw.config.get('wgScriptPath') + '/index.php?action=raw&ctype=application/json&title=Benutzer:CountCountBot/markAdmins-data.json', function(data) {
mw.libs.markAdmins = {};
mw.libs.markAdmins.data = data;
mw.hook('wikipage.content').add(function(content) { annotateUserLinks(); });
});
function annotateUserLinks() {
// 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 markarbcom = window.markarbcom !== false;
var markoversight = window.markoversight !== false;
var markcheckuser = window.markcheckuser !== false;
// Vorzeitiger Abbruch, wenn es nichts zu tun gibt.
if (!markadmins && !markcomadmins && !markwdadmins && !markexadmins)
return;
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 markoversighttxt = window.markoversighttxt || 'OS';
var markcheckusertxt = window.markcheckusertxt || 'CU';
var markombudsmantxt = window.markombudsmantxt || 'Omb';
var markarbcomtxt = window.markarbcomtxt || 'SG';
// Ende der vordefinierbaren Variablenwerte
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;
var jsonData = mw.libs.markAdmins.data;
if (isSpecial || isHistory || isUserpage || isTalk || isProject || isFile || isHelp || isDiff) {
var i;
var aNode;
var allanchors = document.getElementsByTagName("A");
var allanchorsuser = [];
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;
checkuserSpecial = 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 = [];
if (jsonData.admarbcom.includes(currUser)) {
SGSpecial = true;
if (markarbcom || markadmins) marker.push(markarbcomtxt + "-" + markatxt);
}
if (jsonData.admcheckuser.includes(currUser)) {
checkuserSpecial = true;
if (markcheckuser || markadmins) marker.push(markcheckusertxt + "-" + markatxt);
}
if (markadmins) {
// is this user an admin?
if (jsonData.admins.includes(currUser)) marker.push(markatxt);
// is this user a renamed admin?
if (jsonData.renadmins.includes(currUser)) marker.push(markrenatxt);
// is this user a steward?
if (jsonData.stewards.includes(currUser)) marker.push(markstewtxt);
// is this user an ombudsman?
if (jsonData.ombudsman.includes(currUser)) marker.push(markombudsmantxt);
// is this user a bureaucrat?
if (jsonData.bureaucrats.includes(currUser)) marker.push(markbureautxt);
}
if (markoversight) {
// does this user have oversight rights?
if (jsonData.oversight.includes(currUser)) marker.push(markoversighttxt);
}
if (markcheckuser && !checkuserSpecial) {
// does this user have checkuser rights?
if (jsonData.checkuser.includes(currUser)) marker.push(markcheckusertxt);
}
if (jsonData.markarbcom && !SGSpecial) {
// is this user an arbcom member?
if (jsonData.arbcom.includes(currUser)) marker.push(markarbcomtxt);
}
if (markcomadmins) {
// is this user a commons admin?
if (jsonData.comadmins.includes(currUser)) marker.push(markcomatxt);
}
if (markwdadmins) {
// is this user a wikidata admin?
if (jsonData.wdadmins.includes(currUser)) marker.push(markwdatxt);
}
if (markexadmins) {
// was this user an admin?
if (jsonData.exadmins.includes(currUser)) marker.push(markexatxt);
}
// 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 skip = false;
for (let i = 0; i < aNode.childNodes.length; i++) {
if (aNode.childNodes[i].className === "adminMark") {
skip = true;
break;
}
}
if (!skip) {
var aMark = document.createElement("span");
aMark.className = "adminMark";
var aMarkText = document.createTextNode("\u00A0(" + marker.join("/") + ")");
aMark.appendChild(aMarkText);
aNode.appendChild(aMark);
}
}
}
}
}
}
}(mediaWiki, jQuery));
// </nowiki>