User:Stwalkerster/rollback.js

// this script is taken from derhexer's rollback script, but modified for non-admins with TW. //please don't use this script yet, as it is a work in progress // 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 = '\~\~\~\~'        //Standardsignatur function fillActionPageRevert { if (UrlParameters["blockreason"] > "") { document.forms["blockip"].wpBlockReason.value = UrlParameters["blockreason"]; var isBlocked = UrlParameters["title"].replace(/Special:Blockip\//, ''); if (UrlParameters["blockduration"] == 'infinite') { var blockduration = prompt('Duration of block for ' + isBlocked + '?','infinite'); if (blockduration) { document.forms["blockip"].wpBlockOther.value = blockduration; var newurl = "http://en.wikipedia.org/w/index.php?title=User:" + isBlocked + "&action=edit&addtemplate=2"; window.setTimeout(function { document.forms["blockip"].wpBlock.click; }, 100); window.setTimeout(function { location.href = newurl; }, 1000); }    } else { var blockduration = prompt('Duration of block for ' + isBlocked + '?','24 hours'); if (blockduration) { document.forms["blockip"].wpBlockOther.value = blockduration; var newurl = "http://en.wikipedia.org/w/index.php?title=User_talk:" + isBlocked + "&action=edit&addtemplate=1&blockduration=" + blockduration; window.setTimeout(function { document.forms["blockip"].wpBlock.click; }, 100); 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 = 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; if (document.forms["editform"].wpTextbox1.value == "") { document.editform.wpSummary.value = "General note: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]"; document.forms["editform"].wpTextbox1.value = "\{\{subst\:uw-vandalism1\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature; document.editform.wpSave.click; window.setTimeout(function { window.close; }, 1000); } else { var now = new Date; var actual_time = now.getTime; var splitted = document.forms["editform"].wpTextbox1.value.split("<!--"); var last_time = splitted[splitted.length-1].match(/([\:\d]+)\, (\d+) ([^\d]+) (\d+)/); var last_timestamp = Date.parse(RegExp.$2 + " " + RegExp.$3 + " " + RegExp.$4 + " " + RegExp.$1 + ":00 GMT"); var difftime = last_timestamp + 86400000 - actual_time; if (difftime < 0) { document.editform.wpSummary.value = "General note: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]"; document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism1\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature; document.editform.wpSave.click; window.setTimeout(function { window.close; }, 1000); } else { if ((splitted[splitted.length-1].search(/uw\-[^\d]*(\d)/) != -1) || (splitted[splitted.length-1].search(/Template\:Test/) != -1)) { var matchedtemplate = splitted[splitted.length-1].match(/uw\-[^\d]*(\d)/); var matchednumber = RegExp.$1; var matchedtemplate2 = splitted[splitted.length-1].match(/Template\:Test(\d)/); var matchednumber2 = RegExp.$1; if ((matchednumber == 4) || (matchednumber2 == 4)) { if (wgTitle.match(/\d+\.\d+\.\d+\.\d+/)) { var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Blockip/" + wgTitle + "&blockreason=vandalism"; } else { var blockurl = "http://en.wikipedia.org/w/index.php?title=Special:Blockip/" + wgTitle + "&blockduration=infinite&blockreason=vandalism"; }              window.setTimeout(function { location.href = blockurl; }, 1000); } else if ((matchednumber == 3) || (matchednumber2 == 3)) { document.editform.wpSummary.value = "Final warning: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]"; document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism4\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature; document.editform.wpSave.click; window.setTimeout(function { window.close; }, 1000); } else { document.editform.wpSummary.value = "Warning: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]"; document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism3\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature; document.editform.wpSave.click; window.setTimeout(function { window.close; }, 1000); }          } else { document.editform.wpSummary.value = "General note: Vandalism on \[\[" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\]\]"; document.forms["editform"].wpTextbox1.value = document.forms["editform"].wpTextbox1.value + "\n\n\{\{subst\:uw-vandalism1\|" + UrlParameters["vandalizedpage"].replace(/\_/g, ' ') + "\|subst\=subst\:\}\} " + usersignature; 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\:\|sig\=y\}\}"; } 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); }