Benutzer:Z thomas/markKatMentors.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
 // Skript übernommen von [[Benutzer:PDD/markAdmins.js]] und angepasst
 //***********************************************************************
 // markAdmins.js:
 // 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]]
 // markMentors.js:
 // umgebaut: [[Benutzer:Anka Friedrich]]
 // BugFix: [[Benutzer:DerHexer]]
 //
 // Einbindung: Siehe [[Wikipedia:Mentorenprogramm/Richtlinien#Mentoren kennzeichnen]]
 //***********************************************************************
 // <nowiki>

 function markMentors() {

   // Variables that should be defined in your monobook
   if (typeof(markmentors) == 'undefined')
       markmentors = true;

   if (!markmentors) 
       return; //nichts zu tun, schnell weg hier

   if (typeof(markmsubpages) == 'undefined')
       markmsubpages = false;
   if (typeof(dontmarkmyself) == 'undefined')
       dontmarkmyself = false;
   if (typeof(isSpecial) == 'undefined')
       isSpecial = (wgCanonicalNamespace == "Special");
   if (typeof(isHistory) == 'undefined')
       isHistory = (wgAction == 'history'); 
   if (typeof(isUserpage) == 'undefined')
       isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
   if (typeof(isTalk) == 'undefined')
       isTalk = (wgNamespaceNumber %2 == 1); 
   if (typeof(isProject) == 'undefined')
       isProject = (wgCanonicalNamespace == "Project");
   if (typeof(isDatei) == 'undefined')
       isDatei = (wgCanonicalNamespace == "File");
   if (typeof(isHelp) == 'undefined')
       isHelp = (wgCanonicalNamespace == "Help");
   if (typeof(isDiff) == 'undefined')
       isDiff = UrlParameters["diff"];

   if (markmentors) {
 // statische Liste (dynamisch: http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat=Benutzer+ist+Mentor&basedeep=1&templates=&mode=al&go=Scannen&format=html&userlang=de )
 // Stand: 21.8.2011
 var mentors=new Array("-jkb-", "Aeggy", "AleXXw", "Altkatholik62", "Anka_Friedrich", "Anton-kurt", "Artmax", "Boonekamp", "B%C3%BCcherw%C3%BCrmlein", "Carport", "Carschten", "Cartinal", "Catfisheye", "CennoxX", "Christian2003", "Church_of_emacs", "Clemensfranz", "Codc", "DerHexer", "Der_Wolf_im_Wald", "Don-kun", "Drahreg01", "Emes", "Ervaude", "Euku", "Factumquintus", "Faltenwolf", "Fecchi", "Felix_K%C3%B6nig", "Fl%C3%BCgelRad", "Frank_Murmann", "Gamma127", "Geiserich77", "Giftpflanze", "GiordanoBruno", "Grand-Duc", "Hannes_R%C3%B6st", "Hans_Koberger", "Hofres", "Hosse", "Howwi", "Hukuk%C3%A7u", "Inkowik", "Iste_Praetor", "Itti", "JCS", "Jbo166", "Joe-Tomato", "Juliana", "KaiMartin", "Kingofears", "Krd", "Lady_Whistler", "Leithian", "Logograph", "M.L", "MSGrabia", "Magister", "Markus_Schulenburg", "Martin1978", "Memorino", "Minderbinder", "Mo4jolo", "Mrilabs", "Ne_discere_cessa!", "Nikkis", "Niklas_555", "Nikolaus_Vocator", "Nirakka", "Nolispanmo", "Oceancetaceen", "Orci", "Pb1791", "Pfieffer_Latsch", "Philipp_Wetzlar", "Pitichinaccio", "Pitlane02", "Pittimann", "Plani", "Polarlys", "Polemos", "Powerboy1110", "RacoonyRE", "Redlinux", "Reimmichl-212", "Reinhard_Kraasch", "SK_Sturm_Fan", "Saehrimnir", "Sargoth", "Snevern", "SpiegelLeser", "THWZ", "Thalan", "Tilla", "Timk70", "Tmv23", "Toffel", "Toter_Alter_Mann", "Ukko", "Ulli Purwin", "Umweltsch%C3%BCtzen", "W._Edlmeier", "Waylon", "Wo_st_01", "XenonX3", "Yellowcard", "Zacke", "Ziko", "Zipferlak");

       var mentors_str = '|'+mentors.join('|')+'|';
 
       if (typeof(markmtxt) == 'undefined')
           markmtxt = "M";
   }

   if (isSpecial || isHistory || isUserpage || isTalk || isProject || isDatei || isHelp || isDiff) {
      var i;
      var mNode;
      var allanchors = document.getElementsByTagName("A");
      var allanchorsuser = new Array();
      var followupmark;
      var searchExp = /\/wiki\/Benutzer(in)?([ _]Diskussion)?:(.+)/;
      var searchExpTalk = /[ _]Diskussion:/;
      var marker;
      var mainpageanchor;

      appendCSS('span.mentorMark { font-weight: bold; }');
      for (i=0; i < allanchors.length; i++) {
         mNode = allanchors[i];
         mainpageanchor = true;
         talkpageanchor = false;
         // if it's a link to a user
         if ((href = mNode.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();

               // is this user a mentor?
               if (mentors_str.indexOf(currUser) != -1) marker.push(markmtxt);

              // don't mark followups
              if (!followupmark)
              // don't mark certain pages, except link to user main page
              if (mainpageanchor ||
                 (markmsubpages && (wgCanonicalSpecialPageName != "Prefixindex")
                                && (wgCanonicalSpecialPageName != "Allpages")) ) {
                 // check finished, now append node
                 if ((marker.length > 0) && !(dontmarkmyself && (currUserClean == wgUserName))) {
                    var mMark = document.createElement("span");
                    mMark.className = "mentorMark";

                    var mMarkText = document.createTextNode(" (" + marker.join("/") + ")");
                    mMark.appendChild(mMarkText);
                    mNode.appendChild(mMark);
                 }
              }
            }
         }
      }
   }

 addOnloadHook(markMentors);

 // </nowiki>