User:DerHexer/revert.js

// originally from User:DerHexer

// 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]);

}

}

if(!usersignature) var usersignature = '\~\~\~\~' //standard signature

if(!levelthreewarning) var levelthreewarning = false;

function fillActionPage() {

if (UrlParameters["diff"] > "") {

function searchRollbackLink() {

var tds = document.getElementsByTagName("td");

for (var i=0; i

var td = tds[i];

if (td.className != "diff-ntitle") continue;

var as = td.getElementsByTagName("a");

for (var j=0; j

var a = as[j];

if (!/.*action=rollback.*/.match(a.href)) continue;

var newlink = document.createElement('a');

a.setAttribute('accesskey', "s");

newlink.setAttribute('href', a.href);

var EditTextNode = document.createTextNode("normal rollback");

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) {

location.href = rolluri;

var backrolled = rolluri.split("from=")[1].split("&token=")[0];

var vandalizedpage = mw.config.get('wgPageName');

var uri = "http://en.wikipedia.org/w/index.php?title=User talk:" + backrolled + "&vandalizedpage=" + vandalizedpage + "&action=edit&spam=1";

window.setTimeout(function() { location.href = uri; }, 500);

}

var revlink = searchRollbackLink();

revlink.onclick = function() { RollAndSpam(revlink.href); return false; }

}

if ( (UrlParameters["spam"] > "") && (UrlParameters["vandalizedpage"] > "") ) {

document.editform.wpMinoredit.checked=true;

var splitted = document.forms["editform"].wpTextbox1.value.split("