Benutzer:1steenfa/markAdmins.js

Aus Fachschaft_Informatik
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
// <nowiki>
 
 // get URL parameters (used for page type variables)
 var UrlParameters = new Array ();
 readparams();
 
 function readparams() {
  var asReadInUrlParameters;
  var asReadInUrlParameter;
 
  // Get URL parameters
  asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
  for (i = 0; i < asReadInUrlParameters.length; i++) {
    asReadInUrlParameter = asReadInUrlParameters[i].split("=");
    UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
  }
 }
 
 function markAdmins() {
 
   // Variables that should be defined in your monobook
   if (typeof(markadmins) == 'undefined')
       markadmins = true;
 
   if (!markadmins) 
       return; //nichts zu tun, schnell weg hier
 
   var langUser = "Benutzer:";        // in German 'Benutzer:'
 
   if (typeof(marksubpages) == 'undefined')
       marksubpages = 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 (markadmins) {
 // statische Liste
 // Stand: 08.06.2012
 var admins=new Array("0nusplz", "7kraemer", "8bui", "ArneKoehn", "Julian F.", "MariusStuebs", "Muelli", "PatrickFey", "R00t", "Roland Illig", "Steenfatt", "T", "Thorben", "Timon");
 
       var admins_str = '|'+admins.join('|')+'|';
 
       var bureaucrats=new Array("7kraemer", "ArneKoehn", "Julian F.", "MariusStuebs", "Muelli", "PatrickFey", "R00t", "Roland Illig", "Steenfatt", "T");
       var bureaucrats_str = '|'+bureaucrats.join('|')+'|';
 
       if (typeof(markatxt) == 'undefined')
           markatxt = "A";
       if (typeof(markbureautxt) == 'undefined')
           markbureautxt = "B";
       if (typeof(markstewtxt) == 'undefined')
           markstewtxt = "S";
   }
 
   if (isSpecial || isHistory || isUserpage || isTalk || isProject || isDatei || isHelp || isDiff) {
      var i;
      var aNode;
      var allanchors = document.getElementsByTagName("A");
      var searchExp = /.wiki.Benutzer.(.+)/;
      var trenn="/wiki/" + langUser;
      var marker;
      var mainpageanchor;
 
      appendCSS('span.adminMark { font-weight: bold; }');
      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) {
                // is this user an admin?
                if (admins_str.indexOf(currUser) != -1) marker.push(markatxt);               
                // is this user a bureaucrat?
                if (bureaucrats_str.indexOf(currUser) != -1) marker.push(markbureautxt);
             }
 
             // 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))) {
                // Variante 1 (traditionell)
                // var aMark = document.createElement("b");
                // Variante 2
                var aMark = document.createElement("span");
                aMark.className = "adminMark";
 
                var aMarkText = document.createTextNode(" (" + marker.join("/") + ")");
                aMark.appendChild(aMarkText);
                aNode.appendChild(aMark);
             }
         }
      }
   }
 }
 
 addOnloadHook(markAdmins);
 
 // </nowiki>