User:Porchcorpter/rollbackSum.js

// Created by Ilmari Karonen

// Credits: Porchcrop for some minor improvements. Information shown at User:Porchcrop/Rollback Summary

$(function () {

var serverRe = mw.config.get('wgServer').replace(/([^A-Za-z0-9_])/g, "\\$1");

var scriptRe = mw.config.get('wgScript').replace(/([^A-Za-z0-9_])/g, "\\$1");

var rollbackRe = new RegExp ("^(" + serverRe + ")?" + scriptRe + "\\?([^#]*&)?action=rollback(&|$)");

var promptSummary = function () {

var summary = prompt("Enter summary for rollback (or leave as current to use default summary):", "Reverted edits by $2 (talk) to last version by $1");

if (summary == null || summary == "") return false;

if (summary == "Reverted edits by $2 (talk) to last version by $1") return true;

this.href = this.href.replace("?", "?summary=" + encodeURIComponent(summary) + "&");

};

var links = document.getElementsByTagName("a");

for (var i = 0; i < links.length; i++) {

if (rollbackRe.test(links[i].href)) links[i].onclick = promptSummary;

}

});