User:John Jacob Jingleheimer Schmidt/vector.js

function botrollback { var rollbacklinks = getElementsByClassName(document.getElementById('bodyContent'),"*","mw-rollback-link"); var botrblinks = new Array; for (var j = 0; j< rollbacklinks.length; j++) { var rbbs = document.createElement('span'); var rba = rollbacklinks[j].getElementsByTagName('a')[0]; var rbba = document.createElement('a'); rbba.innerHTML = "bot rollback"; rbba.href = rba.href + '&bot=1'; if ( rollbacklinks[j].innerHTML[0] == "[" ) rbbs.appendChild(document.createTextNode("[")); rbbs.appendChild(rbba); if ( rollbacklinks[j].innerHTML[rollbacklinks[j].innerHTML.length-1] == "]" ) rbbs.appendChild(document.createTextNode("]")); if (rollbacklinks[j].nextSibling == undefined) { rollbacklinks[j].parentNode.appendChild(document.createTextNode(" ")); rollbacklinks[j].parentNode.appendChild(rbbs); } else { rollbacklinks[j].parentNode.insertBefore(rbbs,rollbacklinks[j].nextSibling); rollbacklinks[j].parentNode.insertBefore(document.createTextNode(rbbs.nextSibling.textContent),rbbs); }     botrblinks.push(rbbs); } for (var j = 0; j< botrblinks.length; j++) { botrblinks[j].className = "mw-rollback-link"; } }

addOnloadHook(botrollback);

function gettoken_api { var api = sajax_init_object; api.open('GET', wgServer + wgScriptPath + '/api.php?format=json&action=query&prop=info&indexpageids=1&intoken=edit&titles=Whatever', false); api.send(null); if(api.status==200) { var response = eval('(' + api.responseText + ')'); var token = response['query']['pages'][response['query']['pageids'][0]]['edittoken']; } else { alert('The token query returned an error.'); } return token; }

function hotban(target) { var req = sajax_init_object; req.open('POST', wgServer + wgScriptPath + '/index.php?title=Special:Block&action=submit&wpBlockAddress=' + encodeURIComponent(target) + '&wpBlockExpiry=3%20seconds&wpAnonOnly=0&wpEnableAutoblock=0&wpCreateAccount=0&wpBlockReasonList=other&wpBlockReason=Quick-banning%20(using%20HotBan)&wpEditToken=' + encodeURIComponent(gettoken_api), true); req.onreadystatechange = function { if(req.readyState==4) { if(req.status==200) { /*alert('B&');*/ } else { alert('Oh noes! ' + req.responseText); }   }  };  req.send(null); } function qbonc(stuff,target, func) { stuff.onclick = function {func(target);} } function setuphotban { var anchors = document.getElementsByTagName('a'); for ( i in anchors ) { if (anchors[i].title != undefined && anchors[i].title.indexOf("Special:Block/") != -1) { target = anchors[i].title.substring(14,anchors[i].title.length); var qba = document.createElement('a'); qba.innerHTML = "HotBan®"; qba.style.cursor = "not-allowed"; qbonc(qba,target,hotban); if (anchors[i].nextSibling == undefined) { anchors[i].parentNode.appendChild(document.createTextNode(" ")); anchors[i].parentNode.appendChild(qba); } else { anchors[i].parentNode.insertBefore(qba,anchors[i].nextSibling); anchors[i].parentNode.insertBefore(document.createTextNode(" "),qba); }   }  } } //addOnloadHook(setuphotban);

function hotvandal(target) {	var req = sajax_init_object; var params = "action=submit&wpVandAddress=" + encodeURIComponent(target) + "&wpAnonOnly=0&wpEnableAutoblock=1&wpCreateAccount=1&wpVandReasonList=other&wpVandReason=Quick-kicking%20for%20Unfunny%20Wandalism&wpEditToken=" + encodeURIComponent(gettoken_api); req.open("POST", wgServer + wgScriptPath + "/index.php?title=Special:VandalBrake", true); req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); req.setRequestHeader("Content-length", params.length);

req.onreadystatechange = function {		if(req.readyState==4) {			if(200 == req.status) {				alert("Vandalised!"); } 			else {				alert('Oh noes! ' + req.responseText); }			}		};

var orly = confirm("Do you really want to vandal bin " + target + "?"); if (orly) {		req.send(params); }	}

function init_hotvandal {	var anchors = document.getElementsByTagName("a"); for (i in anchors) {		if (anchors[i].title != undefined && anchors[i].title.indexOf("Special:Block/") != -1) {			target = anchors[i].title.substring(14,anchors[i].title.length); var qba = document.createElement('a'); qba.innerHTML = "HotVandal®"; qba.style.cursor = "not-allowed"; qbonc(qba,target,hotvandal); if (anchors[i].nextSibling == undefined) {				anchors[i].parentNode.appendChild(document.createTextNode(" ")); anchors[i].parentNode.appendChild(qba) } 			else {				anchors[i].parentNode.insertBefore(qba,anchors[i].nextSibling); anchors[i].parentNode.insertBefore(document.createTextNode(" "),qba); }			}		}	}

addOnloadHook(init_hotvandal);