User:DerHexer/rollback.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(!automaticblock) var automaticblock=false;
if(!automaticwarning) var automaticwarning=false;
function fillActionPageRevert() {
if (UrlParameters["blockreason"] > "" && UrlParameters["blockduration"] > "") {
document.forms["blockip"].wpBlockReason.value = UrlParameters["blockreason"];
document.forms["blockip"].wpBlockOther.value = UrlParameters["blockduration"];
var blocktime = UrlParameters["blockduration"];
var isBlocked = UrlParameters["title"].replace(/Special:Block\//, '');
if (isBlocked.search(/\d+\.\d+\.\d+\.\d+/) == -1) {
if (prompt('Are you sure to block, ' + isBlocked + ' ?','ja')) {
var newurl = "http://en.wikipedia.org/w/index.php?title=User:" + isBlocked + "&action=edit&addtemplate=2";
if(automaticblock) { window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 100); }
}
} else {
var newurl = "http://en.wikipedia.org/w/index.php?title=User_talk:" + isBlocked + "&action=edit&addtemplate=1&blockduration=" + blocktime;
if(automaticblock) { window.setTimeout(function() { document.forms["blockip"].wpBlock.click(); }, 100);}
}
if(automaticblock) { if ((UrlParameters["blockduration"] != 'infinite') || (isBlocked.search(/\d+\.\d+\.\d+\.\d+/) == -1)) { window.setTimeout(function() { location.href = newurl; }, 1000); } }
}
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.*/(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("