User:Gooniepunk/vector.js
Jump to navigation
Jump to search
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
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);