ব্যবহারকারী:ARI/common.js: সংশোধিত সংস্করণের মধ্যে পার্থক্য
সম্পাদনা সারাংশ নেই |
সম্পাদনা সারাংশ নেই |
||
| ১ নং লাইন: | ১ নং লাইন: | ||
// Mass Rollback Tool | |||
mw.notify(' | $(function() { | ||
// Only run on Special:Contributions pages | |||
if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') return; | |||
// Add mass rollback button | |||
var $button = $('<button>') | |||
.text('Mass Rollback All') | |||
.css({ | |||
'margin': '10px', | |||
'padding': '10px 20px', | |||
'background': '#d33', | |||
'color': 'white', | |||
'border': 'none', | |||
'cursor': 'pointer', | |||
'font-weight': 'bold' | |||
}) | |||
.click(function() { | |||
if (!confirm('Are you sure you want to rollback ALL visible edits?')) return; | |||
var $rollbackLinks = $('.mw-rollback-link a'); | |||
var total = $rollbackLinks.length; | |||
var done = 0; | |||
if (total === 0) { | |||
alert('No rollback links found!'); | |||
return; | |||
} | |||
mw.notify('Starting mass rollback of ' + total + ' edits...'); | |||
$rollbackLinks.each(function(i) { | |||
var link = this; | |||
setTimeout(function() { | |||
$.get(link.href).done(function() { | |||
done++; | |||
mw.notify('Rolled back ' + done + '/' + total); | |||
if (done === total) { | |||
mw.notify('Mass rollback complete! Refreshing...', {type: 'success'}); | |||
setTimeout(function() { location.reload(); }, 2000); | |||
} | |||
}).fail(function() { | |||
mw.notify('Error rolling back edit ' + (i+1), {type: 'error'}); | |||
}); | |||
}, i * 1000); // 1 second delay between each rollback | |||
}); | |||
}); | |||
// Add button to the page | |||
$('#mw-content-text').prepend($button); | |||
}); | |||