User:Psl631/common.js: Difference between revisions
Content added Content deleted
No edit summary |
(replace nonworking script) |
||
Line 1: | Line 1: | ||
importScript('User:Psl631/block.js'); |
importScript('User:Psl631/block.js'); |
||
// For description, see [[User:Mr.Z-man/rollbackSummary]] |
|||
/** |
|||
// This script copied from [[User:Mr.Z-man/rollbackSummary.js]] for replacement of deprecated functions; nearly all credit goes to Mr.Z-man |
|||
* This script lets you use a custom summary with the rollback feature |
|||
* by adding a "sum" link wherever a rollback link appears. When you |
|||
* click "sum" you are prompted for a custom summary, and the script |
|||
* adds an additional summary parameter to the rollback URL submitting it. |
|||
* |
|||
* For usage and extra options, see the talk page. |
|||
*/ |
|||
$.when( mw.loader.using('mediawiki.util'), $.ready).then(function(){ |
|||
function addSumLink() { |
|||
if ($(".mw-rollback-link").length > 0) { |
|||
var rbnode = [], diffnode, index = {}, gebcn = document.getElementsByClassName |
|||
var link = mw.util.addPortletLink('p-cactions', '', "rollback summary", "ca-rollbacksummary", "Set rollback link edit summary"); |
|||
? function(a, b, c) { return a.getElementsByClassName(c) } |
|||
$(link).find('a').click( setRollbackSummary ); |
|||
: getElementsByClassName; |
|||
}}); |
|||
if (typeof rollbackLinksDisable == 'object' && rollbackLinksDisable instanceof Array) |
|||
function setRollbackSummary(event) { |
|||
for (var i = 0; i < rollbackLinksDisable.length; i++) |
|||
event.preventDefault(); |
|||
index[rollbackLinksDisable[i]] = true; |
|||
var i; |
|||
if (!('user' in index) && mw.config.get("wgCanonicalSpecialPageName") == "Contributions" || |
|||
var summary = prompt("Enter a custom roll-back edit summary:", ""); |
|||
!('recent' in index) && mw.config.get("wgCanonicalSpecialPageName") == "Recentchanges" || |
|||
⚫ | |||
!('watchlist' in index) && mw.config.get("wgCanonicalSpecialPageName") == "Watchlist") |
|||
for (i in document.links) { |
|||
rbnode = gebcn(document.getElementById("bodyContent"), "span", "mw-rollback-link"); |
|||
if (document.links[i].href.indexOf('summary=') != -1) { |
|||
else if (!('history' in index) && mw.config.get("wgAction") == "history") |
|||
document.links[i].href = document.links[i].href.substring(0, document.links[i].href.indexOf('summary=')-1); |
|||
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++) |
|||
else { |
|||
addRollbackSummaryLink(rbnode[i]); |
|||
⚫ | |||
for ( i in document.links) { |
|||
if (document.links[i].href.indexOf('action=rollback') != -1) { |
|||
document.links[i].href += summary; |
|||
} |
|||
} |
|||
} |
|||
} |
} |
||
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 custom summary here, and click OK or press enter to roll back the edits.\n\nLeave the field blank to use default summary. $user will be replaced with \"" + user + "\".", |
|||
rollbackSummaryDefault); |
|||
if (summary == undefined) |
|||
return false; |
|||
⚫ | |||
return true; |
|||
⚫ | |||
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); |
Revision as of 16:38, 10 August 2018
importScript('User:Psl631/block.js');
// For description, see [[User:Mr.Z-man/rollbackSummary]]
// This script copied from [[User:Mr.Z-man/rollbackSummary.js]] for replacement of deprecated functions; nearly all credit goes to Mr.Z-man
$.when( mw.loader.using('mediawiki.util'), $.ready).then(function(){
if ($(".mw-rollback-link").length > 0) {
var link = mw.util.addPortletLink('p-cactions', '', "rollback summary", "ca-rollbacksummary", "Set rollback link edit summary");
$(link).find('a').click( setRollbackSummary );
}});
function setRollbackSummary(event) {
event.preventDefault();
var i;
var summary = prompt("Enter a custom roll-back edit summary:", "");
if (!summary) {
for (i in document.links) {
if (document.links[i].href.indexOf('summary=') != -1) {
document.links[i].href = document.links[i].href.substring(0, document.links[i].href.indexOf('summary=')-1);
}
}
}
else {
summary = "&summary=" + encodeURIComponent(summary);
for ( i in document.links) {
if (document.links[i].href.indexOf('action=rollback') != -1) {
document.links[i].href += summary;
}
}
}
}