/ Prompt for an edit summary when clicking a rollback link
addOnloadHook(function () {
var serverRe = wgServer.replace(/([^A-Za-z0-9_])/g, "\\$1");
var scriptRe = wgScript.replace(/([^A-Za-z0-9_])/g, "\\$1");
var rollbackRe = new RegExp ("^(" + serverRe + ")?" + scriptRe + "\\?([^#]*&)?action=rollback(&|$)");
var promptSummary = function () {
var summary = prompt("Enter rollback summary (or leave as \"default\" to use default summary):", "default");
if (summary == null || summary == "") return false;
if (summary == "default") return true;
this.href = this.href.replace("?", "?summary=" + encodeURIComponent(summary) + "&");
return true;
};
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (rollbackRe.test(links[i].href)) links[i].onclick = promptSummary;
}
});
//Mass rollback function
//Written by John254
//Adapted from User:Mr.Z-man/rollbackSummary.js
//Instructions: Selecting the "rollback all" tab when viewing a user's contributions history
//will open all rollback links displayed there. (Use with caution)
function rollbackEverythingButton() {
var hasRollback = getElementsByClassName(document, "span", "mw-rollback-link");
if (hasRollback[0] && (document.title.indexOf("User contributions") != -1) ) {
mw.util.addPortletLink('p-cactions', 'javascript:rollbackEverything()', "rollback all", "ca-rollbackeverything", "rollback all edits displayed here");
}
}
addOnloadHook(rollbackEverythingButton);
function rollbackEverything() {
for (var i in document.links) {
if (document.links[i].href.indexOf('action=rollback') != -1) {
window.open(document.links[i].href);
}
}
}