Benutzer:Chaddy/markAdmins.js

Aus Wikipedia

Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen zu sehen: Mozilla/Firefox: Shift-Strg-R, Internet Explorer: Strg-F5, Opera: F5, Safari: ⌘-R, Konqueror: Strg-R.

 importPage('PDD/alertOnChanges.js');
 
 //***********************************************************************
 // Marks admins with something
 // by [[Benutzer:Spongo]]
 // 28. Dez. 2005
 
 // Ex-Admin-Markierung von [[Benutzer:Sir]] und [[Benutzer:Olliminatore]]
 // Adaptierung/zusätzliche Markierungen/Fixes: [[Benutzer:PDD]]
 // Aufgeräumt & beschleunigt: [[Benutzer:Littl]]
 // Aus der deutschsprachigen Wikipedia von [[Benutzer:PDD]] übernommen und angepasst: [[Benutzer:Chaddy]]
 //***********************************************************************
 
 // <nowiki>
 
 var langUser = "Benutzer:";        // in German 'Benutzer:'
 
 // statische Liste (als Backup)
 // Stand: 13.01.2008
 // Hei_ber: temporär ab 7.12. (als Ombudsmann)
 var admins=new Array("Birnkammer_fabian", "Chaddy", "Drini", "Florian_Schott", "Libellulia", "Lou.gruber");
 
 // import der automatisch generierten aktuellen Admin-Liste
 // document.write('<SCRIPT TYPE="text/javascript" SRC=\'http://tools.wikimedia.de/~aka/dewiki_admins_utf8.txt\'><\/SCRIPT>');
 
 function markAdmins() {
 
   // Variables that should be defined in your monobook
   if (typeof(markadmins) == 'undefined')
       markadmins = true;
   if (typeof(markcomadmins) == 'undefined')
       markcomadmins = false;
   if (typeof(markexadmins) == 'undefined')
       markexadmins = false;
 
   if (typeof(markarbcom) == 'undefined')
       markarbcom = true;
   if (typeof(markcheckuser) == 'undefined')
       markcheckuser = true;
   if (typeof(markombudsman) == 'undefined')
       markombudsman = true;
 
   if (!markadmins && !markcomadmins && !markexadmins) return; //nichts zu tun, schnell weg hier 
 
   // alert (for old monobooks)
   if (minimalVersion(29) < 29) return;
 
   if (typeof(marksubpages) == 'undefined')
       marksubpages = false;
   if (typeof(dontmarkmyself) == 'undefined')
       dontmarkmyself = false;
   if (typeof(isSpecial) == 'undefined')
       isSpecial = (wgCanonicalNamespace == "Special");
   if (typeof(isHistory) == 'undefined')
       isHistory = (UrlParameters['action']=='history');
   if (typeof(isUserpage) == 'undefined')
       isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
   if (typeof(isTalk) == 'undefined')
       isTalk = (document.URL.indexOf('Diskussion') > 0); // kludge
   if (typeof(isProject) == 'undefined')
       isProject = (wgCanonicalNamespace == "Project");
   if (typeof(isHelp) == 'undefined')
       isHelp = (wgCanonicalNamespace == "Help");
   if (typeof(isDiff) == 'undefined')
       isDiff = UrlParameters["diff"];
 
   if (markadmins) {
       var admins_str = '|'+admins.join('|')+'|'; 
 
       var bureaucrats=new Array("Birnkammer_fabian");
       var bureaucrats_str = '|'+bureaucrats.join('|')+'|';
 
       // Datrio,Fantasy: bis 22.12.2007
       // Suisui,Snowdog: bis 1.1.2008
       var stewards=new Array("Brion_VIBBER", "Jimbo_Wales", "Tim_Starling", ".anaconda", "Angela", "Anthere", "Bastique", "Darkoneko", "Dbl2010", "DerHexer", "Drini", "Dungodung", "Effeietsanders", "Guillom", "Jon_Harald_S%C3%B8by", "Jusjih", "Kate", "Lar", "M7", "Maveric149" /* auf meta: Daniel Mayer */, "MaxSem", "Millosh", "Nick1915", "Oscar", "Pathoschild", "Rdsmith4", "Redux", "Shanel", "Shizhao", "Sj", "Spacebirdy", "Thogo", "Yann", "Zirland");
       var stewards_str = '|'+stewards.join('|')+'|';
 
       // renames
       var renadmins=new Array();
       var renadmins_str = '|'+renadmins.join('|')+'|';
 
       if (typeof(markatxt) == 'undefined')
           markatxt = "A";
       if (typeof(markbureautxt) == 'undefined')
           markbureautxt = "B"; 
       if (typeof(markstewtxt) == 'undefined')
           markstewtxt = "S";
       if (typeof(markrenatxt) == 'undefined')
           markrenatxt = "A-Ren";
   }
 
   if (markcomadmins) {
       // Notes: Eigntlich = Notschrei on commons
       //        Kuru = D-Kuru on commons
       //        MPF-UK = MPF on commons
       //        Rimshots = Rimshot on commons
       var comadmins=new Array("32X", "ABF", "Aka", "ALE%21", "Anathema", "AndreasPraefcke", "Angr", "Anthere", "Arnomane", "Avatar", "Bdk", "Brion_VIBBER", "Cecil", "Chris_73", "Christian_Nurtsch", "ChristianBier", "Codeispoetry", "DaB.", "Darkone", "Dschwen", "Duesentrieb", "Eigntlich", "Fb78", "Filnik", "Flominator", "Franz_Xaver", "Fred_Chess", "GeorgHH", "Jcornelius", "Joergens.mi", "Kelly_Martin", "Kuru", "Lar", "Lennert_B", "Lupo", "Magnus_Manske", "Majorly", "Manecke", "Marcus_Cyron", "Matt314", "Maximaximax", "MPF-UK", "My_name", "NielsF", "Notafish", "Paddy", "Pimke", "Polarlys", "Ra%27ike", "Rastrojo", "Raymond", "Richie", "Rimshots", "R%C3%BCdiger_W%C3%B6lk", "S1", "Sandstein", "Saperaud", "Siebrand", "Slomox");
       var comadmins_str = '|'+comadmins.join('|')+'|';
 
       if (typeof(markcomatxt) == 'undefined')
           markcomatxt = "Com-A";
   }
 
   if (markexadmins) {
       /*
         Notizen zu den Ex-Admins:
          - PyBot: nur technisch Admin (2003)
          - VIBBER/Starling: Status unklar (als IW-Developer wohl Adm, 2003/2004 in Admin-Liste geführt)
          - VIBBER 20.4.07 selbst geadmint (???)
          - umbenannte Ex-Admins stehen auch hier (keine Extramarkierung für die paar Leute)
          - Legende dazu:
             Coma/Koethnig2 -> Koethnig
             Tinuriand -> DaTroll/Umbenannter Benutzer1 -> P. Birken
             El -> Jah
             Frank 11NR -> Pfalzfrank
          - Deadmin:
             Paddy: 15.4.2005 (WW verloren)
             Anathema: 13.6.2005
             Simplicius: 4.8.2005 (WW verloren)
             Triebtäter: 7.8.2005 (WW verloren)
             Mijobe: 17.9.2005 (WW gewonnen, trotzdem Deadmin)
             Coma + Koethnig: 17.12.2005
             Wst: 31.7.2006 / 5.10.2006
          - Ausstieg:
             Steffen M.: 20.2.2005
             Sansculotte: 23.3.2005
             Dolos: 31.3.2005
             Katharina: 22.4.2005
             Herrick: 24.8.2005
             Breeze: 14.12.2005
             Jesusfreund: 23.1.2006 (WW dann verloren)
             Akl: 12.2.2006
             DaTroll: 5.5.2006 (WW dann verloren)
             Dickbauch: 6.7.2006
             Gunther: 5.12.2006
             Markus Schweiß: 30.3.2007
             Flups: 10.5.2007
             Eike sauer: 9.10.2007
             Tobi B.: 24.10.2007
             Achim Raschka: 1.1.2008
          - Wiedereinstieg:
             Pfalzfrank: 1.7.2007 (Ausstieg 13.6.2007)
             Pjacobi: 24.12.2006 (Ausstieg 14.5.2006)
             Tobnu: 1.7.2007 (Ausstieg 3.4.2007)
             Achim Raschka: 13.7.07. (Ausstieg 2.4.2007)
             FritzG: 6.10.2007 (Ausstieg 2.9.2007)
             Mnh: 3. November 2007 (Ausstieg 24.7.2007)
          - Temp-Deadmin:
             Tobnu (28.9.07-8.10.07)
             Richardfabi (5.11.07-21.11.07)
       */
       var exadmins=new Array("Emes", "Fantasy", "Chb");
       var exadmins_str = '|'+exadmins.join('|')+'|';
 
       /*
         seltsame Einträge im [[Wikipedia:Bürokratenlogbuch]] (Februar 2004) scheinen
         auf E23 und TomK32 als Bürokraten hinzudeuten; hier aber nicht aufgeführt
 
         vor Februar 2004: Admin-Flag durch Developer gesetzt, deshalb Manske aufgeführt
       */
       var exbureaucrats=new Array();
       var exbureaucrats_str = '|'+exbureaucrats.join('|')+'|';
 
       if (typeof(markexatxt) == 'undefined')
           markexatxt = "Ex-A";
       if (typeof(markexbureautxt) == 'undefined')
           markexbureautxt = "Ex-B";
   }
 
   if (markcheckuser) {
       // Notes: nö
       var checkuser=new Array();
       var checkuser_str = '|'+checkuser.join('|')+'|';
 
       if (typeof(markcheckusertxt) == 'undefined')
           markcheckusertxt = "CU";
   }
 
   if (markombudsman) {
       // Notes: nö
       var ombudsman=new Array();
       var ombudsman_str = '|'+ombudsman.join('|')+'|';
 
       if (typeof(markombudsmantxt) == 'undefined')
           markombudsmantxt = "Omb";
   }
 
   if (markarbcom) {
       // Notes: 22.5.2007 bis 1.12.2007
       // var arbcom=new Array("Bubo_bubo", "Janneman", "Lecartia", "Rainer_Zenz", "Thogo", "Henriette_Fiebig", "Kriddl", "Magadan", "Proofreader", "Streifengrasmaus");
 
       // Notes: 1.12.2007 bis 1.6.2008
       var arbcom=new Array();
 
       // Notes: 1.6.2008 bis 1.12.2008
       // var arbcom=new Array("Achates", "Rainer_Zenz", "Sebmol", "SVL", "Thogo");
 
       var arbcom_str = '|'+arbcom.join('|')+'|';
 
       if (typeof(markarbcomtxt) == 'undefined')
           markarbcomtxt = "SG";
   }
 
   if (markarbcom || markadmins) {
       // SG-only Admins
       // Achtung, stehen auch noch oben in der Liste! (und überhaupt ist das hier Murks)
 
       // Notes: 22.5.2007 bis 1.12.2007
       // var admarbcom=new Array("Lecartia", "Proofreader");
 
       // Notes: 1.12.2007 bis 1.6.2008
       var admarbcom=new Array();
 
       var admarbcom_str = '|'+admarbcom.join('|')+'|';
 
       if (typeof(markadmarbcomtxt) == 'undefined')
           markadmarbcomtxt = "SG-A";
   }
 
   if (isSpecial || isHistory || isUserpage || isTalk || isProject || isHelp || isDiff) {
      var i;
      var aNode;
      var allanchors = document.getElementsByTagName("A");      
      var searchExp = /.wiki.Benutzer.(.+)/;
      var trenn="/wiki/" + langUser;
      var marker;
      var mainpageanchor;
 
      for (i=0; i < allanchors.length; i++) {
         aNode = allanchors[i];
         mainpageanchor = true;
         // if it's a link to a user
         if ((href = aNode.getAttribute("href")) && (href.indexOf(trenn) != -1)) {
             currUser = searchExp.exec(href)[1];
             /* if (isUserpage) */ currUserClean = currUser.replace(/\/.*/,'');
             if (currUserClean != currUser) mainpageanchor = false;
             currUser= "|" + currUserClean + "|";
             marker = new Array();
 
             if (markadmins) {
                // 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 bureaucrat?
                if (bureaucrats_str.indexOf(currUser) != -1) marker.push(markbureautxt);
                // 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 (markexadmins) {
                // was this user an admin?
                if (exadmins_str.indexOf(currUser) != -1) marker.push(markexatxt);
                // was this user a bureaucrat?
                if (exbureaucrats_str.indexOf(currUser) != -1) marker.push(markexbureautxt);
             }
 
             if (markcheckuser) {
                // does this user have checkuser rights?
                if (checkuser_str.indexOf(currUser) != -1) marker.push(markcheckusertxt);
             }
 
             if (markombudsman) {
                // is this user member of the [[:m:Ombudsman commission]]?
                if (ombudsman_str.indexOf(currUser) != -1) marker.push(markombudsmantxt);
             }
 
             if (markarbcom) {
                // is this user an arbcom member?
                if (!(admarbcom_str.indexOf(currUser) != -1))
                   if (arbcom_str.indexOf(currUser) != -1) marker.push(markarbcomtxt);
             }
 
             if (markarbcom || markadmins) {
                // is this user a (non-admin) arbcom member?
                if (admarbcom_str.indexOf(currUser) != -1) marker.push(markadmarbcomtxt);
             }
 
             // don't mark certain pages, except link to user main page
             if (mainpageanchor ||
                 (marksubpages && (wgCanonicalSpecialPageName != "Prefixindex")
                               && (wgCanonicalSpecialPageName != "Allpages")) )
             // check finished, now append node
             if ((marker.length > 0) && !(dontmarkmyself && (currUserClean == wgUserName))) {
                var aMark = document.createElement("b");
                var aMarkText = document.createTextNode(" (" + marker.join("/") + ")");
                aMark.appendChild(aMarkText);
                aNode.appendChild(aMark.cloneNode(true));
             }
         }
      }
   }
 }
 
 addOnloadHook(markAdmins);
 
 // </nowiki>