734
edits
(Created page with "// References: MediaWiki:Gadget-rollback-summary.js from zhwp (https://zh.wikipedia.org/wiki/MediaWiki:Gadget-rollback-summary.js) // Reference2: MediaWiki:Revertpage from 52pokewiki (https://wiki.52poke.com/wiki/MediaWiki:Revertpage) (function rollbackSummary($, mw) { var batchConv = require('ext.gadget.HanAssist').batchConv; mw.messages.set(batchConv({ 'rollback-summary-custom': { hans: '已还原$1([[...") |
mNo edit summary |
||
Line 1: | Line 1: | ||
// References: [[ | // References: [[User:KuduIO/Rollback_summary-g.js]] from simplewp (https://simple.wikipedia.org/wiki/User:KuduIO/Rollback_summary-g.js) | ||
function addSumLink() { | |||
var rbnode = [], diffnode, index = {}, gebcn = document.getElementsByClassName | |||
? function(a, b, c) { return a.getElementsByClassName(c) } | |||
: getElementsByClassName; | |||
if (typeof rollbackLinksDisable == 'object' && rollbackLinksDisable instanceof Array) | |||
for (var i = 0; i < rollbackLinksDisable.length; i++) | |||
index[rollbackLinksDisable[i]] = true; | |||
if (!('user' in index) && wgCanonicalSpecialPageName == "Contributions" || | |||
!('recent' in index) && wgCanonicalSpecialPageName == "Recentchanges" || | |||
!('watchlist' in index) && wgCanonicalSpecialPageName == "Watchlist") | |||
rbnode = gebcn(document.getElementById("bodyContent"), "span", "mw-rollback-link"); | |||
else if (!('history' in index) && wgAction == "history") | |||
rbnode = gebcn(document.getElementById("pagehistory"), "span", "mw-rollback-link"); | |||
else if (!('diff' in index) && (diffnode = document.getElementById("mw-diff-ntitle2"))) | |||
rbnode = gebcn(diffnode, "span", "mw-rollback-link"); | |||
for (var i = 0, len = rbnode.length; i < len; i++) | |||
addRollbackSummaryLink(rbnode[i]); | |||
}; | |||
function confirmRollback() { | |||
var url = this.href; | |||
var user = url.match(/[?&]from=([^&]*)/); | |||
if (!user) return; | |||
user = decodeURIComponent(user[1].replace(/\+/g, " ")); | |||
var summary = prompt("Enter a summary to use for rollback.\n\nLeave blank to use the default. $user will be replaced with \"" + user + "\".", | |||
rollbackSummaryDefault); | |||
if (summary == undefined) | |||
return false; | |||
else if (summary == "") | |||
return true; | |||
this.href += "&summary=" + encodeURIComponent(summary.replace(/\$user/g, user)); | |||
return true; | |||
}; | |||
function addRollbackSummaryLink(rbnode) { | |||
var rblink = rbnode.getElementsByTagName("a")[0]; | |||
var alink = rblink.cloneNode(true); | |||
alink.className = ""; //don't confuse other scripts | |||
alink.firstChild.nodeValue = "sum"; | |||
alink.onclick = confirmRollback; | |||
rbnode.insertBefore(alink, rblink.nextSibling); | |||
rbnode.insertBefore(document.createTextNode(" | "), alink); | |||
}; | |||
if (typeof rollbackLinksDisable == 'undefined') | |||
rollbackLinksDisable = []; | |||
if (typeof rollbackSummaryDefault == 'undefined') | |||
rollbackSummaryDefault = ""; | |||
$(addSumLink); |