// 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<tds.length; i++) {
var td = tds[i];
if (td.className != "diff-ntitle") continue;
var as = td.getElementsByTagName("a");
for (var j=0; j<as.length; 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("<!--");
var lastsplitted = splitted[splitted.length-1];
var jetzt = new Date();
var thisyear = jetzt.getFullYear().toString();
var thismonth = jetzt.getMonth()+1;
if (thismonth < 10) { thismonth = "0" + thismonth; }
var thisday = jetzt.getDate();
if (thisday < 10) { thisday = "0" + thisday; }
var thishour = jetzt.getHours();
if (thishour < 10) { thishour = "0" + thishour; }
var thisminute = jetzt.getMinutes();
if (thisminute < 10) { var thisminute2 = "0" + thisminute; } else { var thisminute2 = thisminute; }
var thissecond = jetzt.getSeconds();
if (thissecond < 10) { thissecond = "0" + thissecond; }
var thistime = thisyear + thismonth + thisday + thishour + thisminute + thissecond;
var req;
if (req = newRequest()) {
var text = '/w/api.php?format=xml&action=query&prop=revisions&titles=' + mw.config.get('wgPageName') + '&rvlimit=1&rvprop=timestamp&rvdir=older&rvstart=' + thistime;
req.open("GET", text, false);
req.send("");
var lasttimestamp = req.responseXML.getElementsByTagName("rev")[0].getAttribute('timestamp');
var lastminute = lasttimestamp.match(/([^\-]*)\-([^\-]*)\-([^T]*)T([^\:]*)\:([^\:]*)\:([^Z]*)Z/);
lastyear = RegExp.$1;
lastmonth = RegExp.$2;
lastday = RegExp.$3;
lasthour = parseInt(RegExp.$4)+1;
if (lasthour < 10) { lasthour = "0" + lasthour.toString(); } else { lasthour = lasthour.toString() }
lastminute = RegExp.$5;
lastsecond = RegExp.$6;
var lastdate = Date.parse(lastmonth + ' ' + lastday + ' ' + lastyear + ' ' + lasthour + ':' + lastminute + ':' + lastsecond);
var thisdate = Date.parse(thismonth + ' ' + thisday + ' ' + thisyear + ' ' + thishour + ':' + thisminute + ':' + thissecond);
}
var matchedtemplate = lastsplitted.match(/uw\-([^\d]*)(\d)/);
var matchedtemplatename = RegExp.$1;
var matchednumber = RegExp.$2;
var matchedtemplate2 = lastsplitted.match(/Template\:Test(\d)/);
var matchednumber2 = RegExp.$1;
if (lastsplitted.search(/Uw\-Blank(\d)/) != -1) {
var matchednumber = RegExp.$1;
var matchedtemplatename = 'vandalism';
} else if (lastsplitted.search(/Uw\-Blank[^\d]/) != -1) {
var matchednumber = 1;
var matchedtemplatename = 'vandalism';
}
if ((lastsplitted.search(/Uw\-bv/) != -1) || (lastsplitted.search(/Blatantvandal/) != -1) || (lastsplitted.search(/longterm/) != -1)) {
var matchednumber = 4;
var matchedtemplatename = 'vandalism';
}
if ((!matchedtemplatename) || (matchedtemplatename == 'cluebotwarning') || (matchedtemplatename == 'block') || (matchedtemplatename == 'huggle') || (matchedtemplatename == 'huggleblock') || (matchedtemplatename.search(/\d/) != -1)) {
var matchedtemplatename = 'vandalism';
}
if (document.forms["editform"].wpTextbox1.value == "") {
document.editform.wpSummary.value = "Caution: " + matchedtemplatename + " on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\{\{subst\:uw-" + matchedtemplatename + "2\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\}\} " + usersignature;
if(automaticwarning) { document.editform.wpSave.click();
window.setTimeout(function() { window.close(); }, 1000); }
} else {
var confirmcontinue = true;
var oldip = false;
if ((thisdate-lastdate) < 20000) {
confirmcontinue = confirm('This IP was warned less than 20 second ago. There might be an edit conflict. Do you want to continue nevertheless?');
} else if ((thisdate-lastdate) > 86400000) {
var oldip = true;
}
if (confirmcontinue && oldip) {
document.editform.wpSummary.value = "Caution: " + matchedtemplatename + " on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-" + matchedtemplatename + "2\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\}\} " + usersignature;
if(automaticwarning) { document.editform.wpSave.click();
window.setTimeout(function() { window.close(); }, 1000); }
} else if (confirmcontinue && !oldip) {
if ((matchednumber == 4) || (matchednumber2 == 4)) {
if (mw.config.get('wgTitle').match(/\d+\.\d+\.\d+\.\d+/)) {
function newRequest()
{
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
var req;
if (req = newRequest()) {
var text = "/w/api.php?format=xml&action=query&list=logevents&letype=block&letitle=User:" + mw.config.get('wgTitle');
req.open("GET", text, false);
req.send("");
var blocks = req.responseXML.getElementsByTagName("block");
if (blocks.length > 0) {
if (blocks[0].getAttribute('duration').search(/\./) == -1) {
var duration = blocks[0].getAttribute('duration');
} else {
var duration = "12 hours";
}
} else {
var duration = "12 hours";
}
}
if (duration.search(/(\d+) (\w+)/) != -1) {
var newblockdurationnumber = 2 * RegExp.$1;
var lastblockdurationname = RegExp.$2;
if (lastblockdurationname.search(/s\b/) != -1) {
var newblockdurationname = lastblockdurationname;
} else {
var newblockdurationname = lastblockdurationname + "s";
}
var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Block/" + mw.config.get('wgTitle') + "&blockduration=" + newblockdurationnumber + "%20" + newblockdurationname + "&blockreason=vandalism";
} else {
var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Block/" + mw.config.get('wgTitle');
}
} else {
var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Block/" + mw.config.get('wgTitle') + "&blockduration=infinite&blockreason=vandalism-only%20account";
}
if(automaticwarning) { window.setTimeout(function() { location.href = blockurl; }, 1000); }
} else {
document.editform.wpSummary.value = "Final warning: " + matchedtemplatename + " on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]";
document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-" + matchedtemplatename + "4\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\}\} " + usersignature;
if(automaticwarning) { document.editform.wpSave.click();
window.setTimeout(function() { window.close(); }, 1000); }
}
}
}
}
if (UrlParameters["addtemplate"] > '') {
document.editform.wpMinoredit.checked=true;
if (UrlParameters["addtemplate"] == 1) {
document.editform.wpSummary.value = "You have been temporarily blocked.";
document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-block1\|time=" + UrlParameters["blockduration"] + "\|reason\=vandalism\|subst\=subst\:\}\}";
} else if (UrlParameters["addtemplate"] == 2) {
document.editform.wpSummary.value = "\{\{indefblockeduser\}\}";
document.forms["editform"].wpTextbox1.value = "\{\{indefblockeduser\}\}";
}
document.editform.wpSave.click();
window.setTimeout(function() { window.close(); }, 1000);
}
}
if ( (UrlParameters["blockreason"] > "") || (UrlParameters["diff"] > "") || ( (UrlParameters["spam"] > "") && (UrlParameters["vandalizedpage"] > "") ) || (UrlParameters["addtemplate"] > '') ) {
addOnloadHook(fillActionPageRevert);
}