User:Infinite0694/Mass blockIP tool.js

// Mass block tool by User:Krimpet // Navigate to Special:Massblock to use the tool.

function getParameter(p) { var re = new RegExp('&'+p+'=([^&]*)','i'); var c = window.location.search; return unescape((c=c.replace(/^\?/,'&').match(re)) ?c=c[1] :c=""); }

function massblock { if (wgPageName == "特別:MassblockIP") { document.title = "Krimpet's mass block tool"; document.getElementById("content").innerHTML = "Krimpet's mass block tool " +"MESS SOMETHING UP WITH THIS, AND YOU TAKE THE BLAME, BUCKO.

List of IPs to block, "					+"one on each line please: 

"					+"Expiry:  Reason:  "					+" Anon only  "					+"Prevent account creation

Blocks/min:  Block IPs Abort  "					+"    <iframe name=\"blockframe5\" width=\"1px\" height=\"1px\"> ";	}	else if (document.location.search.match("__MASSBLOCK__")) {		document.getElementById("wpAnonOnly").checked = getParameter("ao") == "1";		document.getElementById("wpCreateAccount").checked = getParameter("acb") == "1";		document.getElementById("mw-bi-other").value = getParameter("expiry").replace("+"," ","g");		document.getElementById("mw-bi-reason").value = getParameter("reason").replace("+"," ","g");		setTimeout("document.getElementById(\"blockip\").submit", 500); } }

var wgBlocksToDo; var wgBlocksToDoIndex; var wgBlocksToDoInterval = 0; var wgBlockFrame; function massblock2 { if (!parseFloat(document.getElementById("epm").value)) return; wgBlocksToDo = new Array;

iplist = document.getElementById("iplist").value.split("\n"); for (i=0;i<iplist.length;i++) { wgBlocksToDo[i] = iplist[i].split(":")[0]; }

mbcode = "massblock3(wgBlocksToDo[wgBlocksToDoIndex++]);if (wgBlocksToDoIndex >= wgBlocksToDo.length) massblock4;";

wgBlocksToDoIndex = wgBlockFrame = 0; eval(mbcode); wgBlocksToDoInterval = setInterval(mbcode, (60 / parseFloat(document.getElementById("epm").value)) * 1000); } function massblock3(ipToBlock) { if (ipToBlock + "" == "undefined") return;

iplistobj = document.getElementById("iplist"); if (iplistobj.value.indexOf("\n") == -1) iplistobj.value = ""; iplistobj.value = iplistobj.value.substring(iplistobj.value.indexOf("\n") + 1);

if (ipToBlock == "") return;

frames["blockframe" + wgBlockFrame++].location.href = wgServer + wgScript + "?title=Special:Block&wpBlockAddress=" + ipToBlock + "&__MASSBLOCK__=1&wpBlockOther=" + document.getElementById("expiry").value + "&wpBlockReason=" + document.getElementById("reason").value + "&wpAnonOnly=" + (document.getElementById("ao").checked ? "1" : "0") + "&wpCreateAccount=" + (document.getElementById("acb").checked ? "1" : "0"); if (wgBlockFrame == 6) wgBlockFrame = 0; } function massblock4 { clearInterval(wgBlocksToDoInterval); }

addOnloadHook(massblock);