User:User92259453/global.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
// Provides several useful functions for rollback (custom edit summary, mark as bot edits and mass revert)
// by [[m:user:Hoo man]] <http://meta.wikimedia.org/wiki/User:Hoo_man/Scripts/Smart_rollback>
mw.loader.using('mediawiki.util', function () {
$(function ($) {
var Texts = {
Annul : 'Annuler',
Revert : 'Révoquer)',
Message : 'Message',
Warn : 'Avertir',
MessageAlert : 'Quel message faut-il laisser ?',
AnnulResume : 'Annulation des modifications de [[Special:Contributions/$2|$2]] (retour à la version précédente de [[Special:Contributions/$1|$1]])',
RevertResume : 'Révocation des modifications de [[Special:Contributions/$2|$2]] (retour à la version précédente de [[Special:Contributions/$1|$1]])',
};
var Warns = [
{text: 'Test1', template: '{{subst:Test 1|$page}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'Test2', template: '{{subst:Test 2}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'Test3', template: '{{subst:Test 3}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'Test4', template: '{{subst:Seul avertissement}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'Lien externe', template: '{{subst:Bienvenue spammeur|$page}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'Faut sourcer', template: '{{subst:Faut sourcer|$page}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'Bienvenue', template: '{{Bienvenue nouveau|sign=[[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)}}'},
{text: 'BienvenueIP', template: '{{subst:Bienvenue IP}} [[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)'},
{text: 'MerciIP', template: '{{Bienvenue IP méritante|sign=[[User:Jean-Mahmood|Jean-Mahmood]] ([[User talk:Jean-Mahmood|talk]]) 22:53, 29 May 2021 (UTC)}}'},
];
function isDiffPage() {
// paramètre présent, même sans valeur ("?diff")
return /[?&]diff(=|&|$)/.test(window.location.search);
}
function processAnnulOrRevert(oldid, action, user1, user2, withMessage) {
var params = {
action: 'edit',
oldid: oldid,
revertdiff_action: action,
revertdiff_user1: user1,
revertdiff_user2: user2,
};
if (withMessage) {
var message = prompt(Texts.MessageAlert);
if (message) {
params.revertdiff_message = message;
} else {
return;
}
}
window.location = mw.util.getUrl(null, params);
}
function submitOldRevision(summaryTemplate) {
var summary = summaryTemplate
.split('$1').join(mw.util.getParamValue('revertdiff_user1'))
.split('$2').join(mw.util.getParamValue('revertdiff_user2'));
var message = mw.util.getParamValue('revertdiff_message');
if (message) {
summary += String.fromCharCode(0xA0) + ': ' + message;
}
var summaryEl = document.getElementById('wpSummary');
// only possible if using standard editor
if(summaryEl) {
summaryEl.value = summary;
}
var editform = document.getElementById('editform');
if(editform)editform.submit();
}
if (isDiffPage()) {
// Get username of submitter
var $user1TD = $('td.diff-otitle');
var $user2TD = $('td.diff-ntitle');
if (!$user1TD.length || !$user2TD.length) return;
// Récupération du oldid de la version à rétablir
var chemin = $user1TD.find('span.mw-diff-edit a').attr('href');
var oldid = mw.util.getParamValue('oldid', chemin);
var user1 = $user1TD.find('a.mw-userlink').text();
var user2 = $user2TD.find('a.mw-userlink').text();
var $linkAnnulDirect = $('<a>')
.attr('href', '#')
.text(Texts.Annul)
.click(function (e) {
e.preventDefault();
processAnnulOrRevert(oldid, 'annul', user1, user2, false);
});
var $linkAnnulMessage = $('<a>')
.attr('href', '#')
.text(Texts.Message)
.click(function (e) {
e.preventDefault();
processAnnulOrRevert(oldid, 'annul', user1, user2, true);
});
var $linkRevertDirect = $('<a>')
.attr('href', '#')
.text(Texts.Revert)
.click(function (e) {
e.preventDefault();
processAnnulOrRevert(oldid, 'revert', user1, user2, false);
});
var $linkRevertMessage = $('<a>')
.attr('href', '#')
.text(Texts.Message)
.click(function (e) {
e.preventDefault();
processAnnulOrRevert(oldid, 'revert', user1, user2, true);
});
var $links = $('<span>');
$links.append('(', $linkAnnulDirect, ' / ', $linkAnnulMessage, ') (', $linkRevertDirect, ' / ', $linkRevertMessage, ')');
$links.append(' (' + Texts.Warn + ' : ');
Warns.forEach(function (Warn, index) {
if (index !== 0) {
$links.append(' / ');
}
var href = mw.util.getUrl('User_talk:' + user2, {
action: 'edit',
section: 'new',
revertdiff_action: 'warn',
revertdiff_warn: index,
revertdiff_src: mw.config.get('wgPageName'),
});
var $linkWarn = $('<a>')
.attr('href', href)
.attr('title', Warn.template)
.text(Warn.text);
$links.append($linkWarn);
});
$links.append(')');
$('#contentSub').append($links);
} else {
var action = mw.util.getParamValue('revertdiff_action');
if (action) {
if (action === 'annul') {
submitOldRevision(Texts.AnnulResume);
} else if (action === 'revert') {
submitOldRevision(Texts.RevertResume);
} else if (action === 'warn') {
var warnIndex = mw.util.getParamValue('revertdiff_warn');
if (warnIndex && Warns[warnIndex]) {
var Template = Warns[warnIndex].template;
Template = Template.split('$page').join(mw.util.getParamValue('revertdiff_src').replace(/_/g, ' '));
Template = Template.split('$user').join(mw.config.get('wgUserName'));
var tb = document.getElementById('wpTextbox1');
var editform = document.getElementById('editform');
if(tb)tb.value = Template;
if(editform) editform.submit();
}
}
}
}
});
});
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Xiplus/TwinkleGlobal.js&action=raw&ctype=text/javascript');
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/smart_rollback.js&action=raw&ctype=text/javascript');