Benutzer:DerHexer/logblock.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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
 // Dient dem schnellen Sperren
 // Ursprünglich von [[Benutzer:DerHexer]]
 // <nowiki>
 
 // token functions
 function generate_asuser () {
   return encodeURIComponent(mw.config.get("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;
 }
 
 var speichernpa = "&asuser=" + generate_asuser() + "&astime=" + generate_astime();
 
 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]);
  }
 }
 
 function addNewUserLogBlock() {
	if ( (UrlParameters["limit"] < 51) ) {
		var as = document.body.getElementsByTagName("ul")[1].getElementsByTagName("a");
                var req3;
                if (req3 = newRequest()) {
                  var text3 = "/w/api.php?format=xml&action=query&meta=allmessages&ammessages=blocklink";
                  req3.open("GET", text3, false);
                  req3.send("");
 
                  var blockname = req3.responseXML.getElementsByTagName("message")[0].childNodes[0].nodeValue;
                }
		for (i=0; i < as.length; i++) {
			if (as[i].childNodes[0].nodeValue == blockname) {
				var newlink = document.createElement('a');
				newlink.setAttribute('href', '/w/index.php?title=Special:BlockIP/' + as[i].title.replace(/[\w\W]*\//, '').replace(/(\?|\&).+\=.*/,'') + '&logblockreason=abcxyz&logblockduration=infinite&donewlogblock=1'+speichernpa); 
				var EditTextNode = document.createTextNode("Schnellsperren");
				newlink.appendChild(EditTextNode);
				as[i].parentNode.insertBefore( newlink, as[i].nextSibling );
				as[i].parentNode.insertBefore( document.createTextNode(' | '), as[i].nextSibling );
			}
		}
	}
 }

 if ( (UrlParameters["type"] == 'newusers') || (location.href.substring(location.href.indexOf("/wiki/")).search(/newusers/) != -1) )
	$(addNewUserLogBlock);
 
 function logblock() {
   var usertoblock = UrlParameters["title"].replace(/.*\//, '');
   if(UrlParameters["donewlogblock"]) {
     var req4;
     if (req4 = newRequest()) {
       var text4 = "/w/api.php?format=xml&action=query&meta=siteinfo&siprop=namespaces";
       req4.open("GET", text4, false);
       req4.send("");
 
       var logusername = req4.responseXML.getElementsByTagName("ns");
       for(i=0;i<logusername.length;i++) {
         if(logusername[i].getAttribute('id')=='2') nameusername = logusername[i].childNodes[0].nodeValue;
       }
     }
     var req;
     if (req = newRequest()) {
       var text = "/w/api.php?format=xml&action=query&list=logevents&letype=newusers&letitle=" + nameusername + ':' + usertoblock;
       req.open("GET", text, false);
       req.send("");
 
       var users = req.responseXML.getElementsByTagName("item");
       var req2;
       if (req2 = newRequest()) {
         if (users[users.length-1].getAttribute('action') == 'create2') {
           var text2 = "/w/api.php?format=xml&action=query&list=logevents&letype=newusers&leuser=" + users[users.length-1].getAttribute('user');
         } else {
           var text2 = "/w/api.php?format=xml&action=query&list=logevents&letype=newusers&leuser=" + usertoblock.replace(/\_/g,' ');
         }
         req2.open("GET", text2, false);
         req2.send("");
 
         var users2 = req2.responseXML.getElementsByTagName("item");
         for(i=0;i<users2.length;i++) {
           if ( users2[i].getAttribute('title').replace(/.*\:/,'') != usertoblock.replace(/\_/g,' ')) {
             var uri = "/w/index.php?title=Special:BlockIP/" + users2[i].getAttribute('title').replace(/.*\:/,'') + "&logblockreason=abcxyz&logblockduration=infinite"+speichernpa;
             window.open(uri);
           }
         }
       }
     }
   }
   if (mw.config.get("wgUserName")=='DerHexer') { document.getElementById('mw-input-wpReason-other').value = "vandalism"; } else { document.getElementById('mw-input-wpReason-other').value = "[[Hilfe:Anmelden#Hinweise_zur_Wahl_des_Benutzernamens|Ungeeigneter Benutzername]]"; }
   document.getElementById('mw-input-wpDisableEmail').checked=true;
   document.getElementById('mw-input-wpDisableUTEdit').checked=false;
   document.getElementById('mw-input-wpExpiry-other').value = 'infinite';
   if (!document.getElementsByTagName('h2')[0] || (document.getElementsByTagName('h2')[0] && document.getElementsByTagName('h2')[0].innerHTML.search(/Sperre.vorhanden/)==-1)) {
     if (validate_asuser (UrlParameters["asuser"])) {
       if (validate_astime (UrlParameters["astime"]))
          document.getElementsByClassName('mw-htmlform-submit')[0].click();
       else alert("Token zur automatischen Speicherung ist abgelaufen.");
     }
   }

 }

 if ((UrlParameters["logblockreason"] = "abcxyz") && (UrlParameters["logblockduration"])) $(logblock);

 // </nowiki>