Zum Inhalt springen

Benutzer:DerHexer/helperFunctions.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. Januar 2009 um 18:34 Uhr durch DerHexer (Diskussion | Beiträge) (kk). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
 // helperFunctions.js:
 // enthält obligatorische Hilfsfunktionen für [[Benutzer:PDD/monobook.js]]
 
 // <nowiki>
 
 if (typeof(rcalertbox) == 'undefined')
       var rcalertbox = true;
 if (typeof(drawquickbar) == 'undefined')
       var drawquickbar = true;
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // URI-Parameter für fillActionPage(), benutzt in eintragen.js, hinweise.js
 // außerdem in addEditAndRevertLinks.js (nur subjp, minorp, speichernp)
 
 var subjp      = "subj";       // Subject
 var subjaddp   = "subjadd";    // Subject zum Ranhängen
 var textp      = "txt";        // Für Text-Austausch
 var insp       = "ins";        // Vor dem Text einfügen
 var addp       = "add";        // an Text anhängen
 var minorp     = "minor";      // (k)leine Änderung
 var nocreatep  = "nocreate";   // beim Eintragen keine neue Seite generieren
 // für autosave:
 var asuserp    = "asuser";     // usertoken
 var astimep    = "astime";     // timestamptoken
 var deletereason   = "deletereason";      // Schnelllöschgrund
 var blockduration = "blockduration";      //Sperrdauer
 var blockreason = "blockreason";      //Sperrgrund
 var protectduration = "protectduration";      //Schutzdauer
 var protectreason = "protectreason";      //Schutzgrund
 var protecttype = "protecttype";      //Schutzart
 var anotherprotecttype = "anotherprotecttype";      //andere Schutzart
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // URI-Parameter für setReload() und doReload()
 var reloadme   = "neuladen";   // merker für reload
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // absenden()
 // aufgerufen aus fillActionPage() und hinweis() in hinweise.js
 
 function absenden() {
   if (!debugme) {
     if (UrlParameters[deletereason] > "") {
       var deletedtitle = UrlParameters["title"];
       var reason = UrlParameters[deletereason];
 
                var req;
                if (req = newRequest()) {
                  var text = "/w/api.php?format=xml&action=query&prop=info&inprop=protection&titles=" + deletedtitle.replace(/ /g, "%20").replace(/&/g, "%26").replace(/\"/g, "%22").replace(/\+/g, "%2B") + "&rvlimit=10";
                  req.open("GET", text, false);
                  req.send("");
 
                  var revisions = req.responseXML.getElementsByTagName("pr");
                  if (revisions.length < 1) {
                    var req2;
                    if (req2 = newRequest()) {
                      var text = "/w/api.php?format=xml&action=query&list=logevents&letype=delete&letitle=" + deletedtitle.replace(/ /g, "%20").replace(/&/g, "%26").replace(/\"/g, "%22").replace(/\+/g, "%2B");
                      req2.open("GET", text, false);
                      req2.send("");
 
                      var items = req2.responseXML.getElementsByTagName("item");
                      if (items.length != 0) {
                        if (items[0].getAttribute('action') != 'restore') {
                          if (wgCanonicalNamespace != "File") {
                            document.getElementById("deleteconfirm").wpConfirmB.click();
                          } else {
                            var inputs = document.getElementsByTagName("input");
                            for (i=0; i<inputs.length; i++) {
                              if ((inputs[i].getAttribute('type') == 'submit') && (inputs[i].getAttribute('value') == 'Löschen')) {
                                inputs[i].click();
                              }
                            }
                          }
                        } else {
                          alert('Achtung, zuletzt wiederhergestellte Seite.');
                        }
                      } else {
                        if (wgCanonicalNamespace != "File") {
                          document.getElementById("deleteconfirm").wpConfirmB.click();
                        } else {
                          var inputs = document.getElementsByTagName("input");
                          for (i=0; i<inputs.length; i++) {
                            if ((inputs[i].getAttribute('type') == 'submit') && (inputs[i].getAttribute('value') == 'Löschen')) {
                              inputs[i].click();
                            }
                          }
                        }
                      }
                    }
                  } else {
                    alert('Achtung, geschützte Seite.');
                  }
                }
 
              if ((wgUserName == "DerHexer") && ((reason == 'Veraltete IP-Diskussionsseite.') || (reason == "Ansprache über [[Kategorie:Wikipedia:BLU-User]] ohne Erfolg") )) {
                window.setTimeout(function() { window.close(); }, 500);
              } else if ((wgUserName == "DerHexer") && (reason != 'Veraltete IP-Diskussionsseite.')) {
 
                var req;
                if (req = newRequest()) {
                  var text = "/w/api.php?format=xml&prop=revisions&titles=" + deletedtitle.replace(/ /g, "%20").replace(/&/g, "%26").replace(/\"/g, "%22").replace(/\+/g, "%2B") + "&rvlimit=10";
                  req.open("GET", text, false);
                  req.send("");
 
                  var revisions = req.responseXML.getElementsByTagName("rev");
                  if (revisions.length < 10) {
                    var firstuser = revisions[revisions.length-1].getAttributeNode("user");
                    if (firstuser.childNodes[0].nodeValue.match(/\d+\.\d+\.\d+\.\d+/)) {
                      var uri = "http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:" + firstuser.childNodes[0].nodeValue.match(/\d+\.\d+\.\d+\.\d+/) + "&action=edit&spam=2";
                      window.setTimeout(function() { window.open(uri); }, 500);
                    }
                  }
                }
              }
     } else if (UrlParameters[blockreason] > "" && UrlParameters[blockduration]) {
 
                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) || (UrlParameters[blockreason] == 'abcxyz')) { window.setTimeout(function() {
                    if (document.getElementsByTagName('h2')[0].innerHTML.search(/Sperre.vorhanden/)==-1) {document.forms["blockip"].wpBlock.click();} }, 500);
                    }
                    // if (wgUserName == "DerHexer") window.setTimeout(function() { window.close(); }, 2000);
                  }
                }
     } else if (UrlParameters[protectreason] > "" && UrlParameters[protectduration] > "" && UrlParameters[protecttype] > "") {
       document.getElementById('mw-Protect-submit').click();
       if (wgUserName == "DerHexer") window.setTimeout(function() { window.close(); }, 500);
     } else if (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "" && UrlParameters["dcpcontent"] > "" && UrlParameters["dcp"] == 0) {
       var deletedtitle = UrlParameters["title"];
       document.getElementById("deleteconfirm").wpConfirmB.click();
       window.setTimeout(function() { location.href = "http://de.wikipedia.org/w/index.php?title=" + deletedtitle + "&redirect=no&action=edit"
           + "&dcpreason=" + UrlParameters["dcpreason"]
           + "&dcpduration=" + UrlParameters["dcpduration"]
           + "&dcptype=" + UrlParameters["dcptype"]
           + "&dcpcontent=" + UrlParameters["dcpcontent"]
           + "&dcp=1&save=1"; }, 500);
     } else if (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "" && UrlParameters["dcpcontent"] > "" && UrlParameters["dcp"] == 1) { 
       var createdtitle = UrlParameters["title"];
       document.editform.wpSave.click();
       window.setTimeout(function() { document.editform.wpRecreate.checked=true; }, 500);
       window.setTimeout(function() { document.editform.wpSave.click(); }, 500);
       window.setTimeout(function() { location.href = "http://de.wikipedia.org/w/index.php?title=" + createdtitle + "&redirect=no&action=protect"
           + "&dcpreason=" + UrlParameters["dcpreason"]
           + "&dcpduration=" + UrlParameters["dcpduration"]
           + "&dcptype=" + UrlParameters["dcptype"]
           + "&dcp=2&save=1"; }, 500);
     } else if (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "" && UrlParameters["dcp"] == 2) {
       var inputs = document.getElementsByTagName("input");
       for (i=0; i<inputs.length; i++) {
         if ((inputs[i].getAttribute('type') == 'submit') && (inputs[i].getAttribute('value') == 'Bestätigen')) {
           inputs[i].click();
         }
       }
       window.setTimeout(function() { window.close(); }, 500);
     } else {
       document.editform.wpSave.click();
     }
   } else {
     alert ('Speichern');
   }
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // fillActionPage()  (früher aktion(), ganz früher loeschkandidat() )
 // von Littl, ergänzt von Revvar
 //
 // Entnimmt Parameter aus der URI, fügt sie in die Textfelder ein und klickt ggf. auf "Speichern"
 // (die aufgerufene Seite ist dabei immer im Editmodus)
 
 function fillActionPage() {
   // wenn Bausteineinfügung am Anfang:
   // nur einfügen, wenn Seite noch nicht gelöscht
   var pagedeleted = false;
   if (document.getElementById("newarticletext"))
       pagedeleted = true;
 
   // nur einfügen, wenn noch nicht eingetragen
   // der URI-Aktionsparameter ist immer entweder insp oder textp oder addp, daher else
   var doubleinsert = false;
   if (UrlParameters[textp] > "") 
       doubleinsert = findDoubleEntry(UrlParameters[textp], document.editform.wpTextbox1.value);
   else if (UrlParameters[insp] > "") 
       doubleinsert = findDoubleEntry(UrlParameters[insp], document.editform.wpTextbox1.value);
   else if (UrlParameters[addp] > "") 
       doubleinsert = findDoubleEntry(UrlParameters[addp], document.editform.wpTextbox1.value);
 
   // Textfeld ausfüllen
   if (UrlParameters[textp] > "") {
      if (doubleinsert)
         document.editform.wpTextbox1.value = UrlParameters[textp] + document.editform.wpTextbox1.value;
      else
         document.editform.wpTextbox1.value = UrlParameters[textp];
   } else if (UrlParameters[insp] > "") {
      document.editform.wpTextbox1.value = UrlParameters[insp] + document.editform.wpTextbox1.value;
   } else if (UrlParameters[addp] > "") {
      document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + UrlParameters[addp];
   } else if (UrlParameters[deletereason] > "") {
      if (UrlParameters[deletereason] != 'undefined') {
       if (wgCanonicalNamespace != "File") {
        document.getElementById("deleteconfirm").wpReason.value = UrlParameters[deletereason].replace(/\%7C/g, "|");
       } else {
        document.forms[0].wpReason.value = UrlParameters[deletereason].replace(/\%7C/g, "|");
       }
      }
   } else if (UrlParameters[blockreason] > "" && UrlParameters[blockduration] > "") {
     if (UrlParameters[blockreason] != "abcxyz") { document.forms["blockip"].wpBlockReason.value = UrlParameters[blockreason]; } else { document.forms["blockip"].wpBlockReason.value = "[[Hilfe:Anmelden#Hinweise_zur_Wahl_des_Benutzernamens|Ungeeigneter Benutzername]]"; document.forms["blockip"].wpEmailBan.checked=true; }
     if (UrlParameters[blockduration].match(/\s/) || UrlParameters[blockduration] == 'infinite' || UrlParameters[blockduration] == 'indefinite') {
       document.forms["blockip"].wpBlockOther.value = UrlParameters[blockduration];
     } else if (UrlParameters[blockduration].match(/\d+/)) {
       document.forms["blockip"].wpBlockOther.value = UrlParameters[blockduration] + " hours";
     }
   } else if (UrlParameters[protectreason] > "" && UrlParameters[protectduration] > "" && UrlParameters[protecttype] > "") {
     document.getElementById("mwProtect-reason").value = UrlParameters[protectreason];
     document.getElementById("mwProtectExpirySelection-edit").selectedIndex = 0;
     document.getElementById("mwProtectExpirySelection-move").selectedIndex = 0;
     document.getElementById("mwProtect-edit-expires").value = UrlParameters[protectduration];
     document.getElementById("mwProtect-move-expires").value = UrlParameters[protectduration];
     document.getElementById("mwProtect-level-edit").selectedIndex = UrlParameters[protecttype];
     if (UrlParameters[anotherprotecttype] != '') {
       document.getElementById("mwProtect-level-move").selectedIndex = UrlParameters[anotherprotecttype];
     } else {
       document.getElementById("mwProtect-level-move").selectedIndex = UrlParameters[protecttype];
     }
   } else if (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "" && UrlParameters["dcpcontent"] > "" && UrlParameters["dcp"] == 0) {
     document.getElementById("deleteconfirm").wpReason.value = UrlParameters["dcpreason"];
   } else if (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "" && UrlParameters["dcpcontent"] > "" && UrlParameters["dcp"] == 1) {
     document.editform.wpSummary.value = UrlParameters["dcpreason"];
     document.editform.wpMinoredit.checked=true;
     document.editform.wpTextbox1.value = UrlParameters["dcpcontent"].replace(/\%20/g, " ").replace(/\%26/g, "&").replace(/\%22/g, "\"").replace(/\%2B/g, "+").replace(/\%23/g, "#");
   } else if (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "" && UrlParameters["dcp"] == 2) {
     document.getElementById("expires").value = UrlParameters["dcpduration"];
     document.getElementById("mwProtect-reason").value = UrlParameters["dcpreason"];
     protectLevelsUpdate(this);
     document.getElementById("mwProtect-level-move").selectedIndex = UrlParameters["dcptype"];
     document.getElementById("mwProtect-level-edit").selectedIndex = UrlParameters["dcptype"];
   }
 
   // weitere Felder ausfüllen
   if (UrlParameters[subjp] > "")
      document.editform.wpSummary.value = UrlParameters[subjp];
   if (UrlParameters[minorp] == "1")
      document.editform.wpMinoredit.checked=true;
 
   // wenn Textbaustein doppelt: Warnung
   if (doubleinsert)
      do_rc_alert("Artikel enthält den gewählten Baustein bereits!");
   // wenn Seite schon gelöscht: Warnung
   else if (pagedeleted && (UrlParameters[nocreatep] == "1"))
      do_rc_alert("Artikel wurde bereits gelöscht!");
   // wenn autosave eingeschaltet: Seite speichern
   else if (validate_asuser (UrlParameters[asuserp])) {
      if (validate_astime (UrlParameters[astimep]))
          absenden();
      else alert("Token zur automatischen Speicherung ist abgelaufen.");
   }
 if (wgUserName == "DerHexer") {
     if (wgPageName == "Benutzer:DerHexer/Redirects" && UrlParameters["action"] == "edit") {
              if (UrlParameters["number"]) {
                var namespace = new Array ();
                namespace = ["", "Wikipedia ", "Bild ", "MediaWiki ", "Vorlage ", "Hilfe ", "Kategorie ", "Portal "];
                var namespace_number = new Array ();
                namespace_number = [0, 4, 6, 8, 10, 12, 14, 100];
                var number = UrlParameters["number"];
 
                function newRequest()
                {
                  try {
                    if (window.XMLHttpRequest) {
                      return new XMLHttpRequest();
                    } else {
                      return new ActiveXObject("MSXML2.XMLHTTP");
                    }
                  } catch (e) {
                    return false;
                  }
                }
 
                var beginning = UrlParameters["beginning"];
                var req;
                if (req = newRequest()) {
                  var text = "/w/query.php?format=xml&what=allpages&aplimit=100&apnamespace=" + (namespace_number[number] + 1) + "&apfrom=" + beginning + "&apfilterredir=redirects";
                  req.open("GET", text, false);
                  req.send("");
 
                  var redir = req.responseXML.getElementsByTagName("title");
                }
 
                for (i = 0; i < redir.length; i++) {
 
                  var redir2 = "/w/query.php?format=xml&what=allpages&aplimit=1&apnamespace=" + namespace_number[number] + "&apfrom=" + redir[i].childNodes[0].nodeValue.replace(new RegExp(namespace[number] + "Diskussion:"), "").replace(/ /g, "%20").replace(/&/g, "%26").replace(/\"/g, "%22").replace(/\+/g, "%2B").replace(/\'/g, "%27") + "&apfilterredir=redirects";
 
                  var redir4 = redir[i].childNodes[0].nodeValue.replace(/ /g, "%20").replace(/&/g, "%26").replace(/\"/g, "%22").replace(/\+/g, "%2B").replace(/\'/g, "%27");
 
                  var req;
                  if (req = newRequest()) {
                    req.open("GET", redir2, false);
                    req.send("");
 
                    var redir_compare = req.responseXML.getElementsByTagName("title");
                    var redir_compare_disk = namespace[number] + "Diskussion:" + redir_compare[0].childNodes[0].nodeValue.replace(new RegExp(namespace[number].replace(/ /, "") + ":"), "");
 
                    if (redir[i].childNodes[0].nodeValue == redir_compare_disk) {
                      var redir3 = "/w/query.php?format=xml&what=backlinks&bllimit=1&titles=" + redir_compare_disk;
 
                      var req;
                      if (req = newRequest()) {
                        req.open("GET", redir3, false);
                        req.send("");
 
                        var linked = req.responseXML.getElementsByTagName("bl");
                        if (linked.length == 0) {
	// API request for delete token
	var req = newRequest();
	if (!req)
		return;
	req.open("GET", "/w/api.php?format=xml&action=query&prop=info&intoken=delete&titles=" + redir4, false);
	req.send("");
 
	var token = req.responseXML.getElementsByTagName("page")[0].getAttribute("deletetoken");
	if (!token)
		return;
 
	// Normal UI request for deletion
        var deletereason = 'Unnötiger Redirect.';
	var req2 = newRequest();
	if (!req2)
		return;
	var url = "http://de.wikipedia.org/w/index.php?title=" + redir4 + "&action=delete";
	var data = '&wpDeleteReasonList=' + encodeURIComponent(deletereason) +
                   '&wpEditToken=' + encodeURIComponent(token);
	req2.open("POST", url, true);
	req2.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	req2.setRequestHeader('Content-length', data.length);
	req2.overrideMimeType('text/xml');
	req2.send(data);

                          // document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + "http://de.wikipedia.org/w/index.php?title=" + redir4 + "&redirect=no&action=delete&deletereason=unnecessary%20redirect";
                        }
                      }
                    }
 
                    if (i == redir.length-1) {
                      location.href = "http://de.wikipedia.org/w/index.php?title=Benutzer:DerHexer/Redirects&action=edit&beginning=" + redir4.replace(new RegExp(namespace[number] + "Diskussion:"), "") + "&number=" + number + "&pages=" + UrlParameters["pages"];
                      // document.editform.wpPreview.click();
                    }
                  }
                }
              }
    }
 }
 
   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');
           a.setAttribute('accesskey', "s");
           newlink.setAttribute('href', a.href);
           var EditTextNode = document.createTextNode("norm. Zurücksetzen");
           newlink.appendChild(EditTextNode);
           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) {
         location.href = rolluri;
         var uri = "http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:" + backrolled + "&action=edit&vandalizedpage=" + wgPageName + "&spam=1";
         window.setTimeout(function() { location.href = uri; }, 500);
       } else {
         location.href = rolluri;
         window.setTimeout(function() { window.close(); }, 500);
       }
     }
     // var revlink = searchRollbackLink();
     // revlink.onclick = function() { RollAndSpam(revlink.href); return false; }
   }
 
 
   if ((wgPageName == "Wikipedia:Vandalismusmeldung") && (UrlParameters["section"] > '')) {
    if (document.editform.wpTextbox1.value.search(/==([^\d]*\d+\.\d+\.\d+\.\d+[^\d]*)==/) != -1) {
     if ((document.editform.wpTextbox1.value.search(/\(erl\.\)[\s]*==/) == -1) && (document.editform.wpTextbox1.value.search(/\(erledigt\)[\s]*==/) == -1)) {
       document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/==([^\d]*\d+\.\d+\.\d+\.\d+[^\d]*)==/, "==$1(erl.) ==");
       document.editform.wpSummary.value = document.editform.wpSummary.value + " erl";

 
                var req;
                if (req = newRequest()) {
                  var checkip = document.editform.wpTextbox1.value.match(/==[^\d]*(\d+\.\d+\.\d+\.\d+)[^\d]*==/);
                  var checkip2 = RegExp.$1;
                  var text = "/w/api.php?format=xml&action=query&list=logevents&letype=block&letitle=User:" + checkip2;
                  req.open("GET", text, false);
                  req.send("");
 
                  if ((req.responseXML.getElementsByTagName("block").length != 0) && (req.responseXML.getElementsByTagName("item").length != 0)) {
                    var lastblock = req.responseXML.getElementsByTagName("block")[0].getAttribute('duration');
                    var lastuser = req.responseXML.getElementsByTagName("item")[0].getAttribute('user');
                    if (lastuser == wgUserName) {
                      insertTagsWrapper(':', ' ' + usersignature, lastblock);
                    } else {
                      var newblockedtext = 'Gesperrt von ' + lastuser + ' mit der Dauer „' + lastblock + '“.';
                      insertTagsWrapper(':', ' ' + usersignature, newblockedtext);
                    }
                  } else {
                    insertTagsWrapper(':', ' ' + usersignature, blockedtext);
                  }
                }
     }
    }
   }
 
   if ( (UrlParameters["fakeaction"] == "rollback" && UrlParameters["vandal"] > '') || ((UrlParameters["subj"]) && (wgUserName == 'TheWolf')) ) {
     if ( (UrlParameters["subj"]) && (wgUserName == 'TheWolf')) {
       if (UrlParameters["subj"].search(/Revert/) != -1) {
 
                var req;
                if (req = newRequest()) {
                  var text = "/w/query.php?format=xml&what=revisions&titles=" + wgPageName + "&rvlimit=1";
                  req.open("GET", text, false);
                  req.send("");
 
                  var lastuser = req.responseXML.getElementsByTagName("rv")[0].getAttribute('user');
                }
                if (lastuser.match(/\d+\.\d+\.\d+\.\d+/)) {
                  var uri = "http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:" + lastuser + "&vandalizedpage=" + wgPageName + "&action=edit&spam=1";
                  window.open(uri);
                  window.focus();
                }
       }
     } else if (UrlParameters["vandal"].match(/\d+\.\d+\.\d+\.\d+/)) {
       var uri = "http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:" + UrlParameters["vandal"] + "&vandalizedpage=" + wgPageName + "&action=edit&spam=1";
       window.open(uri);
       //window.focus();
     }
   }
 
   if (UrlParameters["spam"] > "") {
       if (document.forms["editform"].wpTextbox1.value == "") {
         document.forms["editform"].wpWatchthis.click();
         if (wgUserName != "Björn Bornhöft") { document.editform.wpSummary.value = "Hinweis"; } else { document.editform.wpSummary.value = "Erste und letzte Warnung!"; }
         if (UrlParameters["spam"] == "1") {
           if (wgUserName == "Complex") {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:Complex/Greetings/TestMitArtikel|" + UrlParameters["vandalizedpage"] + "\}\} " + usersignature;
           } else if (wgUserName == "Tafkas") {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:Tafkas/V/Test|" + usersignature + "\}\}";
           } else if (wgUserName == "Kuhlo") {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:Kuhlo/V/VHinweis\}\}";
           } else if (wgUserName == "Nikkis" || wgUserName == 'S.lukas' || wgUserName == 'ChrisHH') {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:Nikkis\/Verwarnung\}\}";
           } else if (wgUserName == "Ireas" || wgUserName == 'Guandalug') {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:Complex/Greetings/TestMitStopschild\}\} " + usersignature;
           } else if (wgUserName == "Tönjes" || (wgUserName == 'Ra\'ike')) {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:PDD\/Greetings\/Danke\}\} \~\~\~\~";
           } else if (wgUserName == "Björn Bornhöft") {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:Björn Bornhöft\/Vorlage:Erste und letzte Warnung\}\}";
           } else if (wgUserName == "RacoonyRE") {
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:RacoonyRE\/Vorlagen\/Verwarnung\}\}";
           } else if (wgUserName == "TheWolf") {
             switch(UrlParameters["hinweistyp"]) {
               case "1" : neuerhinweis = "\{\{subst:Benutzer:TheWolf/Relevanz\}\}"; break;
               case "2" : neuerhinweis = "\{\{subst:Benutzer:TheWolf/Werbung\}\}"; break;
               case "3" : neuerhinweis = "\{\{subst:Benutzer:Complex/Greetings/WP-WEB\}\} " + usersignature; break;
               case "4" : neuerhinweis = "\{\{subst:Benutzer:TheWolf/Kein_Artikel\}\}"; break;
               default : neuerhinweis = "\{\{subst:Benutzer:TheWolf/Artikel\}\}"; break;
             }
             document.forms["editform"].wpTextbox1.value = neuerhinweis;
           } else { 
             document.forms["editform"].wpTextbox1.value = "\{\{subst:Test\}\}";
           }
           document.editform.wpSave.click();
           window.setTimeout(function() { window.close(); }, 1000);
         } else {
           document.forms["editform"].wpTextbox1.value = "\{\{subst:Benutzer:LKD\/V\/ALoesch\}\} " + usersignature;
         }
       } else {
         if (UrlParameters["spam"] == "1") {
           if ((wgUserName == "DerHexer") || (wgUserName == "Tönjes") || (wgUserName == "Complex") || (wgUserName == "Peter200") || (wgUserName == 'Codeispoetry') || (wgUserName == 'Tafkas') || (wgUserName == 'Bücherwürmlein') || (wgUserName == 'Ra\'ike') ) {
             var blockurl = "http://de.wikipedia.org/w/index.php?title=Spezial:Sperren/" + wgTitle + "&blockduration=2&blockreason=Vandalismus&save=1";
               window.setTimeout(function() { location.href = blockurl; }, 500);
           } else {
             if (document.editform.wpTextbox1.value.search(/Letzte Warnung/i) != -1 || wgUserName == "Kuhlo" || wgUserName == "Ireas" || wgUserName == "Björn Bornhöft" || wgUserName == "TheWolf" || wgUserName == 'Nikkis' || wgUserName == 'ABF' || wgUserName == 'ChrisHH') {
               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.editform.wpSummary.value = "Letzte Warnung";
               document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + ":Letzte Warnung! Höre auf zu vandalieren! " + usersignature;
               document.editform.wpSave.click();
               window.setTimeout(function() { window.close(); }, 1000);
             }
           }
         } else {
           var blockurl = "http://de.wikipedia.org/w/index.php?title=Spezial:Sperren/" + wgTitle + "&blockduration=1&blockreason=Erstellt unsinnige Artikel&save=1";
           window.setTimeout(function() { location.href = blockurl; }, 500);
         }
       }
   }
 
   if ((wgPageName == "Wikipedia:Vandalismusmeldung") && (UrlParameters["reporteduser"] > '') && (UrlParameters["vandalizedpage"] > '')) {
     document.editform.wpTextbox1.value = "\{\{Benutzer\|" + UrlParameters["reporteduser"] + "\}\} Vandalismus in [[" + UrlParameters["vandalizedpage"] + "]] \~\~\~\~";
     document.editform.wpSummary.value = "[[Benutzer:" + UrlParameters["reporteduser"] + "]]";
   }
 
   if ( (UrlParameters["title"]) && (UrlParameters["title"].search(/Spezial:Beiträge/) != -1) && (UrlParameters["namespace"] == "3") && (wgUserName == "DerHexer") ) {
     var uls = document.getElementsByTagName("ul");
     var as = uls[0].getElementsByTagName("a");
     for (var i=0; i<as.length; i++) {
       var matchedip = as[i].childNodes[0].nodeValue.match(/\d+\.\d+\.\d+\.\d+/)
       if (matchedip) {
 
                var req;
                if (req = newRequest()) {
                  var text = "/w/query.php?format=xml&what=allpages&aplimit=1&apnamespace=2&apfrom=" + matchedip;
                  req.open("GET", text, false);
                  req.send("");
 
                  var titles = req.responseXML.getElementsByTagName("title");
 
                  if (titles[0].childNodes[0].nodeValue != ("Benutzer:" + matchedip)) {
                    var req2;
                    if (req2 = newRequest()) {
                      var text2 = "/w/query.php?format=xml&what=revisions&titles=Benutzer_Diskussion:" + matchedip + "&rvlimit=2";
                      req2.open("GET", text2, false);
                      req2.send("");
 
                      var revisions2 = req2.responseXML.getElementsByTagName("rv");
                      if (revisions2.length < 2) {
                        var uri = "http:\/\/de.wikipedia.org\/w\/index.php\?title\=Benutzer_Diskussion:" + matchedip + "&action=delete&deletereason=Veraltete%20IP-Diskussionsseite.&save=1";
                        window.open(uri);
                      }
                    }
                  }
                }
       }
     }
   }
   if ((UrlParameters["ins"] > "") && (wgUserName == 'TheWolf')) {
     if (UrlParameters["subj"].search(/SLA/) != -1) {
       var page_to_delete = wgPageName.replace(/ /g, "%20").replace(/&/g, "%26").replace(/\"/g, "%22").replace(/\+/g, "%2B");
       alert(UrlParameters["ins"]);
       if (UrlParameters["ins"].search(/Irrelevanz/)!=-1) slatype = "1";
       else if (UrlParameters["ins"].search(/Werbeeintrag/)!=-1) slatype = "2";
       else if (UrlParameters["ins"].search(/Linkcontainer/)!=-1) slatype = "3";
       else if (UrlParameters["ins"].search(/Artikel[\'\%]/)!=-1) slatype = "4";
       else slatype = "100";

                var req;
                if (req = newRequest()) {
                  var text = "/w/api.php?format=xml&action=query&prop=revisions&titles=" + wgPageName + "&rvlimit=10";
                  req.open("GET", text, false);
                  req.send("");
 
                  var revisions = req.responseXML.getElementsByTagName("rev");
                  if (revisions.length < 10) {
                    var firstuser = revisions[revisions.length-1].getAttributeNode("user");
                    if (firstuser.childNodes[0].nodeValue.match(/\d+\.\d+\.\d+\.\d+/)) {
                      var uri = "http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:" + firstuser.childNodes[0].nodeValue.match(/\d+\.\d+\.\d+\.\d+/) + "&vandalizedpage=" + page_to_delete + "&hinweistyp=" + slatype + "&action=edit&spam=1";
                      window.open(uri);
                    }
                  }
                }
     }
   }
  if (wgUserName == 'DerHexer') {
   if (UrlParameters["addop"] > "") {
     if (document.forms["editform"].wpTextbox1.value == '') {
       document.editform.wpTextbox1.value = '{{Offener_Proxy}}';
       document.editform.wpSummary.value = '{{Offener_Proxy}}';
       document.editform.wpSave.click();
     } else {
       window.close();
     }
   }
   /* if ((location.href.substring(location.href.indexOf("/wiki/")).search(/\d+\.\d+\.\d+\.\d+/) != -1) && (location.href.substring(location.href.indexOf("/wiki/")).search(/protect/) == -1)) { 
     window.setTimeout(function() { location.href='http://de.wikipedia.org/w/index.php?title=Benutzer:' + wgTitle + '&redirect=no&action=protect&protectreason=%7B%7BOffener_Proxy%7D%7D&protectduration=infinite&protecttype=2&anotherprotecttype=&speichern=1'; }, 100);
   } */
   /* if((UrlParameters["action"] == "submit") || (UrlParameters["action"] == "success")) {
     window.close();
   } */
  }
 }
 if ( ( (isEdit) && (!isSpecial) ) || ((UrlParameters["ins"] > "") && (wgUserName == 'TheWolf')) || (UrlParameters["addop"] > "") ||  ((location.href.substring(location.href.indexOf("/wiki/")).search(/\d+\.\d+\.\d+\.\d+/) != -1) && (location.href.substring(location.href.indexOf("/wiki/")).search(/protect/) == -1)) ||(UrlParameters[deletereason] > "") || (UrlParameters["diff"] > "") || ((UrlParameters[blockreason] > "") && (UrlParameters[blockduration] > "")) || ( (UrlParameters["title"] > "") && ( (UrlParameters["title"].search(/Spezial:Beiträge/) != -1) && (UrlParameters["namespace"] == "3") && (UrlParameters["deleteall"] == "1") ) ) || (UrlParameters[protectreason] > "" && UrlParameters[protectduration] > "" && UrlParameters[protecttype] > "") || (UrlParameters["fakeaction"] == "rollback" && UrlParameters["vandal"] > '') || ( ( (UrlParameters["dcpreason"] > "" && UrlParameters["dcpduration"] > "" && UrlParameters["dcptype"] > "") ) ) ) addOnloadHook(fillActionPage);
 
 ////////////////////////////////////////////////////////////////////////////////////////
 if (wgUserName != "ABF") {
 // findDoubleEntry()
 // aufgerufen aus fillActionPage()
 
 function findDoubleEntry(baustein, artikeltext) {
   var doublette = false;
 
   // wenn keine Vorlage enthalten: Abbruch
   if (baustein == baustein.split("{{")[0]) return (doublette);
 
   var chkbaustein = baustein.split("{{")[1].split("}}")[0].split("|")[0];
   chkbaustein = "{{" + chkbaustein ;
 
   if (navigator.userAgent.indexOf("Opera") == -1) {
      // checking
            // Zeilen wie die nächste generieren Fehler mit Opera, daher diesen Bereich auskommentiert
            // Fehler: RegExp.prototype.compile: syntax error in pattern or string
            // mit Firefox2 und IE7 geht das problemlos, hmm
      if (artikeltext.search(chkbaustein) != -1)
          doublette = true;
      // Kleinschreibung & SLA & substs
      if (chkbaustein == "{{Löschen") {
          if (artikeltext.search("{{löschen") != -1)
              doublette = true;
          if (artikeltext.search("{{SLA") != -1)
              doublette = true;
      }
      if (chkbaustein == "{{subst:Löschantrag") {
          if (artikeltext.search("{{Löschantragstext") != -1)
              doublette = true;
      }
      if (chkbaustein == "{{subst:Qualitätssicherung") {
          if (artikeltext.search("{{QS-Antrag") != -1)
              doublette = true;
      }
   } // end of Opera hack
   return (doublette);
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // initQuickbar()
 // positioniert den Quickbar
 
 function initQuickbar() {
   // Variables that could be defined in your monobook
   if (typeof(keeplogo) == 'undefined')
       keeplogo = false;
   if (typeof(releasequickbar) == 'undefined')
       releasequickbar = false;
 
   var quickbarpos = "fixed";
   // IE6- kann kein position:fixed und hat demzufolge Pech
   if ( navigator.userAgent.indexOf("MSIE") > -1 )
      quickbarpos = "absolute";
   // IE7 und als MSIE maskiertes Opera 8/9: können position:fixed
   if (( navigator.userAgent.indexOf("MSIE 7") > -1 ) || ( navigator.userAgent.indexOf("Opera") > -1 ))
      quickbarpos = "fixed";
 
   if (!keeplogo) {
      // logo ausblenden (revvar)
      document.getElementById("p-logo").style.visibility = "hidden";
      // padding in column-one (platz für quickbar)
      document.getElementById("column-one").style.paddingTop =
         (10+document.getElementById("p-quickbar").clientHeight)+"px";
   }
 
   if (!releasequickbar) {
      document.getElementById("p-quickbar").style.position = quickbarpos;
   }
 }
 if (drawquickbar) addOnloadHook(initQuickbar);
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // doReload()
 // setzt nach Reload die Reload-Selection wieder
 
 function doReload() {
   if (UrlParameters[reloadme] == "1") {
      document.getElementById('reloadme').checked=true;
      setReload();
   }
 }
 if (!isEdit) addOnloadHook(doReload);
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // extendWpReason()
 // hebt 255-Zeichen-Textfeldbegrenzung auf
 
 function extendWpReason() {
   var loeschgrund;
   if (loeschgrund = document.getElementById('wpReason')) {
      loeschgrund.setAttribute('maxLength',512);
   }
 }
 if (wgAction == "delete") addOnloadHook(extendWpReason);
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // setReload()
 // aufgerufen, wenn im Quickbar die Reload-Selection gesetzt wird
 
 var timeoutaktiv;
 function setReload() {
   if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] != "1")) {
       var uri = (document.URL.indexOf('?') >0) ? ('&' + reloadme + '=1') : ('?' + reloadme + '=1');
       timeoutaktiv = window.setTimeout(location.href=location.href+uri, timeout);
   }
   else if (document.getElementById('reloadme').checked	&& (UrlParameters[reloadme] == "1")) {
       timeoutaktiv=window.setTimeout("location.reload()", timeout);
   }
   else {
       window.clearTimeout(timeoutaktiv); // bizarr, timeoutaktiv ist hier gar nicht belegt?
   }
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // checkAllDeletedVersions()
 // alle Checkboxen auswählen, für Versionenwiederherstellung ([[Spezial:Wiederherstellen]])
 // Idee: Poupou
 // Autoren: BLueFiSH.as, Schwalbe (ursprünglich als "TaggAll()")
 // Neue Version ohne JS-Errors: PDD
 
 function checkAllDeletedVersions() {
   var inputobject = document.getElementsByTagName("input");
   for (var i=3; i<inputobject.length; i++)
      inputobject[i].checked = true;
 }
 
 function revAllDeletedVersions() {
   var inputobject = document.getElementsByTagName("input");
   for (var i=3; i<inputobject.length; i++)
      inputobject[i].checked = !inputobject[i].checked;
 }
 
 // obsolete Version davon!!
 function TaggAll() {
   if (minimalVersionStrong(49) < 49) checkAllDeletedVersions();
   else checkAllDeletedVersions();
 }
 
 /*
  * Stringlänge überprüfen für Zusammenfassungszeile
  */
 
 function EditCommentLength(str) {
   return (199-str.length);
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // undate()
 // von [[Benutzer:D]]
 // entlinkt verlinkte Daten
 
 function undate() {
   var tbvalue = document.editform.wpTextbox1.value;
   tbvalue = tbvalue.replace(/\[\[\s*(\d+(er)?( v. Chr.)?)\s*\]\]/g, "$1");
   tbvalue = tbvalue.replace(/\[\[\s*(\d+\. (Jahrhundert|Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember))\s*\]\]/g, "$1");
   document.editform.wpTextbox1.value = tbvalue;
   document.editform.wpDiff.click();
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // fixDash()
 // von [[Benutzer:PDD]]
 // speziell für BKLs: alle Striche zu endash vereinheitlichen
 // ToDo: nur wenn davor oder danach Ziffer! + bei Leerzeichen (weg)
 
 function fixDashes(s) {
    s = s.replace(/\*([12][0-9]{3})/g, "* $1")
         .replace(/†([12][0-9]{3})/g, "† $1")
         .replace(/([^-0-9][12][0-9]{3})—/g, "$1–")
         .replace(/([^-0-9][12][0-9]{3})-/g, "$1–")
         .replace(/([^-0-9][12][0-9]{3})−/g, "$1–")
         .replace(/([^-0-9][12][0-9]{3}) — /g, "$1–")
         .replace(/([^-0-9][12][0-9]{3}) - /g, "$1–")
         .replace(/([^-0-9][12][0-9]{3}) − /g, "$1–")
         .replace(/([^-0-9][12][0-9]{3}) – /g, "$1–");
    return (s);
 }
 
 function fixDash() {
    // find editor
    var form    = document.forms['editform'];
    if (!form)  return;
    var tb      = form.elements['wpTextbox1'];
    if (!tb)    return;
    tb.value    = tb.value;
 
    tb.value = fixDashes(tb.value);
 
    document.editform.wpDiff.click();
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // insertAfter()
 // neuen Node nach einem referenceNode einfügen
 
 function insertAfter(parent, node, referenceNode) {
   parent.insertBefore(node, referenceNode.nextSibling);
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // trim()
 // Leerzeichen am Anfang und Ende entfernen
 
 function trim(str) {
   return str.replace(/^\s*|\s*$/g,"");
 }
 
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // do_rc_alert()

 function do_rc_alert(str) {
   if (rcalertbox) alert(str);
 }
 
 //
 // Funktion nowcomm()
 // Trägt NowCommons-Baustein ein
 // (aufgerufen aus der monobook.js)
 //
 
 function nowcomm() {
  var lemmaneu = prompt('Dateiname auf Commons:',wgTitle);
  if (lemmaneu != null )
      newtext('NowCommons','\{\{NowCommons|' + lemmaneu +'}}',3);
 }
 
 //
 // Helper-Funktion getLemma()
 // extrahiert Lemma, entfernt "Bild:" und "Kategorie:"
 // (aufgerufen von eintragen() aus der eintragen.js, nowcomm() )
 //
 
 function getLemma () {
   var lemma;
   lemma = wgPageName;
   return lemma;
 }
 
 //
 // Helper-Funktion extractLemma()
 // hack: nur noch für contribs
 // (aufgerufen von eintragen() aus der eintragen.js )
 //
 
 function extractLemma () { //Littl
   var lemma;
   if ((isContrib) && ( UrlParameters["target"] > "" ))
     lemma = UrlParameters["target"];
   else if ( UrlParameters["title"] > "" )
     lemma = UrlParameters["title"];
   else {
     lemma = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
     // fix linky links (?redirect=no)
     //lemma = lemma.split['\x3F'][0];
     if (lemma.indexOf("redirect=no")!=-1)
         lemma=lemma.substring(0,lemma.indexOf("redirect=no")-1);
   }
   // if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5);
   // if (lemma.substring(0, 10) == "Kategorie:") lemma=lemma.slice(10);
   if (isPHP) lemma=lemma.split('+').join('_');
   return lemma;
 }
 
 // token functions
 function generate_asuser () {
   return encodeURIComponent(wgUserName);
 }

 function validate_asuser (asuser) {
   var retval = false;
   if (encodeURIComponent(asuser) == generate_asuser() )
      retval = true;

   return retval;
 }

 function generate_astime () {
   var arbitrary_datestamp = Date.UTC(2008,10,1,0,0,0,0); // 1.11.2008
   var current_date = new Date();
   var current_timestamp = current_date.getTime();

   return ( Math.floor((current_timestamp - arbitrary_datestamp) / 1000) );
 }

 function validate_astime (astime) {
   var retval = false;
   var timediff = generate_astime() - astime;

   if ((timediff >= 0) && (timediff < 45))
      retval = true;

   return retval;
 }
 }
 // </nowiki>