Benutzer:CroMagnon/monobook.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
var wma_settings =
{
 height : 400,
 width : 700
}

function ModifySidebar(action, section, name, link) {
    try {
        switch (section) {
          case "languages":
            var target = "p-lang";
            break;
          case "toolbox":
            var target = "p-tb";
            break;
          case "navigation":
            var target = "p-navigation";
            break;
          default:
            var target = "p-" + section;
            break;
        }
 
        if (action == "add") {
            var node = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var aNode = document.createElement('a');
            var liNode = document.createElement('li');
 
            aNode.appendChild(document.createTextNode(name));
            aNode.setAttribute('href', link);
            liNode.appendChild(aNode);
            liNode.className='plainlinks';
            node.appendChild(liNode);
        }
 
        if (action == "remove") {
            var list = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var listelements = list.getElementsByTagName('li');
 
            for (var i = 0; i < listelements.length; i++) {
                if (listelements[i].getElementsByTagName('a')[0].innerHTML == name ||
                    listelements[i].getElementsByTagName('a')[0].href == link) {
 
                    list.removeChild(listelements[i]);
                }
            }
        }
 
    } catch(e) {
      // lets just ignore what's happened
      return;
    }
}
 
function CustomizeModificationsOfSidebar() {
    ModifySidebar("remove", "toolbox", "Spezialseiten", "http://de.wikipedia.org/wiki/Spezial:Spezialseiten");
    ModifySidebar("remove", "toolbox", "Druckversion", "http://de.wikipedia.org/w/index.php?title=Benutzer:CroMagnon&printable=yes");
    ModifySidebar("remove", "toolbox", "Seite zitieren", "http://de.wikipedia.org/w/index.php?title=Spezial:Zitierhilfe&page=Stabkirche_Borgund&id=49371891");
    ModifySidebar("add", "toolbox", "ARG-Sichtung", "http://toolserver.org/~magnus/deep_out_of_sight.php?category=Argentinien&depth=3");
    ModifySidebar("add", "toolbox", "BOL-Sichtung", "http://toolserver.org/~magnus/deep_out_of_sight.php?category=Bolivien&depth=3");
    ModifySidebar("add", "toolbox", "URU-Sichtung", "http://toolserver.org/~magnus/deep_out_of_sight.php?category=Uruguay&depth=3");
    ModifySidebar("add", "toolbox", "ELK-Sichtung", "http://toolserver.org/~magnus/deep_out_of_sight.php?category=Elektronische Musik&depth=3");
}
 
addOnloadHook(CustomizeModificationsOfSidebar);

 if(!addnewmessage) var addnewmessage = "\{\{subst:Test\}\}";
 if(!leveltwowarning) var leveltwowarning = false;
 if(!instantblock) var instantblock = false;
 
 function newRequest() {
   try {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else {
        return new ActiveXObject("MSXML2.XMLHTTP");
      }
   } catch (e) {
      return false;
   }
 }
 
 // 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]);
  }
 }
 
 // newrevertme by Littl, extended by PDD
 function newrevertme (href, defaultgrund) {
   var newdetailgrund = prompt(defaultgrund, aearldefault);
   if (newdetailgrund == null) return;
 
   newdetailgrund = trim(newdetailgrund);
   // newdetailgrund-shortcuts von [[Benutzer:-jha-]]
   switch (newdetailgrund) {
      case "for":  
      case "web":  newdetailgrund='Link bietet keine [[WP:WEB|weiterführenden lexikographischen Informationen]].';
                   break;
      case "pop":  newdetailgrund='Link führte zu Website mit bevormundender Navigation (siehe auch [[WP:WEB]]).';
                   break;
      case "dis":  newdetailgrund='Bitte Diskussionsseite beachten.';
                   break;
      case "rere": newdetailgrund='Bitte zunächst auf der Diskussionsseite einen Konsens herstellen.';
                   break;
      case "va":   newdetailgrund='Grund: Vandalismus.';
                   break;
      case "ba":   newdetailgrund='Grund: Barbarismus.';
                   break;
      case "er":   newdetailgrund='Eigenrevert! (Ich muss wohl mal wieder zum Optiker...)';
                   break;
      case "unt":  newdetailgrund='Nicht unterschriebenen Diskussionsbeitrag entfernt (siehe auch [[WP:SIG]]).';
                   break;
      case "unf":  newdetailgrund='Grund: Unfall in der Editbox';
                   break;
      case "twl":  newdetailgrund='Bitte keine externen Links (Weblinks) im Artikeltext selbst angeben (siehe auch [[WP:WEB]]).';
                   break;
      case "blau": newdetailgrund='Bitte keine extreme Überverlinkung (siehe auch [[WP:BLAU]]).';
                   break;
      case "blau2": newdetailgrund='[[Bitte]] [[keine]] [[Links]] [[ohne]] [[Bezug]] zum [[Thema]] [[reinsetzen]]. [[Danke]].';
                   break;
      case "komm": newdetailgrund='Kommentare gehören nicht in den Artikel, sondern auf die Diskussionsseite.';
                   break;
      case "qa":   newdetailgrund='Bitte inhaltliche Änderungen mit Fundstellen/Belegen/Quellen begründen (siehe auch [[WP:BLG]]) und künftig den Hinweis "[[WP:ZQ|Zusammenfassung und Quellen]]" nutzen.';
                   break;
      case "rl":   newdetailgrund='Relevanz fraglich. Bei Beispielaufzählungen mit mehreren "blauen" Links keine "roten" Links hinzufügen. Relevanz durch Anlegen der entsprechenden Artikel klären (siehe [[WP:VL]]).';
                   break;
      case "pov":  newdetailgrund='Beitrag widerspricht dem Grundsatz des Neutralen Standpunktes. Lob und Kritik müssen durch relevante Quellen belegt werden. Bitte [[WP:NPOV]] beachten.';
                   break;
      case "wl":   newdetailgrund='Nicht begründete/nachvollziehbare Ver-/Entlinkung. Bitte begründen! ([[WP:ZQ|Zusammenfassung und Quellen]] oder ggf. Diskussionsseite nutzen.)';
                   break;
      case "loe":  newdetailgrund='Nicht begründete/nachvollziehbare Löschung. Bitte begründen! ([[WP:ZQ|Zusammenfassung und Quellen]] oder ggf. Diskussionsseite nutzen.)';
                   break;
      case "wwni": newdetailgrund='Form des Beitrages vermittelt kein enzylopädisches Wissen. Bitte die Grundsätze in [[WP:WWNI|Was Wikipedia nicht ist]] beachten.';
                   break;
      case "enz":  newdetailgrund='Beitrag nicht von enzyklopädischer Textqualität. Bitte "[[WP:WSIGA|Wie schreibe ich einen guten Artikel]]" beachten.';
                   break;
      case "otrs": newdetailgrund='OTRS-Freigabe ist eingetroffen, bitte siehe die Diskussionsseite des Artikels.';
                   break;
      case "man":  newdetailgrund='Bitte keine fremden Diskussionsbeiträge verändern.';
                   break;
   }
 
   // sicherstellen, dass Begründung in die Zusammenfassungszeile passt
   if (EditCommentLength(defaultgrund+newdetailgrund+2) < 0) {
      // zu lang, also erstmal den defaultgrund kürzen
      defaultgrund = 'Revert';
      var commenttoolong = true;
      while ((commenttoolong == true) && (newdetailgrund != null)) {
        if ((superflu=EditCommentLength(defaultgrund+newdetailgrund+2)) < 0)
            newdetailgrund = prompt("Die Begründung ist leider etwas zu lang.\nBitte um "+(0-superflu)+" Zeichen kürzen.", newdetailgrund);
        else
            commenttoolong = false;
      }
   }
        // Funktion von codeispoetry
	var req = newRequest();
	if (!req) {
		jsMsg('Rollback fehlgeschlagen!', 'rollback');
		return;
	}
 
	req.open('GET', href + '&summary=' + encodeURI(newdetailgrund), true);
	req.onreadystatechange = function() { 
		if(req.readyState == 4)
			displayRollback(req);
	}
	req.send(null);
 
 }
 
 // Funktion von codeispoetry
 function displayRollback (request) {
	var content_html = request.responseText.match(/<!-- start content -->([\s\S]+)<!-- (end content|NewPP limit report)/m);
	if (!(content_html && jsMsg(content_html[1], 'rollback'))) { // Box bauen, sonst 
		if (request.responseXML == 'null') { // Seiteninhalt ersetzen, und zwar als Text
			var newMatch = request.responseText.match(/(<a\s*name="top"\s*id="top">\s*<\/a>.+)<\/div>\s*<div\s*id="column-one">/);
			if (newMatch)
				document.getElementById('content').innerHTML = newMatch[1];
		}
		else { // oder DOM
			var content = request.responseXML.getElementById('content');
			if (content)
				document.getElementById('content').parentNode.replaceChild(content, document.getElementById('content'));
		}
	}
 }
 
 
 function newrollback() {
   if (UrlParameters["diff"] > "") {
     function searchRollbackLink() {
       var tds = document.getElementsByTagName("td");
       for (var i=0; i<tds.length; i++) {
         var td = tds[i]; 
         if (td.className != "diff-ntitle") continue;
         var as = td.getElementsByTagName("a");
         for (var j=0; j<as.length; j++) {
           var a = as[j];
           if (!/.*action=rollback.*/(a.href)) continue;
           var newlink = document.createElement('a');
           newlink.setAttribute('href', a.href);
           var EditTextNode = document.createTextNode("normales Zurücksetzen");
           newlink.appendChild(EditTextNode);
           a.setAttribute('accesskey', "a");
           if (newsummary && aearldefault) {
             a.setAttribute('href', 'javascript:newrevertme("' + encodeURI(a.href) + '", "' + aearldefault + '")');
           } else {
             a.setAttribute('href', a.href); 
           }
           as[j].parentNode.insertBefore( newlink, as[j].nextSibling );
           as[j].parentNode.insertBefore( document.createTextNode(' | '), as[j].nextSibling );
           return a;
         }
       }
       return tds;
     }
 
     function RollAndSpam(rolluri) {
       var backrolled = rolluri.match(/\d+\.\d+\.\d+\.\d+/);
       if (backrolled && allowmessage && !instantblock) {
         location.href = rolluri;
         var uri = "http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:" + backrolled + "&action=edit&vandalizedpage=" + wgPageName + "&addwarning=1";
         window.open(uri);
       } else if (backrolled && !allowmessage && instantblock) {
        // Funktion von codeispoetry
	var req = newRequest();
	if (!req) {
		jsMsg('Rollback fehlgeschlagen!', 'rollback');
		return;
	}
 
	req.open('GET', rolluri, true);
	req.onreadystatechange = function() { 
		if(req.readyState == 4)
			displayRollback(req);
	}
	req.send(null);
 
        var uri = "http://de.wikipedia.org/w/index.php?title=Spezial:Sperren/" + backrolled + "&newblockduration=7&newblockreason=Vandalismus";
         window.open(uri);
       } else {
        // Funktion von codeispoetry
	var req = newRequest();
	if (!req) {
		jsMsg('Rollback fehlgeschlagen!', 'rollback');
		return;
	}
 
	req.open('GET', rolluri, true);
	req.onreadystatechange = function() { 
		if(req.readyState == 4)
			displayRollback(req);
	}
	req.send(null);
 
       }
     }
     var revlink = searchRollbackLink();
     revlink.onclick = function() { RollAndSpam(revlink.href); return false; }
   }
 }
 
 if (UrlParameters["diff"] > "") addOnloadHook(newrollback);
 
 function newmessage() {
       if (document.forms["editform"].wpTextbox1.value == "") {
         document.forms["editform"].wpWatchthis.checked=false;
         document.editform.wpMinoredit.checked=true;
         document.editform.wpSummary.value = "Hinweis";
         document.forms["editform"].wpTextbox1.value = addnewmessage;
         if(autowarning) { document.editform.wpSave.click(); window.setTimeout(function() { window.close(); }, 1000); }
       } else {
         if ((!leveltwowarning) || (document.editform.wpTextbox1.value.search(/Letzte Warnung/i) != -1)) {
           if (adminflag) {
             var blockurl = "http://de.wikipedia.org/w/index.php?title=Spezial:Sperren/" + wgTitle + "&newblockduration=2&newblockreason=Vandalismus";
           } else {
             var blockurl = "http://de.wikipedia.org/w/index.php?title=Wikipedia:Vandalismusmeldung&action=edit&section=new&reporteduser=" + wgTitle + "&vandalizedpage=" + UrlParameters["vandalizedpage"];
           }
           window.setTimeout(function() { location.href = blockurl; }, 500);
         } else {
           document.forms["editform"].wpWatchthis.checked=false;
           document.editform.wpMinoredit.checked=true;
           document.editform.wpSummary.value = "Letzte Warnung";
           if (leveltwowarning.length) { document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + leveltwowarning; } else { document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + ":Letzte Warnung! Höre auf zu vandalieren! " + usersignature; }
           if(autowarning) { document.editform.wpSave.click(); window.setTimeout(function() { window.close(); }, 1000); }
         }
       }
 }
 
 if (UrlParameters["addwarning"] > "") addOnloadHook(newmessage);
 
 function newblock() {
   if (UrlParameters["newblockreason"] > "" && UrlParameters["newblockduration"] > "") {
     document.forms["blockip"].wpBlockReason.value = UrlParameters["newblockreason"];
     document.forms["blockip"].wpBlockOther.value = UrlParameters["newblockduration"] + " hours";
                var req;
                if (req = newRequest()) {
                  var text = "/w/api.php?format=xml&action=query&list=logevents&letype=block&letitle=User:" + UrlParameters["title"].replace(/Spezial\:Sperren\//, '');
                  req.open("GET", text, false);
                  req.send("");
 
                  var blocks = req.responseXML.getElementsByTagName("block");
                  if (blocks.length < 3) {
                    if (UrlParameters["title"].search(/\d+\.\d+\.\d+\.\d+/) != -1 && instantblock) { window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 500); }
                  }
                }
   }
 }
 
 if (UrlParameters["newblockreason"] > "" && UrlParameters["newblockduration"] > "") addOnloadHook(newblock);
 
 function newvm() {
   if ((UrlParameters["title"] == "Wikipedia:Vandalismusmeldung") && (UrlParameters["reporteduser"] > '') && (UrlParameters["vandalizedpage"] > '')) {
     document.editform.wpTextbox1.value = "\{\{Benutzer\|" + UrlParameters["reporteduser"] + "\}\} Vandalismus in [[" + UrlParameters["vandalizedpage"] + "]] \~\~\~\~";
     document.editform.wpSummary.value = "[[Benutzer:" + UrlParameters["reporteduser"] + "]]";
     // document.editform.wpSave.click();
   }
 }